Commit Graph
249 Commits
Author SHA1 Message Date
Max Brunsfeld d182182ae2 Avoid ProjectPanel panic when worktree has no root entry
Also, avoid bug where too many UniformList elements were rendered.
2021-09-29 22:08:31 -07:00
Antonio Scandurra 67c40eb4be Allow opening entries from project panel 2021-09-29 13:08:27 +02:00
Antonio Scandurra e030917769 Refine project panel styling 2021-09-29 11:32:06 +02:00
Nathan SoboandMax Brunsfeld bd7bf82d18 Load .gitignore files from the Fs object so we can test this with a FakeFs
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-28 13:21:19 -06:00
Nathan Sobo a3f45c0d3b Merge branch 'worktree-cursor' into project-browser 2021-09-28 12:13:47 -06:00
Nathan SoboandMax Brunsfeld 60799c5a7c 💄
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-28 12:03:11 -06:00
b9b08879f2 Get tests passing
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-09-28 11:23:09 -06:00
Antonio Scandurra 366552f3bb Use Bias::Left when traversing by path 2021-09-28 13:42:46 +02:00
Nathan Sobo c3e8a5baa0 Unify all worktree traversal in a Traversal cursor/iterator
This uses our new ability to have a SeekTarget that's distinct from Dimension.
2021-09-27 21:58:22 -06:00
Max BrunsfeldandNathan Sobo ab31ddfc31 Allow seeking SumTree cursor by multiple seek types per dimension
Also, remove the cursor's sum_dimension. Replace it with a
blanket implementation of Dimension for two-element tuples
of dimensions.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-24 18:23:53 -07:00
Max BrunsfeldandNathan Sobo 443a7826bb Start work on expanding and collapsing directories in project panel
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-24 15:12:49 -07:00
Max Brunsfeld 7eda614c4a Start work on ProjectPanel 2021-09-23 18:14:15 -07:00
Antonio Scandurra 9efd8ce323 Exclude ignored entries when sharing a worktree
This commit also adds a randomized test that exercises building and
applying snapshot updates.
2021-09-23 11:20:53 +02:00
Antonio Scandurra d07ff73999 Bump PathEntry::scan_id when the ignore status of an entry changes 2021-09-23 11:20:53 +02:00
Antonio Scandurra 78fbd1307a Remove remote worktrees and close their buffers when host unshares 2021-09-22 14:50:32 +02:00
Antonio Scandurra d67227177a Allow leaving worktree while opening a buffer 2021-09-22 12:38:31 +02:00
Max BrunsfeldandNathan Sobo c24d439eb1 Allow clicking on worktrees to share, unshare, join, and leave
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-09-21 16:27:57 -07:00
Antonio Scandurra 4a723a1fb9 Merge branch 'main' into people-panel 2021-09-21 17:29:07 +02:00
Antonio Scandurra b9d46366ed Fix more failing/hanging unit tests 2021-09-21 16:20:20 +02:00
Max Brunsfeld 5dfd4be174 WIP 2021-09-20 18:05:46 -07:00
Nathan SoboandMax Brunsfeld 4279451150 Fix language selection when saving new buffers as a single-file worktree
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-09-20 14:28:02 -06:00
Antonio Scandurra 6f2c8ffb00 Introduce a Client::subscribe method that doesn't need an entity 2021-09-20 14:14:07 +02:00
Nathan Sobo af99d0ef42 Attempt to assign a language when a new buffer is saved 2021-09-18 11:46:22 -07:00
Max Brunsfeld e3c0d6980c Switch to a new flow for advertising, sharing and joining worktrees
Now, when you open a local worktree, we immediately send an `OpenWorktree` message
to the server, telling it the name of the folder that you've opened, and the names of all the
collaborators (based on a `.zed.toml` file). The server responds with a unique id for the
worktree.

When starting share this local worktree, you now include this previously-assigned id
in the `ShareWorktree` message.

When joining a worktree, there is no longer a need to provide an access token. The access
is controlled by the set of "collaborator logins" that were provided when the worktree
was initially opened by the host.
2021-09-16 18:39:29 -07:00
Max Brunsfeld 176ca9086e Rename OpenWorktree message to JoinWorktree
We'll repurpose the name 'OpenWorktree' for opening a local
worktree while signed in, and advertising the open status to
the worktree's collaborators.
2021-09-16 12:57:19 -07:00
Max Brunsfeld f0093974ee Always store an rpc client on local worktrees
Even before sharing, we now want to advertise that the user is working
on a certain worktree, to make that visible to all of the worktree's
collaborators.
2021-09-16 11:06:49 -07:00
Max Brunsfeld c58e335b87 Make UpdateBuffer a request, store unsent operations on worktree 2021-09-09 11:26:06 -07:00
Antonio Scandurra 000305472a Minor stylistic changes 2021-09-09 19:51:26 +02:00
Nathan SoboandAntonio Scandurra d34f374fe7 Beautify error logging
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-08-24 08:15:24 -06:00
Max Brunsfeld 5ecedd894d Add ChannelList to AppState 2021-08-23 15:03:45 -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 BrunsfeldandNathan Sobo 86c819757d Move Arc outside of rpc::Client
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-19 12:56:50 -07:00
Max BrunsfeldandNathan Sobo 266867b516 Send SaveBuffer message on foreground thread
This ensures that it gets sent *after* any other messages
for which we have already spawned a foreground send.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-19 12:17:32 -07:00
6288ac2e21 Fix double borrow panic
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-08-19 19:58:13 +02:00
5338b30c00 Remove remaining instances of router
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-08-19 19:38:17 +02:00
Nathan Sobo 3f5db7284d Remove shared_worktrees map from ClientState
Each worktree instance now handles its own messages.
2021-08-18 19:16:40 -06:00
Nathan SoboandMax Brunsfeld 37f24d10ec Subscribe to worktree messages at the entity level
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-18 19:06:46 -06:00
Nathan SoboandMax Brunsfeld ef421d735d Implement broadcast of typed envelopes
This required a rework of the macro so that we can always construct a typed envelope from our list of available message types from incoming protobuf envelopes.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-18 13:12:27 -06:00
Nathan SoboandMax Brunsfeld 1a21902460 Move fuzzy mod out of worktree
We now match against arbitrary strings in addition to paths.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-04 17:46:53 -06:00
Nathan Sobo 85a076312a Merge branch 'main' into theme-variables 2021-08-04 16:47:43 -06:00
Max BrunsfeldandNathan Sobo b30d0daabf Add a theme picker
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 14:55:27 -07:00
Max Brunsfeld eb05103d2d Fix saving an untitled file outside of any existing worktree 2021-07-30 14:19:42 -07:00
c1a9a20ac9 Setup randomized test harness in gpui::test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-30 09:50:28 -07:00
Antonio Scandurra 8de8c679c7 Fix panic when fuzzy-matching on a Worktree that contains no files
As part of our work on the deterministic executor, in c4e37dc we fixed a
bug that occurred when there were more CPUs than paths to fuzzy-match
on.

However, that introduced another bug that caused Zed to panic when
trying to calculate how many paths should be fuzzy-matched by each
available worker thread for worktrees that didn't contain any file.

This commit bails out early in `fuzzy::match_paths` if the vector of
paths to search is empty.
2021-07-30 09:50:02 -07:00
Antonio Scandurra e1c0d902d9 💄 2021-07-14 09:25:12 +02:00
Max Brunsfeld c18ca77d14 🎨 Use fs::Metadata in fs::FakeFsEntry 2021-07-13 16:03:54 -07:00
Max Brunsfeld 7260442d42 Move the fs module out of worktree 2021-07-13 15:40:11 -07:00
Max Brunsfeld dcae4747b0 Decouple Fs trait from Worktree
Make it a more direct shim for the standard FS APIs
2021-07-13 15:40:11 -07:00
Max Brunsfeld cdaa4e0719 Fix flaky FileFinder test by avoiding redundant worktree snapshot polls when idle 2021-07-13 13:53:51 -07:00
Nathan SoboandMax Brunsfeld 82569a031f Fix race condition in integration test
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-13 13:24:48 -06:00