Commit Graph
25009 Commits
Author SHA1 Message Date
Nathan Sobo 55bcc9fa9e Return optional transaction ids when starting/ending a transaction
If the transaction was nested, we return None. Otherwise we return the transaction id in preparation for editors to maintain their own selection state.
2021-12-10 18:00:09 -07:00
Nathan Sobo 271b092ec1 Move multi_buffer to editor crate 2021-12-10 17:37:53 -07:00
Max BrunsfeldandNathan Sobo df8c24583e Get tests passing w/ multibuffer in editor
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 15:54:25 -08:00
Max BrunsfeldandNathan Sobo 4b3bb3e692 Update multibuffer when buffers' syntax trees or diagnostics change
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 15:54:06 -08:00
Max Brunsfeld f6909fd9df Don't append a trailing newline in singleton MultiBuffer 2021-12-10 14:27:58 -08:00
Max Brunsfeld bb6f9a6936 Fill in some missing methods on MultiBuffer, MultiBufferSnapshot 2021-12-10 14:27:04 -08:00
Antonio ScandurraandNathan Sobo f529f3ec6f Start making MultiBuffer work with a singleton buffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 18:04:11 +01:00
Antonio ScandurraandNathan Sobo cced16aa49 Get everything compiling again
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 17:15:16 +01:00
Antonio ScandurraandNathan Sobo f019700264 WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 16:14:12 +01:00
Antonio ScandurraandNathan Sobo 0f09c69ac6 Finish removing anchor collections from MultiBuffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 15:58:37 +01:00
Antonio ScandurraandNathan Sobo 31a4a6deff Re-implement edits_since_in_range in terms of Locator
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-10 14:22:43 +01:00
Antonio Scandurra fdb34185e8 Merge branch 'fragment-locators' into project-diagnostics 2021-12-10 14:01:17 +01:00
Antonio Scandurra 7080d66f1e Fix diagnostic unit test 2021-12-10 09:43:21 +01:00
Antonio Scandurra e6277205e3 Optimize anchor comparison and take full advantage of fragment IDs 2021-12-10 09:16:58 +01:00
Max Brunsfeld ca04b13788 Merge branch 'fragment-locators' into HEAD 2021-12-09 14:49:04 -08:00
Max Brunsfeld 99ce013a1e Batch anchor resolution, avoid cloning fragment ids when seeking 2021-12-09 11:00:40 -08:00
Antonio Scandurra bb50f18dd2 WIP 2021-12-09 18:27:54 +01:00
Antonio ScandurraandNathan Sobo cbb2f5cbc7 Fix some of the diagnostic tests and make DiagnosticEntry generic
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-09 17:53:08 +01:00
Antonio ScandurraandNathan Sobo a29758b389 Remove anchor collections
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-09 17:28:27 +01:00
Antonio Scandurra 6aa620475d Don't use an enum for anchors and model min/max more implicitly
This will make it easier to serialize an anchor.
2021-12-09 12:01:17 +01:00
Antonio Scandurra 748f8e02e4 Implement anchor resolution using locators 2021-12-09 11:18:01 +01:00
Antonio Scandurra 90eb03186d Store only clock::Local in InsertionFragment 2021-12-09 09:21:52 +01:00
Antonio Scandurra 2c4f4fa872 Make remote edit randomized tests pass with locators 2021-12-09 09:15:19 +01:00
Antonio Scandurra 4a5281f234 Make local edit randomized tests pass with locators 2021-12-09 09:11:16 +01:00
Nathan Sobo ef98b86858 Start on maintaining an insertions tree
I'm correctly assigning fragment ids to all fragments in the fragments tree, but I have a randomized test failure when making sure that the insertions tree matches the state of the fragments tree.
2021-12-08 22:05:13 -07:00
Nathan Sobo 22d54442dc Sketch in type-level changes to track insertion splits 2021-12-08 21:04:22 -07:00
Nathan Sobo 40626249cd WIP 2021-12-08 20:04:30 -07:00
Nathan Sobo 2e016dd393 Take a cx in MultiBuffer::start_transaction 2021-12-08 19:30:52 -07:00
Nathan SoboandMax Brunsfeld 66798f3be7 Get Editor compiling with MultiBuffer as its buffer
There's a bunch of unimplemented methods in MultiBuffer, but everything compiles.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-08 19:23:04 -07:00
Max BrunsfeldandNathan Sobo 668c672db8 Implement Anchor, AnchorRangeMap, SelectionSet in multi_buffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-08 12:56:09 -08:00
Max BrunsfeldandNathan Sobo 9b0470e8e0 Rename ExcerptList to MultiBuffer
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-08 10:07:15 -08:00
0ba237f72c Fill out ExcerptList API
This restores the improvements that we had made on the `project-diagnostics-generic` branch.

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-08 10:04:22 -08:00
Antonio Scandurra 6a6dcc0975 Remove lifetime parameter from TextDimension trait
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-12-08 09:45:57 -08:00
Max Brunsfeld a6d3726fc9 Consolidate Edit types in editor crate 2021-12-08 09:33:55 -08:00
Max Brunsfeld 214354078e Give more specific names to all snapshot and text iterator types 2021-12-08 09:24:00 -08:00
Max Brunsfeld aae2e52d14 Merge pull request #281 from zed-industries/fix-release-asset-redirects
Don't pass GH auth header when following redirects for release assets
2021-12-07 12:49:49 -08:00
Max Brunsfeld 8a49e9b98d Don't pass GH auth header when following redirects for release assets 2021-12-07 12:34:55 -08:00
Max Brunsfeld b220bf4a26 Fix assertion in excerpt unit test after fixing edits 2021-12-06 17:40:32 -08:00
Max Brunsfeld 54713a04b6 Fix Subscription re-export after moving it into its own module 2021-12-06 17:40:17 -08:00
Max Brunsfeld d078c01b63 Implement and randomized test excerpt list point translation and clipping 2021-12-06 17:39:31 -08:00
Max Brunsfeld 8a28ebc03a 🎨 excerpt_list::Chunks::next 2021-12-06 16:28:44 -08:00
Max Brunsfeld aff3a4d5ef Get random excerpts test passing w/ text in range, edits 2021-12-06 16:17:31 -08:00
Nathan SoboandMax Brunsfeld 0f82f12d35 WIP
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-06 14:51:23 -07:00
Nathan SoboandMax Brunsfeld 26335dc776 Get randomized test passing on basic excerpt list features
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-06 13:48:07 -07:00
Nathan SoboandMax Brunsfeld 91de6540a3 Implement ExcerptList::subscribe
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-06 13:37:17 -07:00
Nathan SoboandMax Brunsfeld a8734cd592 Get the basic ExcerptList unit test passing again
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-06 13:01:09 -07:00
Nathan SoboandMax Brunsfeld 88964bb5e2 Allow patches to be composed with edit iterators in addition to other Patches
This can avoid an extra allocation in some cases.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-06 13:00:51 -07:00
Nathan SoboandMax Brunsfeld 9f33388a80 Rename FragmentList to ExcerptList
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-12-06 11:59:32 -07:00
c3d8c3997f Introduce Buffer::edits_since_in_range
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-12-06 19:48:45 +01:00
Antonio Scandurra 45198f646b Start on a simple randomized test for FragmentList 2021-12-06 16:08:17 +01:00