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
000f356a2e
Merge pull request #216 from zed-industries/anchor-map-selections
...
Represent selection sets as anchor range maps
2021-10-28 17:07:45 -07:00
Max Brunsfeld
b8ddf94557
🎨 anchor.rs
2021-10-28 16:48:07 -07:00
Max Brunsfeld
6fe4ed1c66
Ignore vendor/bin folder
2021-10-28 16:32:56 -07:00
Max Brunsfeld
5cb767e73b
Rename AnchorRangeSet::to_point_ranges -> point_ranges
2021-10-28 16:32:49 -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
d0c6a52c81
Get the Editor crate compiling
2021-10-28 15:42:24 -07:00
Antonio Scandurra and Max Brunsfeld
4fdefb4cb3
Start fixing compilation errors on Editor
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-10-28 19:36:43 +02:00
Antonio Scandurra and Max Brunsfeld
6279e74712
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 and Max Brunsfeld
204f8f3367
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
811a88f22c
Remove stray println! statements in the LSP I/O code
2021-10-28 14:07:14 +02:00
Antonio Scandurra
35aff64b6b
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
ff236917c4
Add a unit test for disk-based diagnostics
2021-10-28 11:37:24 +02:00
Antonio Scandurra
daf928dedf
Sort LSP diagnostics by (start, end)
2021-10-28 11:36:33 +02:00
Antonio Scandurra
e260151c5f
Report new_lines extent correctly when coalescing edits
2021-10-28 11:32:10 +02:00
Nathan Sobo and Max Brunsfeld
85892ad428
Adjust disk-based diagnostics based on edits since the last save
...
Still need to add tests... not sure if this is right yet.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2021-10-27 18:58:07 -06:00
61c1354415
Introduce FullOffset type
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-10-27 18:30:00 -06:00
Antonio Scandurra
7cd7d52899
Update display map snapshots when diagnostics are updated
...
This is similar to what we do when we receive new parse trees from
tree-sitter.
2021-10-27 12:42:16 +02:00
Antonio Scandurra
10ad2d113c
Fix bug in to_full_offset when Anchor::version != Content::version
2021-10-27 11:56:04 +02:00
Max Brunsfeld and Nathan Sobo
c6a85f0009
Include diagnostic info in HighlightedChunks iterator
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 17:57:50 -07:00
Max Brunsfeld and Nathan Sobo
a827f6b6d7
Generalize AnchorRangeMultimap's 'intersecting ranges' API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 17:56:39 -07:00
Max Brunsfeld
b5ebd4b53d
Fix routing of diagnostics to buffers in worktree
2021-10-26 15:46:39 -07:00
Max Brunsfeld
fef3c44f4a
Allow retrieving a buffer's diagnostics
2021-10-26 15:46:08 -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
cfedba9f1c
Allow underlines to have different color than the text
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 12:46:46 -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
Max Brunsfeld and Nathan Sobo
35886ddcdb
Notify language server when saving a buffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 11:45:59 -07:00
Nathan Sobo
3b6204c0ac
Remove Anchor from protocol
2021-10-26 12:04:04 -06:00
Antonio Scandurra
a6d95b9652
WIP
2021-10-26 19:42:40 +02:00
Antonio Scandurra and Nathan Sobo
98f3a2eed2
Take ToOffset instead of anchors in intersecting_point_ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-26 17:04:12 +02:00
Antonio Scandurra
165161687c
Introduce Content::anchor_range_multimap
2021-10-26 14:28:02 +02:00
Antonio Scandurra
1c4b9c8142
Fix compilation errors
2021-10-26 14:27:00 +02:00
Max Brunsfeld and Nathan Sobo
2cfdf3096e
Start work on AnchorRangeMultimap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-25 21:42:55 -07:00
Max Brunsfeld
2be859951b
Start work on a test for worktree handling LSP diagnostics
2021-10-25 21:42:55 -07:00
Max Brunsfeld and Nathan Sobo
ce1e13b397
Handle initialize request internally in fake lsp server
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-25 18:04:27 -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
8679b37e20
Log unhandled notifications in LanguageServer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
Co-Authored-By: Max Brunsfeld <max@zed.dev >
2021-10-25 19:46:33 +02: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
Antonio Scandurra and Nathan Sobo
084858d069
Uncomment script/bundle lines
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-10-25 17:35:45 +02:00
Nathan Sobo
0beb4ffe93
Get language and project compiling
2021-10-25 09:26:36 -06:00
Antonio Scandurra
a24f3a2676
Don't send notifications or requests until LSP is initialized
2021-10-25 12:29:28 +02: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
Nathan Sobo
27d84b4f56
Get buffer compiling with new SelectionSets based on AnchorRangeMap
...
One test is failing however.
2021-10-22 14:12:16 -06:00
Nathan Sobo
1d85cf2ef5
WIP: Start converting SelectionSet to use AnchorRangeMap
2021-10-22 13:19:19 -06:00
Nathan Sobo
ddbc43beb3
Implement TryFrom<proto::SelectionSet> on SelectionSet
...
More prep work for changing the selection set representation.
2021-10-22 12:46:02 -06:00
Nathan Sobo
df9dad2804
Simplify protocol messages related to selection sets
...
This prepares the way to switch to using AnchorRangeMaps to store and transmit selection sets.
2021-10-22 12:35:29 -06:00
Nathan Sobo
f9abbd1900
Move SelectionSet and Into impl to selection module
2021-10-22 09:56:47 +02:00