Antonio Scandurra
2f4d8932dc
Allow querying a diagnostic group by its id
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-04 15:16:59 +01:00
Antonio Scandurra
78bbb83448
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
Nathan Sobo
2d6285a6e1
Start on a test for grouped diagnostics
2021-11-03 18:47:18 -06:00
Nathan Sobo
44e0a00734
Only show the first line of diagnostic messages in the status bar
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-03 16:52:32 -06:00
Max Brunsfeld
1ec31738e6
Improve styling of diagnostic status bar item
2021-11-03 14:15:22 -07:00
Max Brunsfeld
baf636a4a4
Extend empty diagnostic ranges at the ends of lines
2021-11-03 13:49:39 -07:00
Max Brunsfeld
9384823e47
Remove logging in worktree tests
2021-11-03 12:36:57 -07:00
Max Brunsfeld
8b5089c759
In the status bar, show the diagnostic under the cursor
2021-11-03 12:33:16 -07:00
Antonio Scandurra
941d935c4a
End pending selection when starting a transaction
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-03 19:15:54 +01:00
Antonio Scandurra
c07d794249
Avoid ending the pending selection until updating selections
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-03 19:07:06 +01:00
Antonio Scandurra
9dc3c74260
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
Antonio Scandurra
a26b066788
Introduce a status bar and add the cursor position to it
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-11-03 17:27:51 +01:00
Antonio Scandurra
258b89bb70
Request autoscroll when undoing/redoing
2021-11-03 09:44:23 +01:00
Antonio Scandurra
20a77f4c5e
Fix test for disk-based diagnostics
2021-11-03 09:39:15 +01:00
Max Brunsfeld
9a7ecfbc4f
Use status colors for diagnostic underlines
2021-11-02 17:51:18 -07:00
Max Brunsfeld
8d3f42de52
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
a66b81d60a
Add an integration test for replicating buffer's diagnostics
2021-11-02 14:57:24 -07:00
Max Brunsfeld
89392cd23d
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
1995bd89a6
Deserialize buffer's diagnostics
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-02 12:29:03 -07:00
Nathan Sobo
2c57703ad6
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
Antonio Scandurra
882c8ce696
Avoid error during deserialization if the result
field isn't there
2021-11-02 14:58:00 +01:00
Antonio Scandurra
f5aa07aac9
Remove all windows before quitting
...
This gives all entities a chance of running `Drop::drop` which,
in turn, could cause them to spawn a critical task. For example,
we use this capability when a language server is dropped and we
need to asynchronously send a shutdown message.
2021-11-02 14:55:31 +01:00
Max Brunsfeld
61e06487b7
Avoid circular model update when sending diagnostics operations
2021-11-01 17:14:22 -07:00
Max Brunsfeld
0e62ddbb65
Replicate diagnostics to remote buffers
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-01 15:28:37 -07:00
Max Brunsfeld
40c861c249
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
78d97a3db2
Use Diagnostic struct in buffer's diagnostics multimap
2021-11-01 12:59:01 -07:00
Max Brunsfeld
1aee7bdb1d
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
b8994c2a89
Add a facility for delaying quit until critical tasks finish
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-11-01 11:57:31 -07:00
Antonio Scandurra
6e5ec2a00d
Take a &clock::Global
instead of cloning in edits_since
2021-11-01 10:48:20 +01:00
Antonio Scandurra
f59be5fecf
Always notify when receiving buffer operations
...
We had changed it to only emit a notification when the buffer was
actually edited, but we also want to notify when we receive non-edit
operations, such as a selection update.
2021-11-01 10:06:23 +01:00
Nathan Sobo
3228a55329
Fix test-support feature propagation for editor and workspace
2021-10-30 07:40:20 -06:00
Antonio Scandurra
b571eae4f3
Extend empty diagnostic ranges by one character
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-29 19:09:19 +02:00
Antonio Scandurra
6212ebad9b
Communicate with language servers in terms of UTF-16 coordinates
...
This required indexing UTF-16 positions in `Rope`. We tried opting
into the UTF-8 experimental support but it didn't seem to work
correctly and the standard is UTF-16 anyway.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-29 18:33:23 +02:00
Antonio Scandurra
9c1b01521a
Avoid unnecessary conversion to offsets in diagnostics_in_range
2021-10-29 14:41:41 +02:00
Antonio Scandurra
78c158e1a4
Support only UTF-8 for now when communicating with language server
2021-10-29 12:02:42 +02:00
Max Brunsfeld
2cbb313467
Avoid panic when rust language isn't present (project unit tests)
2021-10-28 17:12:17 -07:00
Max Brunsfeld
e1556893f7
Merge branch 'anchor-map-selections' into lsp
2021-10-28 17:08:06 -07:00
Max Brunsfeld
2952f2c905
🎨 anchor.rs
2021-10-28 16:48:07 -07:00
Max Brunsfeld
a1e576343e
Rename AnchorRangeSet::to_point_ranges -> point_ranges
2021-10-28 16:32:49 -07:00
Max Brunsfeld
9bc08e446b
Fix unit test for on-disk-changes to not rely on selection bias
2021-10-28 16:17:07 -07:00
Max Brunsfeld
f3cd710f21
Create valid disjoint selection sets in selections_in_ranges
2021-10-28 16:04:16 -07:00
Max Brunsfeld
efc85d1b75
Get the Editor crate compiling
2021-10-28 15:42:24 -07:00
Antonio Scandurra
9c74be3bf2
Start fixing compilation errors on Editor
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-10-28 19:36:43 +02:00
Antonio Scandurra
ce8741977b
Clip points coming from language server
...
This avoids panicking in Zed if the points they give us are invalid.
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-10-28 19:02:26 +02:00
Antonio Scandurra
d12387b753
Ensure start endpoints always come before end endpoints
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-10-28 18:26:32 +02:00
Antonio Scandurra
50afb2d65f
Remove stray println! statements in the LSP I/O code
2021-10-28 14:07:14 +02:00
Antonio Scandurra
ee78d6f17b
Express multi-cursor edits using the new coordinate space
...
The language server expects that ranges further in the list of edits
account for the impact of prior changes in the edit list.
2021-10-28 13:40:55 +02:00
Antonio Scandurra
7091e0c567
Add a unit test for disk-based diagnostics
2021-10-28 11:37:24 +02:00
Antonio Scandurra
ac76706aa7
Sort LSP diagnostics by (start, end)
2021-10-28 11:36:33 +02:00
Antonio Scandurra
fcb217b9e8
Report new_lines
extent correctly when coalescing edits
2021-10-28 11:32:10 +02:00