Commit graph

759 commits

Author SHA1 Message Date
Antonio Scandurra
ba29b1d96d
Merge pull request #88 from zed-industries/seek-start
Introduce `Cursor::seek_start` and `Cursor::seek_end`
2021-06-11 09:03:35 +02:00
Antonio Scandurra
bd0a807ff6
Merge pull request #84 from zed-industries/new-workspace
Open a new workspace on File > New if none exists
2021-06-11 09:02:43 +02:00
Antonio Scandurra
742241a903 Rename Cursor::{start,end} to Cursor::{sum_start,sum_end} 2021-06-10 14:06:27 +02:00
Antonio Scandurra
dc2805bb14 Add Cursor::seek_end and audit the codebase to use seek_start more 2021-06-10 14:05:56 +02:00
Antonio Scandurra
f294bfdbd9 Introduce Cursor::seek_start to compute VersionedOffset once 2021-06-10 13:42:43 +02:00
Nathan Sobo
66c76d5469 Test creating a new empty workspace and fix test compile errors 2021-06-09 16:38:32 -06:00
Nathan Sobo
b5cb41c7f0 Open a new workspace on File > New if none exists 2021-06-09 15:34:45 -06:00
Antonio Scandurra
71f50ce361 Restore random edits in test to 5 2021-06-09 20:51:14 +02:00
Antonio Scandurra
de803a6cfc
Merge pull request #82 from zed-industries/faster-undo
Batch undo
2021-06-09 12:08:20 +02:00
Antonio Scandurra
072a57580d Delete leftover test 2021-06-08 11:55:17 +02:00
Antonio Scandurra
467e1a44d3 Restore History::group 2021-06-08 11:53:32 +02:00
Antonio Scandurra
98ea7b3d64 Batch edits contained in undo operations
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-06-08 11:53:23 +02:00
Max Brunsfeld
748c101076 Fix markdown formatting 2021-06-06 22:06:00 -07:00
Antonio Scandurra
2bf6fe7735 Group only transactions that are temporally contiguous 2021-06-05 12:22:59 +02:00
Antonio Scandurra
1fe55d041f Speed up undoing multi-cursor changes 2021-06-05 12:03:45 +02:00
Max Brunsfeld
ad71e2404b Add login notes to the collaboration plans doc 2021-06-04 18:24:26 -07:00
Max Brunsfeld
4a07e48bf0
Merge pull request #81 from zed-industries/versioned-anchors
Represent edit positions and anchors as versioned offsets
2021-06-04 11:12:44 -07:00
Antonio Scandurra
5d1afaf484 Reduce Fragment size by not storing ReplicaId twice 2021-06-04 18:03:44 +02:00
Antonio Scandurra
8f8c6c8add Delete unused Insertion struct 2021-06-04 16:42:32 +02:00
Antonio Scandurra
125be2f07a Save an allocation when editing locally 2021-06-04 13:42:37 +02:00
Antonio Scandurra
e071d40058 Use a single Bias enum everywhere 2021-06-04 13:39:57 +02:00
Antonio Scandurra
3b9d760f2b Add blanket implementation for (D1, D2) when they impl Dimension 2021-06-04 12:36:38 +02:00
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
70cb755319
Merge pull request #80 from zed-industries/collaboration-plans
Add document outlining plans for collaboration
2021-06-02 16:36:24 +02: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