Commit log

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

Click to expand commit body
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`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

0875a86 Account for the impact of edits on tab expansion

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

dbc8fc3 Fix assertions in fold map test

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

61397f2 Avoid holding executor's state lock while parked

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Max Brunsfeld and Nathan Sobo created

ee21369 Replace DeterministicExecutor::reset with forbid_parking

Click to expand commit body
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

Click to expand commit body
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`

Click to expand commit body
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)`

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>

Nathan Sobo and Max Brunsfeld created

f9e13f3 Start work on WrapMap::chunks_at

Click to expand commit body
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

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

631a6a2 Re-enable `wrap_map` module and fix compile errors

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

359132a Extract tab expansion logic into `TabMap`

Click to expand commit body
Co-Authored-By: Nathan Sobo <nathan@zed.dev>

Antonio Scandurra and Nathan Sobo created

5a0d156 Clarify input and output coordinates in `display_map`

Click to expand commit body
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

Click to expand commit body
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`

Click to expand commit body
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`

Click to expand commit body
...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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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

Click to expand commit body
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