Commit Graph

22063 Commits

Author SHA1 Message Date
Max Brunsfeld
d37a98782e Improve border parsing in themes
The `top`, `left`, `bottom` and `right` fields are optional.
If none are specified, then they are all set to true.

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-04 17:19:42 -07:00
Nathan Sobo
522fac9690 Fix compile error in tests
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-04 17:56:38 -06:00
Nathan Sobo
1a21902460 Move fuzzy mod out of worktree
We now match against arbitrary strings in addition to paths.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-04 17:46:53 -06:00
Nathan Sobo
593afb2d9e Change reload theme binding 2021-08-04 17:34:15 -06:00
Nathan Sobo
039dae064c Remove logging 2021-08-04 17:09:15 -06:00
Nathan Sobo
85a076312a Merge branch 'main' into theme-variables 2021-08-04 16:47:43 -06:00
Nathan Sobo
d484d80238 Match file finder icon color to label color 2021-08-04 16:17:33 -06:00
Nathan Sobo
33a8942c8b Pull empty selector label styling from correct place in theme 2021-08-04 16:12:15 -06:00
Nathan Sobo
7494a395ed Specify tab padding in theme 2021-08-04 16:08:15 -06:00
Nathan Sobo
4d947580b1 Reload current theme on cmd-k shift-T
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-04 15:52:23 -06:00
Max Brunsfeld
8238c87481 Test bundled themes and store names on themes
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-04 14:16:28 -07:00
Max Brunsfeld
802f1f4e78 Get new theme structure working
* Fix precedence of extends directives
* Always group color with font properties for text theming

Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-04 14:07:19 -07:00
Nathan Sobo
56354c7623 Avoid crashes when laying out lines containing byte order marks
This solution isn't perfect and we'll probably have layout bugs with these lines, but this prevents us from triggering undefined behavior.

Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-04 11:52:21 -06:00
Nathan Sobo
5761756fb4 Move remaining theme-related code and tests from settings mod to theme mod 2021-08-03 19:42:39 -06:00
Nathan Sobo
90b51c3356 Implement themes::ThemeRegistry::get
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-03 19:35:15 -06:00
Nathan Sobo
ca9862fff1 Start on new theme::ThemeRegistry
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-08-03 18:51:06 -06:00
Max Brunsfeld
81041d7841 Restructure Theme with new style objects 2021-08-03 13:36:58 -07:00
Max Brunsfeld
ef0ffbe819 Use custom color wrapper type everywhere in gpui & zed
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-03 12:48:58 -07:00
Max Brunsfeld
fa01273466 Extract {Container,Label}Style structs from those elements
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-03 11:07:03 -07:00
Nathan Sobo
200e278bc9 💄 2021-08-02 20:07:48 -06:00
Nathan Sobo
4c53470800 Notify all views when a theme is selected 2021-08-02 16:57:10 -06:00
Max Brunsfeld
b30d0daabf Add a theme picker
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 14:55:27 -07:00
Max Brunsfeld
e080739d57 Remove use of replace_with crate for managing element lifecycles
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 13:11:11 -07:00
Max Brunsfeld
76c07fb232 Make Theme::default have a non-empty replica theme vector
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-08-02 13:09:43 -07:00
Antonio Scandurra
d5ec0c8feb Fix moving to next word boundary with multi-byte characters
Previously, for a given point, we would create a char iterator at
the start of the row and the skip `column` characters. This is
however incorrect because display points are expressed in bytes,
and so we could park the anchor midway through a multi-byte character.

This commit fixes the issue by switching `DisplayMap::chars_at` to
take a point instead and skipping characters correctly when a point with
a non-zero column is provided.
2021-08-02 14:11:31 +02:00
Max Brunsfeld
92353b6967 Start work on allowing variables in themes 2021-07-30 17:28:22 -07:00
Nate
6a03f9368b Ship new Zed icon! 2021-07-30 19:34:35 -04:00
Max Brunsfeld
7828c1b0d8
Merge pull request #121 from zed-industries/save-file-as-new-worktree
Fix error when saving an untitled file outside of any existing worktree
2021-07-30 14:22:41 -07:00
Max Brunsfeld
eb05103d2d Fix saving an untitled file outside of any existing worktree 2021-07-30 14:19:42 -07:00
Max Brunsfeld
5ac0a1985e
Merge pull request #122 from zed-industries/deterministic-random-synchronous-tests
Use deterministic executor in randomized synchronous tests
2021-07-30 14:16:05 -07:00
Max Brunsfeld
8785f1f9c6 Use deterministic executor in randomized synchronous tests
Remove App::test function
2021-07-30 14:07:37 -07:00
Max Brunsfeld
4c3f97d123 Fix type of Workspace::open_new_file context parameter
Fixes #118
2021-07-30 10:11:46 -07:00
Max Brunsfeld
33b9a6e281 Specify zed as the workspace's default member
This way, `cargo run` at the root of the repo will run the Zed app
instead of the server.
2021-07-30 10:00:04 -07:00
Antonio Scandurra
849604c7e4 Don't mark the first row as soft-wrapped when the tree is empty
Also, add a randomized test to verify that soft-wrapped rows are
reported correctly.
2021-07-30 09:50:28 -07:00
Antonio Scandurra
db9cfb0d2b Highlight active lines 2021-07-30 09:50:28 -07:00
Antonio Scandurra
3abed88c76 Highlight active row(s) in the gutter 2021-07-30 09:50:28 -07:00
Max Brunsfeld
372d2ccb6d Extract most colors in codebase into theme file. switch to dark 2021-07-30 09:50:28 -07:00
Nathan Sobo
c306ac007c 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>
2021-07-30 09:50:28 -07:00
Nathan Sobo
e7d03af942 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.
2021-07-30 09:50:28 -07:00
Max Brunsfeld
25c472acd0 WIP - unit test for word-wise movement w/ soft wrap 2021-07-30 09:50:28 -07:00
Nathan Sobo
aab51e7576 Add some incomplete tests for movement
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
492a09f1be Fix movement across soft wrap boundaries
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
c779633154 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>
2021-07-30 09:50:28 -07:00
Nathan Sobo
38d4662a4e Only honor rightward bias for buffer points *inside* of folds
(Not at boundaries)

Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
a6a8f4fd81 Introduce a struct for spanned_rows result
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
029460bf7e Respect buffer row boundaries in line-oriented edit operations
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
84fc8f0f4f Don't let people retry randomized tests
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
6efadd19dd Reuse FontCache across randomized tests
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Nathan Sobo
a1991a7458 Report the end of the current row rather than the start of the next
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2021-07-30 09:50:28 -07:00
Max Brunsfeld
82ed33a924 Fix bugs in {prev,next}_row_boundary
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-07-30 09:50:28 -07:00