Commit Graph
39175 Commits
Author SHA1 Message Date
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 ScandurraandMax 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 ScandurraandMax 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 ScandurraandMax 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 SoboandMax 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 ScandurraandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 BrunsfeldandNathan 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 ScandurraandNathan 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