Antonio Scandurra
922431f511
Remove commented out code
2021-06-04 11:10:53 +02:00
Antonio Scandurra
83f3404089
Change fragment's visibility only if it was visible at a version
2021-06-04 11:07:52 +02:00
Antonio Scandurra
7095bedff8
Coalesce contiguous ranges when editing locally
2021-06-04 10:08:52 +02:00
Max Brunsfeld
c5e7a1a29a
Reenable undo/redo in randomized concurrent edit test
...
Currently this fails
2021-06-03 17:41:51 -07:00
Max Brunsfeld
56742891b4
Get random concurrent edits test passing, except for undo
2021-06-03 17:38:30 -07:00
Max Brunsfeld
96e585ea72
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
53facb1492
Implement Ord manually for time::Lamport
2021-06-03 15:33:43 -07:00
Max Brunsfeld
a881f0b265
Ensure fragments are only consumed once in apply_local_edit
2021-06-03 13:51:13 -07:00
Max Brunsfeld
9f38e38724
Improve logging for randomized buffer test
2021-06-03 13:46:16 -07:00
Max Brunsfeld
18a4ffa2f0
Create shorter Debug impls for clocks
2021-06-03 11:45:28 -07:00
8da32b825c
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 and Nathan Sobo
c33b6214ff
WIP: Start on apply_remote_edit
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev >
2021-06-03 18:40:01 +02:00
Max Brunsfeld
1235499a21
Add a simple unit test for applying remote edit operations
2021-06-02 20:09:53 -07:00
Max Brunsfeld
119d9bc75e
Add custom error message for rope cursor slice precondition
2021-06-02 17:47:25 -07:00
Max Brunsfeld
a0c149e911
Add logging in random concurrent edits test
2021-06-02 17:47:02 -07:00
Max Brunsfeld
1e63b7eca3
Get undo/redo tests passing
2021-06-02 16:28:54 -07:00
Max Brunsfeld
5c50959d61
Add a hand-written error message for the seek_internal precondition
2021-06-02 16:28:27 -07:00
Max Brunsfeld
a71c2282f8
Compute full ranges for edit operation inside of Buffer::splice_fragments
2021-06-02 16:28:27 -07:00
Max Brunsfeld
fe6485ba3c
Avoid unnecessarily adding internal summaries in Cursor::next
2021-06-02 14:43:17 -07:00
Max Brunsfeld
5c37f2ebb7
Avoid calling SumTree::extent in Cursor::suffix
2021-06-02 13:51:52 -07:00
Max Brunsfeld
7235f2e6f8
Generalize Dimension<FragmentSummary> for tuples
2021-06-02 12:09:16 -07:00
Antonio Scandurra
e02a2ad4f6
Speed up anchor comparison when the version is the same
2021-06-02 12:24:00 +02:00
Antonio Scandurra
d54c3fbeaf
Don't increment clock for initial insertion
2021-06-02 12:13:08 +02:00
Max Brunsfeld
363b131439
WIP
2021-06-01 18:22:08 -07:00
Nathan Sobo and Max Brunsfeld
08b8190c89
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
54f6d6270b
wip
2021-06-01 14:28:17 -07:00
Max Brunsfeld
3bb7dec7f7
Remove count field from FragmentSummary
...
Sort anchors according to their 'full offset' (deleted + visible)
2021-06-01 12:28:04 -07:00
0a40cfac9f
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
5e16e7e11c
WIP: Compare anchors without using FragmentId
2021-06-01 17:54:58 +02:00
Antonio Scandurra
f2468d0984
Pull up VersionedOffset
2021-06-01 16:57:03 +02:00
Antonio Scandurra
dea3208ede
Fix randomized tests for concurrent edits
2021-06-01 16:54:02 +02:00
Antonio Scandurra
82d7c2a977
Implement anchors using an offset + a version vector
2021-06-01 15:28:20 +02:00
Antonio Scandurra
6d3bdcd3e5
Supply a context when adding summary to Dimension
2021-06-01 12:50:10 +02:00
Antonio Scandurra
f1f67c30d7
WIP
2021-05-31 16:57:15 +02:00
Antonio Scandurra
d4b54d3fe1
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
c8fa82d5f1
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
b24743dad9
Fix tests
2021-05-31 16:51:33 +02:00
Antonio Scandurra
7fff08de91
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
3e37aded94
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
5d3a2c9925
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
cd0f9bd94e
Fix error when running workspace:open command
2021-05-28 16:34:28 -07:00
Nathan Sobo
bcc24a9e50
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
5203f8af1c
Rename context parameters to cx in gpui
2021-05-28 15:32:35 -07:00
Max Brunsfeld
cbeefad159
Rename context parameters to cx in sum_tree
2021-05-28 15:32:24 -07:00
Max Brunsfeld
e2b6a05dec
Rename context parameters to cx in main.rs
2021-05-28 15:10:39 -07:00
Max Brunsfeld
824a8c25bf
Rename context parameters to cx in pane.rs
2021-05-28 15:09:52 -07:00
Max Brunsfeld
69b466d27c
Rename context parameters to cx in fold_map.rs
2021-05-28 15:08:38 -07:00
Max Brunsfeld
64eb30f21f
Rename context parameters to cx in selection.rs
2021-05-28 15:06:58 -07:00
Max Brunsfeld
9f8531e497
Rename context parameters to cx in movement.rs
2021-05-28 15:06:32 -07:00
Max Brunsfeld
fd479db3df
Rename context parameters to cx in editor/element.rs
2021-05-28 15:05:46 -07:00