Commit graph

63 commits

Author SHA1 Message Date
Nathan Sobo
fdfed3d7db Move all crates to a top-level crates folder
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-04 13:22:21 -06:00
Nathan Sobo
c236b0828c Extract worktree, rpc_client, and util crates
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-04 13:07:35 -06:00
Antonio Scandurra
becae9feee Pull out buffer into its own crate 2021-10-04 16:50:12 +02:00
Antonio Scandurra
034aed053c Extract a clock subcrate for logical clocks 2021-10-04 14:34:02 +02:00
Nathan Sobo
74a47a1384 Extract fuzzy module to its own crate
We still have a fuzzy module in the zed crate with some app-specific logic.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-01 17:08:19 -06:00
Nathan Sobo
cf270b4dff Extract sum_tree to its own crate
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-01 15:55:21 -06:00
Nathan Sobo
1719d7da2a Suppress SVG loading errors in tests 2021-09-19 17:34:04 -07:00
Nathan Sobo
95ef70e4f4 Switch to new resolution system in ThemeRegistry
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-15 12:56:20 -06:00
Nathan Sobo
7d59b2d861 Log panics when not attached to a pty
Hopefully this will give us better forensics if we panic in production.
2021-09-15 04:51:22 -06:00
Antonio Scandurra
603f1d820d Authenticate via the browser if keychain credentials are invalid
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-15 11:45:08 +02:00
Nathan Sobo
4a9918979e WIP: Clear cached credentials if authentication fails
Still need to actually handle an HTTP response from the server indicating there was an invalid token.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-14 19:19:11 -06:00
Antonio Scandurra
96ade8668f Start on image rendering 2021-09-14 16:48:44 +02:00
Antonio Scandurra
00f6bdcb24 Bundle and use Inconsolata v2.012
There's a newer version of the font available but ligatures seem
broken googlefonts/Inconsolata#58 and googlefonts/Inconsolata#52.

As part of this commit I also upgraded rust-embed to use the new
exclusion feature, which allows us to skip embedding OS files like
`.DS_Store`.
2021-09-04 17:02:20 +02:00
Antonio Scandurra
f59e02cf25 Use macOS API to retrieve the local timezone
The `time` crate currently doesn't have a reliable way to get that.
In the future, `NSSystemTimeZoneDidChangeNotification` could be
used to keep the cached timezone up-to-date.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-09-02 19:15:05 +02:00
Max Brunsfeld
8c85bc20c7 Indicate the key-path to the error when failing to load a theme 2021-08-26 15:06:05 -07:00
Max Brunsfeld
b923f65a63 WIP 2021-08-25 15:22:14 -07:00
Max Brunsfeld
8179f90589 Add initial unit test for channel list
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-24 13:12:02 -07:00
Nathan Sobo
c3dda14490 WIP: Move sum_tree module into gpui so we can use it in List 2021-08-20 16:18:39 -06:00
Max Brunsfeld
92353b6967 Start work on allowing variables in themes 2021-07-30 17:28:22 -07:00
Antonio Scandurra
391ad489ff Rename zed-rpc to zrpc
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-13 18:22:00 +02:00
Nathan Sobo
1537500fcb Include contents of the zed-server repo
We're going full monorepo.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-12 14:14:39 -06:00
Antonio Scandurra
4dae17a4cf Extract an Fs trait in Worktree 2021-07-09 10:58:07 +02:00
Max Brunsfeld
8b58c165a7 Re-export zed-rpc's test support items from zed's test support 2021-07-08 17:38:54 -07:00
Antonio Scandurra
7335e70eb7 Use async-tungstenite's built-in TLS connector
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-07 19:55:26 +02:00
Antonio Scandurra
cb9002254f Use a websocket to connect to the server
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-07 18:49:38 +02:00
Antonio Scandurra
ee962eab9b Revert "Start work on handling TLS for the RPC endpoint"
This reverts commit 193c704875.
2021-07-07 15:19:00 +02:00
Max Brunsfeld
193c704875 Start work on handling TLS for the RPC endpoint 2021-07-06 16:27:57 -07:00
Antonio Scandurra
59fe0549cc Replace paths_by_id with an entries_by_id sum tree 2021-07-06 12:41:31 +02:00
Nathan Sobo
34963ac80d Use entry_id on File instead of worktree::Diff to detect when buffers' files change
Rather than computing a diff after processing a batch of FSEvents, we instead detect renames as we're inserting entries. We store an entry_id on the File object that is owned by each buffer, and use this to detect when the path of the File has changed.

We now also manage all File-related state and event emission for Buffers in the LocalWorktree, since the logic will need to be totally different in the remote case.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-29 18:19:38 -06:00
Max Brunsfeld
efc8bc3124 Add a test-support feature flag that enables compilation of zed::test module
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-23 18:05:03 -07:00
Antonio Scandurra
9de4d73ffb Move RpcClient to zed_rpc and rename it to Peer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-16 18:01:26 +02:00
Antonio Scandurra
a87d4db155 Change RpcClient methods to take shared references
This will make it easier to spawn a future on gpui's executors
when calling `RpcClient` methods.

Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-06-14 19:59:46 +02:00
Max Brunsfeld
86ff599285 Use tiny_http for handling login HTTP request
Our manual HTTP parsing and encoding was not working with Safari.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-11 10:28:00 -07:00
Max Brunsfeld
20542f54ef Start work on connecting to RPC endpoint
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-10 22:12:04 -07:00
Max Brunsfeld
327c20510b Introduce zed-rpc with some shared auth utilities 2021-06-08 13:07:06 -07:00
Max Brunsfeld
db3e01a12c Start work on a login command
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-07 18:15:11 -07:00
Max Brunsfeld
8340958b33 Convert query capture indices to style ids
* Introduce a Theme struct as a new part of the app's settings
* Store on each Language a ThemeMap, which converts the capture ids
  from that language's highlight query into StyleIds, which identify
  styles in the current Theme.
* Update `highlighted_chunks` methods to provide StyleIds instead of
  capture ids.
2021-05-24 16:44:14 -07:00
Max Brunsfeld
4e74a8726c Bump context-predicate grammar to the latest Tree-sitter 2021-05-22 12:34:35 +02:00
Max Brunsfeld
2f378be1a8 Introduce LanguageRegistry object
* Include it, along with settings in `OpenParams` grouped under a new struct called `AppState`

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-22 12:34:35 +02:00
Antonio Scandurra
a8ece757e4 Implement time::Global using a SmallVec
Version vectors are going to be small most of the time, especially
as soon as we introduce an optimization that will let us only
track concurrent versions, thus preventing the version vector from
growing indefinitely over time in the tree.
2021-05-18 17:34:48 +02:00
Max Brunsfeld
040189db3c Add basic handling for buffer's files changing on disk 2021-05-11 16:18:29 -07:00
Max Brunsfeld
f2b009ea6b Ensure that the bundle runs on macOS versions < 11.0 2021-05-10 14:14:04 -06:00
Nathan Sobo
898271edfb Add script/bundle, which creates a macOS app bundle 2021-05-04 17:18:25 -06:00
Max Brunsfeld
ae5f02d2e9 Use getmntinfo(3) to list mounted volumes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 15:41:03 -07:00
Max Brunsfeld
b37b047400 Start work on excluding separate mount dirs
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-22 14:11:46 -07:00
Max Brunsfeld
499e55e950 Start work on handling changes to gitignore files
* Use the published ignore crate
* Store ignore objects on snapshot, and use them to compute
  files' ignored status dynamically, instead of storing the
  ignored status on the file.
2021-04-21 18:11:52 -07:00
Antonio Scandurra
ddd746b9f9 Use env_logger instead of simplelog in tests
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-20 17:34:14 +02:00
Nathan Sobo
a4c1fe5a0b WIP: Add a condition method to model and view handles for use in tests
It returns a future that resolves when the provided predicate returns true. The predicate is called any time the handle's targeted entity calls notify.

Still need to add a timeout and completely remove finsih_pending_tasks.
2021-04-19 22:01:54 -06:00
Max Brunsfeld
fbaab121f6 Add fsevent crate to workspace
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-04-15 16:29:55 -07:00
Nathan Sobo
db8cce9aa9 Merge branch 'master' into rescan 2021-04-14 22:26:09 -06:00