Antonio Scandurra and Nathan Sobo
9fb5b384dc
Use the new buffer subscription API to keep DisplayMap in sync
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-12-01 16:08:53 +01:00
Max Brunsfeld and Nathan Sobo
80a05508ba
WIP - maintain foldmap with Buffer::edits_since
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-30 17:23:02 -08:00
Max Brunsfeld
a0cb583fcb
Use &Snapshot directly instead of impl Into<Content<'a>>
...
The text::Buffer and its snapshot already used the same representation
for their content, so we can just make Buffer deref to a Snapshot.
2021-11-30 13:32:11 -08:00
Nathan Sobo and Max Brunsfeld
93322a4858
Name the root file of every crate after the crate to ease navigation
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:46:39 -07:00
Nathan Sobo and Max Brunsfeld
811689d234
Rename buffer crate to text and name its entrypoint after the crate
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-11-30 12:26:12 -07:00
Antonio Scandurra and Nathan Sobo
c9e4f7a7eb
Introduce a new Grammar struct and allow it to be optional
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-29 17:38:59 +01:00
Nathan Sobo
19dd12e1c6
Associate collaborator avatars with "ribbons" corresponding to their cursor color
2021-11-28 13:25:05 -07:00
Nathan Sobo
f34b494fef
Introduce a TestClient and associate it with a PeerId
...
This makes it easier to integration test peer interactions because now we know their PeerIds.
2021-11-27 12:33:25 -07:00
Nathan Sobo
306c3e9a1b
Populate the user data of worktree collaborators
...
This will make it possible for us to render their avatars. Previously we only had the user ids. During rendering, everything needs to be available synchronously. So now, whenever collaborators are added, we perform the async I/O to fetch their user data prior to adding them to the worktree.
2021-11-26 20:35:50 -07:00
Nathan Sobo
fe66755e30
WIP: Give worktrees a reference to the UserStore
...
This will allow them to fetch user data when peers are added or removed. Still work to do though.
2021-11-26 19:12:12 -07:00
21a025ec7b
Introduce a worktree::Collaborator struct that holds the user_id
...
We can use this to render avatars.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-26 11:28:30 -07:00
Nathan Sobo and Antonio Scandurra
c72a5a822c
Rename collaborator_logins to authorized_logins
...
Again, this is about reserving the concept of a "collaborator" for actual collaborators on a worktree.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-26 11:08:34 -07:00
Nathan Sobo
252e50d635
Associate the project with an active worktree
...
This is similar to the active entry, but it can remain assigned even if there is no active entry and we can potentially manipulate it in other scenarios such as interaction with the project browser. This prepares the ground to show the collaborators for the active worktree.
2021-11-26 10:21:56 -07:00
Antonio Scandurra and Nathan Sobo
83baebd525
In a diagnostic group, mark the highest-severity diagnostic as primary
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-18 15:53:00 +01:00
Antonio Scandurra and Nathan Sobo
a8f60a10e1
Assign diagnostics a group_id based on their related_information
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-04 14:52:34 +01:00
Max Brunsfeld
c38aaf003d
Remove logging in worktree tests
2021-11-03 12:36:57 -07:00
b09850a993
Make resolving selections generic
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-11-03 17:51:57 +01:00
Max Brunsfeld and Nathan Sobo
837244e938
Start language servers based on buffers' languages
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-02 17:41:01 -07:00
Max Brunsfeld
95e6765d21
Avoid using worktree handle in File's path methods
...
This avoids a circular model update that was happening
when trying to retrieve the absolute path from a buffer's
file while applying remote operations.
2021-11-02 14:33:55 -07:00
Max Brunsfeld and Nathan Sobo
355e2bf5c8
Deserialize buffer's diagnostics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-02 12:29:03 -07:00
e1e2240199
Explicitly shut down language servers when quitting the app
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-11-02 13:16:25 -06:00
Max Brunsfeld
79a9be0c30
Avoid circular model update when sending diagnostics operations
2021-11-01 17:14:22 -07:00
Max Brunsfeld and Nathan Sobo
7270358c7c
Move protobuf logic from buffer crate to language crate
...
This will enable us to add operations that only pertain to the language crate.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-01 14:05:19 -07:00
Max Brunsfeld
26680e30cc
Use Diagnostic struct in buffer's diagnostics multimap
2021-11-01 12:59:01 -07:00
a217f62a7d
Delay quit until language servers are gracefully shut down
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-11-01 11:57:31 -07:00
Max Brunsfeld
17a3ba191f
Avoid panic when rust language isn't present (project unit tests)
2021-10-28 17:12:17 -07:00
Max Brunsfeld
825fb94fc6
Merge branch 'anchor-map-selections' into lsp
2021-10-28 17:08:06 -07:00
Max Brunsfeld
769ad74a3d
Fix unit test for on-disk-changes to not rely on selection bias
2021-10-28 16:17:07 -07:00
Max Brunsfeld
9af0d07f23
Create valid disjoint selection sets in selections_in_ranges
2021-10-28 16:04:16 -07:00
Max Brunsfeld
b5ebd4b53d
Fix routing of diagnostics to buffers in worktree
2021-10-26 15:46:39 -07:00
Max Brunsfeld
1fe81e3516
Simplify buffer constructor methods
...
Don't expose the `buffer::History` to callers of `language::Buffer`
2021-10-26 14:26:47 -07:00
Max Brunsfeld and Nathan Sobo
499226ae78
Move lsp configuration into language crate
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 12:17:51 -07:00
Antonio Scandurra
a6d95b9652
WIP
2021-10-26 19:42:40 +02:00
Antonio Scandurra
165161687c
Introduce Content::anchor_range_multimap
2021-10-26 14:28:02 +02:00
Max Brunsfeld
2be859951b
Start work on a test for worktree handling LSP diagnostics
2021-10-25 21:42:55 -07:00
Max Brunsfeld
5a0b7ea21f
Merge remote-tracking branch 'origin/main' into lsp
2021-10-25 16:24:08 -07:00
Max Brunsfeld and Nathan Sobo
952567f533
Add a fake lsp server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-25 15:28:40 -07:00
abc8cbbeb4
Get a basic end-to-end test for rust-analyzer integration working
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-10-25 18:11:52 +02:00
Nathan Sobo
0beb4ffe93
Get language and project compiling
2021-10-25 09:26:36 -06:00
Antonio Scandurra
3354e4a5de
Implement a more robust way of locating rust-analyzer
...
When bundled, we will retrieve it out of the `Resources` folder.
Locally, we're expected to run `script/download-rust-analyzer` and
put `vendor/bin` in our $PATH.
2021-10-25 11:02:35 +02:00
f6b1cc5830
Start on integrating rust-analyzer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-10-21 16:26:37 +02:00
6d8aa9f7d8
Assign new file handles on buffers when their files change on disk
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-21 13:08:54 +02:00
8d2d3c0750
Update buffer's saved mtime when file is reloaded after on-disk change
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-21 12:05:44 +02:00
Max Brunsfeld
34cda9fe9b
Extract a language crate
2021-10-20 22:51:40 +02:00
Max Brunsfeld and Nathan Sobo
95c15b11b1
Rename rpc_client -> client
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 17:14:21 -07:00
Max Brunsfeld and Nathan Sobo
95010ee295
Rename worktree crate to project, pull in Project
...
Also, move the high-level fuzzy mathcing functions in
zed::fuzzy into the fuzzy crate so that project can
use them.
This required defining a 'PathMatchCandidateSet' trait
to avoid a circular dependency from fuzzy to worktree.
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-04 16:45:05 -07:00