Antonio Scandurra
296944e34d
Make BlockMap
unit test pass with 2d coordinates
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-15 16:30:58 +01:00
Nathan Sobo
e605a5ead2
Sketch an initial implementation for block_map::HighlightedChunks
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-12 14:51:25 -07:00
Antonio Scandurra
4e32fabfdc
Add text manipulation facilities to Rope
for test purposes
2021-11-12 17:02:51 +01:00
Nathan Sobo
0fff7d9166
WIP: Probably the wrong direction
2021-11-10 17:44:56 -07:00
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
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
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
Antonio Scandurra
6e5ec2a00d
Take a &clock::Global
instead of cloning in edits_since
2021-11-01 10:48:20 +01: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
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
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
fcb217b9e8
Report new_lines
extent correctly when coalescing edits
2021-10-28 11:32:10 +02:00
Nathan Sobo
9977248926
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
Max Brunsfeld
0c10d6c82d
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
a7a73a5b0b
Fix bug in to_full_offset
when Anchor::version
!= Content::version
2021-10-27 11:56:04 +02:00
Max Brunsfeld
f1db618be2
Generalize AnchorRangeMultimap's 'intersecting ranges' API
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-26 17:56:39 -07:00
Max Brunsfeld
ef4fc42d93
Allow retrieving a buffer's diagnostics
2021-10-26 15:46:08 -07:00
Antonio Scandurra
0674e76864
WIP
2021-10-26 19:42:40 +02:00
Antonio Scandurra
60abc5f090
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
e8a2885721
Introduce Content::anchor_range_multimap
2021-10-26 14:28:02 +02:00
Max Brunsfeld
64445c7d1c
Start work on AnchorRangeMultimap
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-25 21:42:55 -07:00
Nathan Sobo
ab4f90a20a
Get language and project compiling
2021-10-25 09:26:36 -06:00
Nathan Sobo
60a8e74430
Get buffer compiling with new SelectionSets based on AnchorRangeMap
...
One test is failing however.
2021-10-22 14:12:16 -06:00
Nathan Sobo
6ba4af3e26
WIP: Start converting SelectionSet to use AnchorRangeMap
2021-10-22 13:19:19 -06:00
Nathan Sobo
3ae5ba09fd
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
401bdf0ba1
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
087ff28d0d
Move SelectionSet and Into impl to selection module
2021-10-22 09:56:47 +02:00
Max Brunsfeld
282195b13e
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
Max Brunsfeld
eea0f35d38
Rename TextBuffer back to Buffer
2021-10-21 11:12:19 +02:00
Max Brunsfeld
37eae2ba67
Remove unnecessary dependencies in buffer and language crates
2021-10-21 09:40:50 +02:00
Max Brunsfeld
81a85e9c79
Extract a language crate
2021-10-20 22:51:40 +02:00
Max Brunsfeld
cdb268e656
Re-enable randomized concurrent edits test
2021-10-20 21:44:26 +02:00
Max Brunsfeld
30e2e2014d
Extract a TextBuffer from Buffer, which has no tree or file
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-20 00:10:57 +02:00
Nathan Sobo
5558d553bb
Insert an extra newline between brackets
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-10-19 13:17:16 +02:00
Nathan Sobo
561857fdf2
Restore all active selections when undoing/redoing autoindent
...
In the unlikely event that we're handling autoindent requests from multiple editors, we undo/redo selections from both editors. This is somewhat imperfect but probably good enough and easier than performing auto-indents on a per-editor basis.
2021-10-11 17:22:18 -06:00
Max Brunsfeld
47372e7342
Move selections explicitly when applying autoindents
2021-10-11 15:27:38 -07:00
Max Brunsfeld
63e775eb4c
Add unit tests for selective indentation adjustment
2021-10-11 13:02:01 -07:00
Max Brunsfeld
6dc9d3ac19
Move buffer tests into their own file
2021-10-11 12:18:31 -07:00
Max Brunsfeld
53f1078119
Ensure that autoindent task yields frequently to respect cancellation
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-11 11:25:15 -07:00
Antonio Scandurra
28ffd750ce
WIP: Determine autoindents asynchronously
...
We still need to insert yield points in `compute_autoindents`.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-10-11 18:00:48 +02:00
Antonio Scandurra
7f5d454b2d
Fix creation of anchors for the inserted portion of an edit
2021-10-11 13:08:50 +02:00
Antonio Scandurra
b43c78053b
Always use seek_forward
when resolving anchors
2021-10-11 09:37:21 +02:00
Nathan Sobo
6531df2368
Improve auto-indenting of inserted lines
...
Still not working totally correctly with our new approach, but getting closer.
2021-10-08 22:07:01 -06:00