6131929
Don't render line numbers for soft-wrapped line segments
Nathan Sobo created
6131929
Don't render line numbers for soft-wrapped line segments
Nathan Sobo created
4718717
Clip left when moving cursor to end of line
This ensures we stay on the same line when the current display line ends with a soft wrap.
Nathan Sobo created
b14721f
Clip left when moving vertically
Nathan Sobo created
7a5f1b5
Preserve logical scroll position when wrap width changes
Nathan Sobo created
3d07be3
Remove unnecessary `Mutex` from scroll-related state in `Editor`
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
694ab0d
Fix outdated test assertions after changing wrapping behavior
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
164cafa
Preserve indentation when soft-wrapping
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
2f1a5c4
Use `LineWrapper` in a thread-local fashion
This removes the critical section from a hot code path, yielding a 2x speedup to rewrap an entire file.
Antonio Scandurra created
2dcf04c
Avoid allocation in LineWrapper::wrap_line
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
59bb662
:racehorse: Avoid SumTree::update_last when wrapping lines
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
8de8c67
Fix panic when fuzzy-matching on a `Worktree` that contains no files
As part of our work on the deterministic executor, in c4e37dc we fixed a bug that occurred when there were more CPUs than paths to fuzzy-match on. However, that introduced another bug that caused Zed to panic when trying to calculate how many paths should be fuzzy-matched by each available worker thread for worktrees that didn't contain any file. This commit bails out early in `fuzzy::match_paths` if the vector of paths to search is empty.
Antonio Scandurra created
dd6820e
Avoid crashes from trying to lay out too large of lines
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
9d14ca8
Store pending edits until applying them to a non-interpolated snapshot
Antonio Scandurra created
1ef7474
Change wrap width in randomized test and fix discovered bugs
Antonio Scandurra created
0586a89
Fix unused variable warning
Antonio Scandurra created
b647e3e
Make `WrapMap` and `DisplayMap` models
This removes the need for a lock around in `WrapMap` and also removes `WrapMap::notifications` because gpui already has a standard way of notifying when a model updates.
Antonio Scandurra created
b04c574
Set snapshot in the foreground after recomputing it in the background
Antonio Scandurra created
623d574
Fix mistakenly moved line in beginning/end of line editor tests
Antonio Scandurra created
0004dc6
Remove remaining I/O nomenclature for `DisplayMap` coordinates
Antonio Scandurra created
58054c6
Fix panic due to incorrectly calculating editor text size in layout
Antonio Scandurra created
61b5d66
Eliminate input/output nomenclature from fold_map
Instead, just use FoldPoint, FoldOffset, etc. We don't need the naming to be general because we know exactly which layer we're building on at each layer of the DisplayMap.
Nathan Sobo created
da50576
Fix remaining errors and warnings
Nathan Sobo created
9edc8b9
WIP
Nathan Sobo created
3bf47be
WIP
Nathan Sobo created
f81f043
WIP
Nathan Sobo created
11285f3
Pass a MutableAppContext to Element::layout and ::dispatch_event
We need to mutate the app in these cases to relay layout state, so this just makes things easier. We won't be able to perform layout in parallel but it's questionable whether we'll ever actually do that. If we do, we can revisit. Co-Authored-By: Antonio Scandurra <me@as-cii.com> Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo , Antonio Scandurra , and Max Brunsfeld created
61f4580
Optimize `Buffer::edits_since` when the version hasn't changed
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
14fcc26
Don't insert empty isomorphic transforms when interpolating
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
a8db064
Get wrapping randomized test passing with wrap width as small as 0
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
174a546
Expand tabs correctly in `TabMap`'s highlighted chunks iterator
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
502f54a
Don't poll foreground futures during `DeterministicExecutor::block_on`
Antonio Scandurra created
416571e
Fix wrap map randomized tests
Antonio Scandurra created
d61f26d
Get randomized test compiling against new WrapMap structure
It doesn't pass.
Max Brunsfeld created
53fd3a1
Move LineWrapper test to line_wrapper.rs
Max Brunsfeld created
5d22c6c
Start restructuring WrapMap with simpler concurrency
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
80f13dd
WIP
Antonio Scandurra created
f7c8864
Fix panic in `WrapMap::highlighted_chunks_for_rows`
Also, add a unit test for `DisplayMap` with syntax highlighting when soft wrap is on.
Antonio Scandurra 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