830f533
Start work on wrapping lines without text shaping
Max Brunsfeld created
830f533
Start work on wrapping lines without text shaping
Max Brunsfeld created
f169f8e
Ensure that soft wrapped lines don't cause horizontal scrolling
Nathan Sobo created
699e558
Remove logging
Nathan Sobo created
ef42d14
Fix `WrapMap::clip_point` at the end of a soft-wrapped line
If that's the case and `Bias` is `Left` we clip to the last character of the soft-wrapped line. Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
915c710
Ensure that we use the `WrapMap` where appropriate in `DisplayMap`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
0875a86
Account for the impact of edits on tab expansion
Tab characters are expanded differently based on the column on which they appear, which edits can affect. Thus, `TabMap::sync` will now expand edits to the first tab that appears on the line in which the edit occurred. Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
62ad97a
Add randomized test for `DisplayMap::buffer_rows` and fix logic errors
Antonio Scandurra created
72fdd3f
Start rendering highlighted text and line numbers via the wrap map
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
b513df3
WIP
Nathan Sobo created
07e97e6
wip
Max Brunsfeld created
d0fdc7b
Get simple unit test passing for soft-wrap in DisplayMap
Max Brunsfeld created
7832562
Add WrapMap as a member of DisplayMap
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
dbc8fc3
Fix assertions in fold map test
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
61397f2
Avoid holding executor's state lock while parked
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
ee21369
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>
Nathan Sobo and Max Brunsfeld created
64927ab
Allow DeterministicExecutor to park until forbid_parking is called
This allows us to perform async setup such as talking to the database.
Nathan Sobo created
f626376
WIP: interpolate edits into snapshot coming from `BackgroundWrapper`
Co-Authored-By: Nathan Sobo <nathan@zed.dev> Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created
3d3a14b
Add `DeterministicExecutor::block_on(duration, future)`
Co-Authored-By: Nathan Sobo <nathan@zed.dev> Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created
3d8c59a
Implement `Snapshot::interpolate`
Antonio Scandurra created
b66de06
Ensure that `WrapMap`'s input lines match `TabMap`'s output lines
Antonio Scandurra created
d0113a1
Coalesce contiguous isomorphic transforms
Antonio Scandurra created
3d845f8
Remove stray logging statements
Antonio Scandurra created
39b7349
Make randomized tests pass with one operation
Antonio Scandurra created
3b77b01
Iterate on randomized wrapping test and fix some bugs
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
e0da3fd
Get the randomized soft wrap test passing with no edits
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
2ce42ff
Honor the last line when wrapping even if it doesn't end in \n
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
f9e13f3
Start work on WrapMap::chunks_at
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
8e9a5e0
Fix typo in Point::add_assign
Max Brunsfeld created
e193a66
WIP
Nathan Sobo created
5a33612
WIP
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
631a6a2
Re-enable `wrap_map` module and fix compile errors
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
359132a
Extract tab expansion logic into `TabMap`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
5a0d156
Clarify input and output coordinates in `display_map`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
e00eafb
WIP
Antonio Scandurra created
9e448e6
Add `fold_map::Snapshot::text_summary_for_range`
Antonio Scandurra created
7a86a2c
Change `fold_map::Edit` to return `DisplayOffset`s
This is needed so that we can translate display offsets into display points in the `WrapMap`.
Antonio Scandurra created
38dffc3
Fix errors in WrapMap randomized tests
Antonio Scandurra created
05e5e5f
Implement FontSystem::wrap_line
Max Brunsfeld created
9895c77
WIP
Antonio Scandurra created
1ba9e48
Start on adding a randomized test for `BackgroundWrapper`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
8d3c3d7
Work on a randomized test for edits/snapshots returned by `FoldMap`
...and make it pass too!
Antonio Scandurra created
831b620
Make writing/reading `FoldMap` explicit so that we can retrieve edits
Antonio Scandurra created
23b55d8
Pull snapshot history out of fold map
Antonio Scandurra created
e0930dd
Add FoldMapSnapshot::edits_since_creation
Max Brunsfeld created
8b34dea
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>
Nathan Sobo and Max Brunsfeld created
2c9f730
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>
Nathan Sobo and Max Brunsfeld created
f561f33
Move DisplayMap's reading methods to DisplayMapSnapshot
Max Brunsfeld created
2bde549
Move all FoldMap query methods to FoldMapSnapshot
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
09afba9
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.
Nathan Sobo created
be95487
Calculate an `old_lines` range in `Edits` iterator
Antonio Scandurra created