372d2cc
Extract most colors in codebase into theme file. switch to dark
Max Brunsfeld created
372d2cc
Extract most colors in codebase into theme file. switch to dark
Max Brunsfeld created
c306ac0
Allow more time wrapping to complete synchronously
We're seeing occasional flickers and wondering if this will help. Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
e7d03af
Fix moving to previous word across a wrap boundary
I'm just going to the end of the soft-wrapped line, mirroring the behavior with hard wraps. It's maybe not perfectly technically correct but that behavior would require us to consider word boundaries outside of the current line, which doesn't seem worth the complexity.
Nathan Sobo created
25c472a
WIP - unit test for word-wise movement w/ soft wrap
Max Brunsfeld created
aab51e7
Add some incomplete tests for movement
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Nathan Sobo and Max Brunsfeld created
492a09f
Fix movement across soft wrap boundaries
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
c779633
Make unfolding inclusive
If the range *touches* the fold, we unfold. This was needed to fix the behavior for unfolding at the current selection position. Previously, there was some kind of translation issue that was allowing us to accidentally work the way we wanted without this. Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
38d4662
Only honor rightward bias for buffer points *inside* of folds
(Not at boundaries) Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
a6a8f4f
Introduce a struct for spanned_rows result
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
029460b
Respect buffer row boundaries in line-oriented edit operations
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
84fc8f0
Don't let people retry randomized tests
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
6efadd1
Reuse FontCache across randomized tests
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
a1991a7
Report the end of the current row rather than the start of the next
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Nathan Sobo and Antonio Scandurra created
82ed33a
Fix bugs in {prev,next}_row_boundary
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
05f8a61
Add a bias parameter when converting buffer points to fold points
Max Brunsfeld created
c1808d0
Add randomized test for DisplayMap
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld and Nathan Sobo created
576cabe
WIP
Antonio Scandurra created
8ba8fa5
Parse randomized test env vars at runtime
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Max Brunsfeld and Antonio Scandurra created
c1a9a20
Setup randomized test harness in `gpui::test`
Co-Authored-By: Nathan Sobo <nathan@zed.dev> Co-Authored-By: Max Brunsfeld <max@zed.dev>
Antonio Scandurra , Nathan Sobo , and Max Brunsfeld created
b0f3778
Allow passing `iterations` and `seed` as env variables
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
42e2b9f
Move buffer rows test into `WrapMap` randomized test
Also, change the way we assert on buffer rows to reflect the fact that we will still show the line as soft-wrapped when there is a fold that spans multiple buffer rows.
Antonio Scandurra created
d6eb6d3
Use a uniform distribution for generating random characters
Antonio Scandurra created
169a298
Expand edits correctly when there are folds or multi-byte chars
Previously, we were mistakenly adding `tab_size` to the extent produced by the fold edits but that could cause the edit to land on a multi-byte character (like a fold or an emoji). In practice, we only need to expand the edit's extent by 1 because we are operating in the fold coordinate space and all we need to convey is that we want to encapsulate the first tab next to whatever edit has just occurred in the `FoldMap`.
Antonio Scandurra created
e7d1af2
Add fold mutations to randomized test for `WrapMap`
Antonio Scandurra 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