Antonio Scandurra
4ada5e0666
Rename rope::ChunksIter to rope::Chunks
...
This is consistent with how we name the other chunk iterators.
2021-05-24 15:05:11 +02:00
Antonio Scandurra
6e791edb18
Don't acquire the buffer mutably in highlighted_text_for_range
2021-05-24 12:43:29 +02:00
Antonio Scandurra
23b25307d9
Start on a basic implementation of HighlightedChunksIter
2021-05-24 11:23:42 +02:00
Max Brunsfeld
b51ae1f668
WIP
2021-05-23 21:42:45 -07:00
Antonio Scandurra and Nathan Sobo
b0859d4265
Extract a Buffer::syntax_tree to sync the syntax tree with the buffer
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-22 12:34:35 +02:00
Antonio Scandurra
c1b4cca48b
Delete commented-out diff code
2021-05-22 12:34:35 +02:00
Antonio Scandurra
3a576f0b65
Don't clone visible_text for splicing edits into the parse tree
2021-05-22 12:34:35 +02:00
Antonio Scandurra
64b1113455
Restructure parsing to use edits_since
2021-05-22 12:34:35 +02:00
Antonio Scandurra
9836f1f638
Reparse buffer on undo, redo and after applying a remote operation
2021-05-22 12:34:35 +02:00
Max Brunsfeld
fe8dc9fba0
Add a unit test for reparsing a buffer
2021-05-22 12:34:35 +02:00
Max Brunsfeld
46e6b2cff4
Start maintaining a syntax tree on buffers
2021-05-22 12:34:35 +02:00
2f378be1a8
Introduce LanguageRegistry object
...
* Include it, along with settings in `OpenParams` grouped under a new struct called `AppState`
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-22 12:34:35 +02:00
Antonio Scandurra and Nathan Sobo
b42f5142f7
Rename rightmost_{row,chars} to longest_{row,chars}
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-20 16:32:09 +02:00
Antonio Scandurra
6a0757ebf9
Don't store rightmost row/char-column as a Point
2021-05-20 12:52:58 +02:00
Antonio Scandurra
96538354b3
Express rightmost_point in terms of chars as opposed to bytes
2021-05-20 12:47:08 +02:00
Max Brunsfeld and Antonio Scandurra
510f20411a
Get cursor movement working with byte columns
...
Introduce `clip_point` and `clip_offset` methods on `Rope`, `Buffer`, and `FoldMap`.
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2021-05-20 12:47:08 +02:00
Max Brunsfeld
f3db0dcff6
Start work on making row/columnwise movement work w/ byte columns
2021-05-20 12:47:08 +02:00
Max Brunsfeld and Nathan Sobo
6621b9b552
Expand tabs correctly with multibyte characters
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-20 12:47:08 +02:00
Max Brunsfeld
a9583d0074
Introduce FoldMapSnapshot::chunks_at, use it in FoldMap::text
...
Get the FoldMap randomized tests passing. This also required adding
a test-only FoldMap::prev_char_boundary method.
2021-05-20 12:47:08 +02:00
Max Brunsfeld
b3d2a70834
Don't return Results from position methods in FoldMap and DisplayMap
2021-05-20 12:47:08 +02:00
Max Brunsfeld
72b98ad688
Get buffer tests passing after switching to byte coordinates
2021-05-20 12:47:08 +02:00
Antonio Scandurra and Nathan Sobo
f7691fc00c
WIP: Switch to byte-oriented indexing
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-20 12:47:08 +02:00
Antonio Scandurra
529a42e78f
Introduce Rope::chunks_in_range
2021-05-20 12:47:08 +02:00
Antonio Scandurra
65cf9b7c1d
Remove condition_with_duration for ModelHandle
...
Also, use a 2s timeout on CI for both `ModelHandle::condition` and
`ViewHandle::condition`.
2021-05-19 14:50:28 +02:00
Antonio Scandurra
781aa92f26
Don't summarize unnecessary information when resolving anchor
2021-05-18 17:34:28 +02:00
Antonio Scandurra
81e162318f
💄
2021-05-15 11:52:49 +02:00
Antonio Scandurra
5f93d7f755
Return error in Rope::to_offset(point) when the point doesn't exist
2021-05-15 11:43:29 +02:00
Antonio Scandurra
c9987f9488
Optimize Rope::append by merging chunks only when they're underflowing
2021-05-15 11:32:34 +02:00
Antonio Scandurra
76a74e431e
Introduce rope::Cursor::summary to avoid slicing only to get a summary
...
This also deletes `Rope::slice`, as it's just a convenience method that
can be easily re-implemented by using the cursor.
2021-05-15 11:29:48 +02:00
Antonio Scandurra
def0aa98b2
Maximize chunks occupation by splitting chunks appropriately
2021-05-15 10:18:59 +02:00
Antonio Scandurra
1190a87a05
Avoid heap allocation when splitting an existing chunk
2021-05-15 10:08:01 +02:00
Max Brunsfeld
243b66a91d
Add unit test for rope with all 4-byte chars
2021-05-14 17:53:58 -07:00
Max Brunsfeld
e860cacb9f
Get randomized tests passing in the presence of multibyte chars
2021-05-14 17:45:16 -07:00
Max Brunsfeld
614e96b957
Clarify how the ropes are kept consistent with the fragments
2021-05-14 14:48:19 -07:00
Max Brunsfeld
fc2533555c
Remove inline assertions about RopeBuilder invariants
2021-05-14 14:07:25 -07:00
Max Brunsfeld and Nathan Sobo
79c91de2f4
Get tests passing with RopeBuilder
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-14 12:47:19 -07:00
Nathan Sobo
cba8603335
WIP
2021-05-14 10:58:02 -06:00
Antonio Scandurra and Nathan Sobo
2cdf315d95
WIP: Replace ropey with our own Rope
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-14 18:30:47 +02:00
Antonio Scandurra and Nathan Sobo
2f5754db63
Implement a Cursor for Rope
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-14 17:14:57 +02:00
Antonio Scandurra and Nathan Sobo
580fc4fed7
Clarify variable and method names
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-14 16:42:46 +02:00
Antonio Scandurra
0d50c74cab
💄
2021-05-14 16:07:46 +02:00
Antonio Scandurra
9f9f339a75
📝
2021-05-14 16:00:45 +02:00
Antonio Scandurra
e2c19d3d3f
Add Rope::chunks
2021-05-14 15:19:03 +02:00
Antonio Scandurra
6e30fdbf5c
Better balancing of chunks on push
2021-05-14 15:07:30 +02:00
Antonio Scandurra
f303a1d5fe
Implement ::chars, ::to_point and ::to_offset for Rope
2021-05-14 14:44:19 +02:00
Antonio Scandurra
ff235e61f7
Increase leaf occupation for rope
2021-05-14 13:20:20 +02:00
Antonio Scandurra
d7cde9f81b
Don't underflow Rope chunks on append
2021-05-14 12:26:21 +02:00
Antonio Scandurra
e48973f75a
Start on a SumTree-based Rope implementation
2021-05-14 11:33:39 +02:00
Max Brunsfeld and Nathan Sobo
9aeb35bfab
Get tests passing using a slow rightmost_point impl
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-13 11:54:29 -07:00
d8f7b35dca
Fix concurrent editing in buffer after using ropes
...
Co-Authored-By: Max Brunsfeld <max@zed.dev >
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-05-13 19:59:01 +02:00