Commit Graph
748 Commits
Author SHA1 Message Date
Nathan SoboandMax Brunsfeld ebbe517bfa Move path prompting methods to MainThreadPlatform
They need to call back into the main thread, meaning the callbacks can't be Send + Sync.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-07 17:32:03 -06:00
Nathan SoboandMax Brunsfeld 7b98994d1f Rename PlatformLifecycle to MainThreadPlatform
Don't love it, but at least it's accurate.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-06-07 17:21:34 -06:00
Nathan Sobo 14b519f78d Extract a platform::Lifecycle trait
This will allow us to make platform::Platform be Send + Sync and keep the lifecycle on the main thread.
2021-06-07 17:02:24 -06:00
Max Brunsfeld 748c101076 Fix markdown formatting 2021-06-06 22:06:00 -07: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
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 ScandurraandNathan Sobo 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 SoboandMax Brunsfeld 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
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
Nathan Sobo 6d83ed2824 Add RPC implementation details to the collaboration plan 2021-05-31 17:40:39 -06:00
Max BrunsfeldandNathan Sobo a4d16e61c8 Add document outlining plans for collaboration
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-05-31 15:31:57 -07: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