Antonio Scandurra
f016400ddc
Remove FullOffset
2021-06-04 12:34:35 +02:00
Antonio Scandurra
eaf09463be
Remove commented out code
2021-06-04 11:10:53 +02:00
Antonio Scandurra
ec07b8ca1d
Change fragment's visibility only if it was visible at a version
2021-06-04 11:07:52 +02:00
Antonio Scandurra
9bf3038857
Coalesce contiguous ranges when editing locally
2021-06-04 10:08:52 +02:00
Max Brunsfeld
23c4621b36
Reenable undo/redo in randomized concurrent edit test
...
Currently this fails
2021-06-03 17:41:51 -07:00
Max Brunsfeld
de9626ac12
Get random concurrent edits test passing, except for undo
2021-06-03 17:38:30 -07:00
Max Brunsfeld
6f0ef36ec4
Make SEED and ITERATIONS variables work independently
...
This way, after finding one failure, you can still search for a
simpler failure by running another series of iterations starting
from the next seed.
2021-06-03 16:49:55 -07:00
Max Brunsfeld
f6bb1a9572
Implement Ord manually for time::Lamport
2021-06-03 15:33:43 -07:00
Max Brunsfeld
33472ebf7e
Ensure fragments are only consumed once in apply_local_edit
2021-06-03 13:51:13 -07:00
Max Brunsfeld
02e4745d14
Improve logging for randomized buffer test
2021-06-03 13:46:16 -07:00
Max Brunsfeld
f1010505d9
Create shorter Debug impls for clocks
2021-06-03 11:45:28 -07:00
Antonio Scandurra
9a29f55777
WIP: Re-implement apply_local_edit to look more like apply_remote_edit
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-06-03 19:32:54 +02:00
Antonio Scandurra
72464a9460
WIP: Start on apply_remote_edit
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-03 18:40:01 +02:00
Max Brunsfeld
2ea8969507
Add a simple unit test for applying remote edit operations
2021-06-02 20:09:53 -07:00
Max Brunsfeld
68994248ee
Add custom error message for rope cursor slice precondition
2021-06-02 17:47:25 -07:00
Max Brunsfeld
e021154852
Add logging in random concurrent edits test
2021-06-02 17:47:02 -07:00
Max Brunsfeld
bef93b319c
Get undo/redo tests passing
2021-06-02 16:28:54 -07:00
Max Brunsfeld
2c8d5973f3
Add a hand-written error message for the seek_internal
precondition
2021-06-02 16:28:27 -07:00
Max Brunsfeld
01cfba0f8e
Compute full ranges for edit operation inside of Buffer::splice_fragments
2021-06-02 16:28:27 -07:00
Max Brunsfeld
657b0affd5
Avoid unnecessarily adding internal summaries in Cursor::next
2021-06-02 14:43:17 -07:00
Max Brunsfeld
d83a046911
Avoid calling SumTree::extent in Cursor::suffix
2021-06-02 13:51:52 -07:00
Max Brunsfeld
60a1d47c96
Generalize Dimension<FragmentSummary> for tuples
2021-06-02 12:09:16 -07:00
Antonio Scandurra
84fe7f50ac
Speed up anchor comparison when the version is the same
2021-06-02 12:24:00 +02:00
Antonio Scandurra
11a3b8c5ce
Don't increment clock for initial insertion
2021-06-02 12:13:08 +02:00
Max Brunsfeld
5f28fdb8f7
WIP
2021-06-01 18:22:08 -07:00
Nathan Sobo
74b07fed18
WIP: Start representing edit operations with versions and multiple ranges
...
Compiling, long way to go though.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-01 17:25:23 -06:00
Max Brunsfeld
14b41279ab
wip
2021-06-01 14:28:17 -07:00
Max Brunsfeld
dda9c6898b
Remove count field from FragmentSummary
...
Sort anchors according to their 'full offset' (deleted + visible)
2021-06-01 12:28:04 -07:00
Max Brunsfeld
e3c07942d5
Compare anchors via their fragment and their offset within it
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-06-01 11:52:42 -07:00
Antonio Scandurra
df13cf0a90
WIP: Compare anchors without using FragmentId
2021-06-01 17:54:58 +02:00
Antonio Scandurra
b3f13ce325
Pull up VersionedOffset
2021-06-01 16:57:03 +02:00
Antonio Scandurra
56efe30558
Fix randomized tests for concurrent edits
2021-06-01 16:54:02 +02:00
Antonio Scandurra
da7e3c8cd8
Implement anchors using an offset + a version vector
2021-06-01 15:28:20 +02:00
Antonio Scandurra
311e1b0f5e
Supply a context when adding summary to Dimension
2021-06-01 12:50:10 +02:00
Antonio Scandurra
e8a9eee84f
WIP
2021-05-31 16:57:15 +02:00
Antonio Scandurra
3597305fe3
Merge pull request #77 from zed-industries/merge-selections-larger-syntax-node
...
Merge selections correctly when selecting larger syntax node
2021-05-31 16:55:21 +02:00
Antonio Scandurra
2ca4dd207e
Merge pull request #78 from zed-industries/fewer-calls-to-add-summary
...
Avoid calling `add_summary` twice in `sum_tree::Cursor`
2021-05-31 16:55:03 +02:00
Antonio Scandurra
7f265230ea
Fix tests
2021-05-31 16:51:33 +02:00
Antonio Scandurra
32fbdfeab5
Avoid calling add_summary
twice in sum_tree::Cursor
...
As I was looking into `SumTree` for the upcoming round of changes to the
buffer, I noticed that we were inadvertently adding summaries twice
every time we skipped over a node in the tree.
This is a pretty heavy code path that's pretty ubiquitous in the
codebase, so this commit gets rid of the unnecessary addition.
2021-05-31 16:45:57 +02:00
Antonio Scandurra
7c418313a7
Merge selections correctly when selecting larger syntax node
...
When running this command with multiple cursors, if one of them was at a
later position in the buffer but lying on a shallower node, it could
happen that its start could move prior to cursors that were before it
but lying on a deeper node.
This could cause the selection merging algorithm to mistakenly keep some
selections even if they overlapped. With this commit we now sort
selections prior to merging them in `Editor::select_larger_syntax_node`.
2021-05-31 16:33:26 +02:00
Nathan Sobo
081191917c
Add more emacs-inspired bindings
...
Word-wise movement and columnar selection without reaching for the arrows.
2021-05-29 12:06:52 -06:00
Max Brunsfeld
f87aa14ebf
Fix error when running workspace:open command
2021-05-28 16:34:28 -07:00
Nathan Sobo
ff2ab4b72d
Merge pull request #75 from zed-industries/naming-cleanup
...
Clean up naming conventions project-wide
2021-05-28 16:42:20 -06:00
Max Brunsfeld
6ef447866a
Rename context parameters to cx
in gpui
2021-05-28 15:32:35 -07:00
Max Brunsfeld
173f99748d
Rename context parameters to cx
in sum_tree
2021-05-28 15:32:24 -07:00
Max Brunsfeld
f6e2754494
Rename context parameters to cx
in main.rs
2021-05-28 15:10:39 -07:00
Max Brunsfeld
5fe3081e7c
Rename context parameters to cx
in pane.rs
2021-05-28 15:09:52 -07:00
Max Brunsfeld
16c6400145
Rename context parameters to cx
in fold_map.rs
2021-05-28 15:08:38 -07:00
Max Brunsfeld
a4aba3f2c3
Rename context parameters to cx
in selection.rs
2021-05-28 15:06:58 -07:00
Max Brunsfeld
71489251f4
Rename context parameters to cx
in movement.rs
2021-05-28 15:06:32 -07:00