Commit graph

1006 commits

Author SHA1 Message Date
Max Brunsfeld
d0fdc7b5e8 Get simple unit test passing for soft-wrap in DisplayMap 2021-07-20 15:22:11 -07:00
Max Brunsfeld
7832562675 Add WrapMap as a member of DisplayMap
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-20 13:03:59 -07:00
Max Brunsfeld
dbc8fc3bfa Fix assertions in fold map test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-20 11:43:10 -07:00
Max Brunsfeld
61397f2f2f Avoid holding executor's state lock while parked
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-20 11:37:02 -07:00
Nathan Sobo
ee213696aa Replace DeterministicExecutor::reset with forbid_parking
There's really no point calling reset if we plan on parking afterwards.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-20 12:28:04 -06:00
Nathan Sobo
64927abbc4 Allow DeterministicExecutor to park until forbid_parking is called
This allows us to perform async setup such as talking to the database.
2021-07-20 12:22:02 -06:00
Antonio Scandurra
f6263768b3 WIP: interpolate edits into snapshot coming from BackgroundWrapper
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-20 19:21:52 +02:00
Antonio Scandurra
3d3a14b650 Add DeterministicExecutor::block_on(duration, future)
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2021-07-20 19:20:50 +02:00
Antonio Scandurra
3d8c59af31 Implement Snapshot::interpolate 2021-07-20 14:25:56 +02:00
Antonio Scandurra
b66de06d0e Ensure that WrapMap's input lines match TabMap's output lines 2021-07-20 11:30:00 +02:00
Antonio Scandurra
d0113a114c Coalesce contiguous isomorphic transforms 2021-07-20 11:27:12 +02:00
Antonio Scandurra
3d845f81b1 Remove stray logging statements 2021-07-20 11:10:02 +02:00
Antonio Scandurra
39b73496cb Make randomized tests pass with one operation 2021-07-20 11:06:17 +02:00
Nathan Sobo
3b77b011e2 Iterate on randomized wrapping test and fix some bugs
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-19 19:31:03 -06:00
Nathan Sobo
e0da3fd714 Get the randomized soft wrap test passing with no edits
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-19 18:37:29 -06:00
Nathan Sobo
2ce42ff6b6 Honor the last line when wrapping even if it doesn't end in \n
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-19 18:29:20 -06:00
Max Brunsfeld
f9e13f3429 Start work on WrapMap::chunks_at
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-19 16:23:56 -07:00
Max Brunsfeld
8e9a5e072d Fix typo in Point::add_assign 2021-07-19 13:28:35 -07:00
Nathan Sobo
e193a660aa WIP 2021-07-19 13:59:07 -06:00
Antonio Scandurra
5a33612f0f WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-19 19:34:41 +02:00
Antonio Scandurra
631a6a2f45 Re-enable wrap_map module and fix compile errors
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-19 18:40:57 +02:00
Antonio Scandurra
359132ac19 Extract tab expansion logic into TabMap
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-19 17:29:03 +02:00
Antonio Scandurra
5a0d156cc5 Clarify input and output coordinates in display_map
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-19 16:18:20 +02:00
Antonio Scandurra
e00eafb3e8 WIP 2021-07-19 15:45:49 +02:00
Antonio Scandurra
9e448e694d Add fold_map::Snapshot::text_summary_for_range 2021-07-19 12:25:27 +02:00
Antonio Scandurra
7a86a2c831 Change fold_map::Edit to return DisplayOffsets
This is needed so that we can translate display offsets into display
points in the `WrapMap`.
2021-07-19 11:34:47 +02:00
Antonio Scandurra
38dffc310f Fix errors in WrapMap randomized tests 2021-07-19 10:48:13 +02:00
Max Brunsfeld
05e5e5f747 Implement FontSystem::wrap_line 2021-07-16 17:14:43 -07:00
Antonio Scandurra
9895c77f5c WIP 2021-07-16 18:43:50 +02:00
Antonio Scandurra
1ba9e48271 Start on adding a randomized test for BackgroundWrapper
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-16 17:53:23 +02:00
Antonio Scandurra
8d3c3d7c46 Work on a randomized test for edits/snapshots returned by FoldMap
...and make it pass too!
2021-07-16 15:48:43 +02:00
Antonio Scandurra
831b620e51 Make writing/reading FoldMap explicit so that we can retrieve edits 2021-07-16 13:49:38 +02:00
Antonio Scandurra
23b55d88d9 Pull snapshot history out of fold map 2021-07-16 13:49:02 +02:00
Max Brunsfeld
e0930ddc09 Add FoldMapSnapshot::edits_since_creation 2021-07-15 18:27:59 -07:00
Nathan Sobo
8b34deab58 Try to return edits from FoldMap::apply_edits
The goal is to describe how the fold map changed. Hopefully this is correct.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-15 15:08:18 -06:00
Nathan Sobo
2c9f730638 Give the FoldMap its own edit type that does not have deleted_lines
We want to use this struct to communicate about edits performed to the fold map itself, and it will be simpler if we don't have to communicate this data.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-15 14:19:58 -06:00
Max Brunsfeld
f561f33aa9 Move DisplayMap's reading methods to DisplayMapSnapshot 2021-07-15 11:48:57 -07:00
Nathan Sobo
2bde54971e Move all FoldMap query methods to FoldMapSnapshot
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-15 11:36:24 -06:00
Nathan Sobo
09afba9251 Introduce buffer::Content<'a> struct to share logic with buffer::Snapshot
We want to move a bunch of methods on FoldMap to fold_map::Snapshot. This captures a buffer snapshot, and we'll need a bunch of methods that currently are on Buffer to also be implemented on buffer::Snapshot. This Content reference struct will be a good zero-cost place to store that logic.
2021-07-15 09:50:50 -06:00
Antonio Scandurra
be954872d0 Calculate an old_lines range in Edits iterator 2021-07-15 10:11:24 +02:00
Antonio Scandurra
c2e7460fcd WIP 2021-07-14 19:09:46 +02:00
Antonio Scandurra
a5edc14e3a WIP: Start on WrapMap 2021-07-14 18:43:48 +02:00
Antonio Scandurra
4313e99a00
Merge pull request #110 from zed-industries/fs-refactor
Decouple our fs module from details of the Worktree
2021-07-14 09:36:40 +02:00
Antonio Scandurra
e1c0d902d9 💄 2021-07-14 09:25:12 +02:00
Max Brunsfeld
c18ca77d14 🎨 Use fs::Metadata in fs::FakeFsEntry 2021-07-13 16:03:54 -07:00
Max Brunsfeld
7260442d42 Move the fs module out of worktree 2021-07-13 15:40:11 -07:00
Max Brunsfeld
dcae4747b0 Decouple Fs trait from Worktree
Make it a more direct shim for the standard FS APIs
2021-07-13 15:40:11 -07:00
Nathan Sobo
a074f4664b
Merge pull request #109 from zed-industries/server
Include contents of the zed-server repo
2021-07-13 15:52:00 -06:00
Max Brunsfeld
cdaa4e0719 Fix flaky FileFinder test by avoiding redundant worktree snapshot polls when idle 2021-07-13 13:53:51 -07:00
Max Brunsfeld
42ba24c5a8 Fix error message when connection's IO loop exits before message loop 2021-07-13 13:00:10 -07:00