Nathan Sobo
2fb13cf1ca
Separate WrappedLines from ShapedLines ( #3350 )
...
ShapedLines are never wrapped, whereas WrappedLines are optionally
wrapped if they are associated with a wrap width. Originally, when
rewriting GPUI, I tried to combine everything because wrapping is
inherently optional for the Text element, but we have a bunch of APIs
that don't make sense on a line that may wrap, so we need a distinct
type for that case.
This is a precursor to implementing clickable links in markdown. I
noticed multiple places where we were confused about whether or not the
line was wrapped so this felt important.
Release Notes:
- N/A
2023-11-16 23:20:35 -07:00
Nathan Sobo
9558da8681
Separate WrappedLines from ShapedLines
...
ShapedLines are never wrapped, whereas WrappedLines are optionally wrapped if
they are associated with a wrap width. I tried to combine everything because
wrapping is inherently optional for the Text element, but we have a bunch of
APIs that don't make sense on a line that may wrap, so we need a distinct type
for that case.
2023-11-16 23:10:51 -07:00
Mikayla Maki
61bd6bab09
Actions‽ ( #3349 )
...
This PR re-implements our actions with macros instead of a blanket impl.
Release Notes:
- N/A
2023-11-16 18:18:04 -08:00
Mikayla
49d3e1cc4b
Add default derive
2023-11-16 17:39:05 -08:00
Mikayla
4de2c0f7ef
Re-implement actions as derive macros instead of blanket impls
2023-11-16 17:32:02 -08:00
Nate Butler
a526f23c81
Add ui_font settings and set default rem size accordingly ( #3346 )
...
[[PR Description]]
- Adds ui_font_family, ui_font_features, ui_font_size to settings and
default settings
- Use the new ui font settings to set the rem size when the workspace is
created.
Release Notes:
- N/A
2023-11-16 15:40:33 -05:00
Marshall Bowers
b559bfd80f
Parameterize theme2::init
to allow loading just the base theme ( #3345 )
...
This PR adds a parameter to the `theme2::init` method to indicate what
the theme-loading behavior should be.
This allows us to indicate when we want to load all of the additional
built-in user themes (like in the Zed binary and in the storybook), and
when we don't want to load the user themes (like in tests).
We're using an enum over just a `bool` here for clarity at the call
site.
Release Notes:
- N/A
2023-11-16 13:03:30 -05:00
Nate Butler
38d0fdc09a
Remove todo
...
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-16 11:42:23 -05:00
Nate Butler
c71e522b4e
Allow users to set UI font properties in their settings
...
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-16 11:37:46 -05:00
Piotr Osiewicz
6b6a30c3da
Merge branch 'main' into search2
2023-11-16 17:16:15 +01:00
Antonio Scandurra
c08ce1c3b8
Start rendering autocompletion menu
2023-11-16 14:55:06 +01:00
Kirill Bulatov
fd61683c46
WIP
2023-11-16 10:40:02 +02:00
Mikayla
9da0b78ead
Merge branch 'main' into tabs-n-splits
2023-11-15 23:41:25 -08:00
Conrad Irwin
8c14a8fa95
Merge branch 'main' into collab_ui2
2023-11-15 21:04:47 -07:00
Conrad Irwin
0a9fb3978b
Enable panel switching
2023-11-15 21:01:00 -07:00
Nathan Sobo
e5ada92b7b
Remove initialize from the Element trait ( #3338 )
...
Initially, we imagined registering keyboard handlers in the initialize
phase so we would understand the relationships between focus handles
during the layout pass, which would allow us to assign assign `focus_in`
styles that impact layout.
However, we soon realized that many elements aren't created until paint
time anyway, such as within the uniform list. Since it's impossible to
know prior to paint whether an element contains the focused element, it
makes more sense to eliminate the `focus_in` styling helper.
Release Notes:
- N/A
2023-11-15 19:36:35 -07:00
Mikayla
78cea69172
Add focusable view and restore workspace deserialization. Partially restore split and tab functions
2023-11-15 16:36:43 -08:00
Nathan Sobo
c6b374ebc9
Remove initialize method from Element trait
2023-11-15 14:11:19 -07:00
Conrad Irwin
0a51784dd0
Leaky, but better, test abstraction
2023-11-15 14:01:10 -07:00
Antonio Scandurra
08dfcba68a
Fix panic when painting blocks
2023-11-15 20:02:35 +01:00
Antonio Scandurra
c7b7f7dfd5
Move render_view
into View::render_with
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 18:50:09 +01:00
Antonio Scandurra
9ff238921f
Fix clicking on code action and fold indicators
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 18:29:53 +01:00
Antonio Scandurra
17b8e4a684
Handle clicking folded ranges
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 18:19:26 +01:00
Antonio Scandurra
3ff8c78b58
Return a Fold
struct when querying the FoldMap
...
This contains a new `id` field that lets us distinguish among folds.
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-11-15 17:09:59 +01:00
Antonio Scandurra
851a60a68e
Render fold indicators in the gutter
2023-11-15 14:07:37 +01:00
Piotr Osiewicz
b11bfa8821
Merge branch 'main' into search2
2023-11-15 12:54:26 +01:00
Antonio Scandurra
45381e566c
Fix focus management on editor when renaming
2023-11-15 11:05:09 +01:00
Antonio Scandurra
003e4bc241
Extract out a register_actions function
2023-11-15 09:53:32 +01:00
Antonio Scandurra
feeb44c122
Merge remote-tracking branch 'origin/main' into editor2-rename
...
# Conflicts:
# crates/editor2/src/editor.rs
# crates/editor2/src/element.rs
# crates/gpui2/src/style.rs
2023-11-15 09:51:33 +01:00
Antonio Scandurra
c3094b7c3d
Introduce gpui::render_view
2023-11-15 09:45:23 +01:00
Antonio Scandurra
1def355d44
Don't return Result
from TextStyle::highlight
2023-11-15 09:10:46 +01:00
Mikayla
b81b96f353
Merge branch 'element-types' of github.com:zed-industries/zed into element-types
2023-11-14 15:55:53 -08:00
Mikayla
7f72df6dcf
Merge branch 'main' into element-types
2023-11-14 15:49:10 -08:00
Mikayla Maki
df64a3c701
Not working yet file-finder2 ( #3321 )
...
Porting file_finder
Release Notes:
- N/A
2023-11-14 15:22:59 -08:00
Conrad Irwin
1109cd11c8
Abandon ship
2023-11-14 16:17:24 -07:00
Nathan Sobo
bef4df5df9
Return an id from Element::element_id
instead of calling cx.with_element_id
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-14 16:05:28 -07:00
Max Brunsfeld
ca63a99736
Enable tests in project panel 2 ( #3325 )
2023-11-14 15:02:51 -08:00
Mikayla
6b25841e2a
WIP
2023-11-14 14:48:34 -08:00
Conrad Irwin
3b01a032ba
In the middle of stuff
2023-11-14 14:38:23 -07:00
Max Brunsfeld
123faed5b0
Re-enable all project panel tests
...
Some are still failing.
2023-11-14 12:45:46 -08:00
Conrad Irwin
37d0b8424c
Merge branch 'main' into element-types
2023-11-14 12:10:26 -07:00
Marshall Bowers
76c15229c1
Combine LabelColor
and IconColor
into TextColor
2023-11-14 13:48:01 -05:00
Conrad Irwin
5dda105182
Merge branch 'main' into element-types
2023-11-14 11:45:19 -07:00
Antonio Scandurra
48b3a90fbf
WIP
2023-11-14 19:42:07 +01:00
Nathan Sobo
bb584cc7c4
WIP
2023-11-14 11:00:52 -07:00
Antonio Scandurra
428be43710
Wire up rename editor
2023-11-14 18:50:02 +01:00
Piotr Osiewicz
08dde94299
WIP styling
...
Co-authored-by: Nate <nate@zed.dev>
2023-11-14 17:59:53 +01:00
Antonio Scandurra
7f5014b34a
Add red background to blocks that need styling
2023-11-14 17:15:33 +01:00
Piotr Osiewicz
6c69e40e5c
WIP
2023-11-14 16:56:31 +01:00
Antonio Scandurra
b6914bf0fd
Re-enable find all references
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-14 16:09:29 +01:00
Antonio Scandurra
f9b9b7549f
Render block elements
...
Co-Authored-By: Julia <julia@zed.dev>
2023-11-14 16:03:06 +01:00
Antonio Scandurra
fc5ec47cc8
WIP
2023-11-14 14:48:59 +01:00
Nathan Sobo
364e3e7de5
Merge remote-tracking branch 'origin/main' into element-types
2023-11-14 01:55:58 -07:00
Nathan Sobo
27fb381cca
Checkpoint
2023-11-14 01:15:48 -07:00
Nathan Sobo
4a3a1ad0c3
Checkpoint
2023-11-13 22:42:19 -07:00
Conrad Irwin
e0416e9d2a
Fix SingleLine editor font size
2023-11-13 21:41:41 -07:00
Nathan Sobo
044d9679ab
Checkpoint
2023-11-13 21:40:02 -07:00
Nathan Sobo
922bb3195b
WIP
2023-11-13 18:58:42 -07:00
Conrad Irwin
06f3c60be8
Fix action dispatching...
2023-11-13 18:56:59 -07:00
Nathan Sobo
76754c559c
WIP
2023-11-13 18:18:25 -07:00
Mikayla
d197660d3b
Fix broken tests and comment out remaining tests
2023-11-13 16:46:06 -08:00
Mikayla
7d1593b90c
Merge branch 'main' into editor-tests
2023-11-13 15:53:22 -08:00
Mikayla
a4e9fea133
WIP
...
co-authored-by: conrad <conrad.irwin@zed.dev>
2023-11-13 15:53:04 -08:00
Marshall Bowers
53117eb5e5
Merge branch 'main' into one-themes
2023-11-13 18:16:45 -05:00
Nate Butler
dd434588ee
WIP
2023-11-13 17:38:44 -05:00
Conrad Irwin
f464d69ff8
Merge branch 'main' into dispatch-tree
2023-11-13 13:21:57 -07:00
Mikayla
0e3fd92bd0
Get editor tests compiling
2023-11-13 12:10:14 -08:00
Piotr Osiewicz
dfd68d4cb8
WIP: start search2
2023-11-13 20:38:37 +01:00
Mikayla
4c5d5105f3
Merge branch 'main' into editor-tests
2023-11-13 09:54:02 -08:00
Antonio Scandurra
a6c95ad331
Fix panic when querying available actions
2023-11-13 18:29:18 +01:00
Kirill Bulatov
dbd26ac651
Make inlay hint cache tests pass
...
Co-Authored-By: Conrad <conrad.irwin@gmail.com>
2023-11-13 18:25:21 +02:00
Antonio Scandurra
c8fb8e2859
💄
2023-11-13 15:20:43 +01:00
Kirill Bulatov
e257f7d0b1
Ignore tests for now
2023-11-13 15:02:24 +02:00
Kirill Bulatov
a9c17e7407
Uncomment all inlay hint cache code and tests
2023-11-13 14:07:48 +02:00
Antonio Scandurra
9c18253863
Register key and action listeners using Interactive::initialize
...
Co-Authored-By: Thorsten <mrnugget@gmail.com>
2023-11-13 11:37:57 +01:00
Nate Butler
800ad1d3dc
Update command palette style
2023-11-12 22:13:54 -05:00
Nathan Sobo
7eaba8fabc
WIP
2023-11-10 14:47:45 -07:00
Nate Butler
6bdb6e486e
Refactor command palette, picker and code action styles.
...
Co-Authored-By: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com>
2023-11-10 16:13:25 -05:00
Nathan Sobo
74a0d9316a
Add a DispatchTree which will replace the existing key dispatch strategy
...
Instead of freezing a stack, we will record the entire dispatch tree so we can
change focus.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-11-10 11:56:14 -07:00
Antonio Scandurra
c2c6921734
🔥
2023-11-10 16:41:21 +01:00
Antonio Scandurra
198a854370
Fix bad import
2023-11-10 16:41:21 +01:00
Antonio Scandurra
468a014bfc
Allow measuring arbitrary items in UniformList
2023-11-10 16:41:21 +01:00
Antonio Scandurra
c44db3b7ec
Confirm code action on mouse down
2023-11-10 16:41:21 +01:00
Antonio Scandurra
fb450e35f7
Wire up keyboard interaction in code actions menu
2023-11-10 16:41:21 +01:00
Antonio Scandurra
bf576d47b1
Make code actions menu prettier
2023-11-10 16:41:21 +01:00
Antonio Scandurra
a30b47aa5f
Show a very basic code actions menu
2023-11-10 12:26:35 +01:00
Antonio Scandurra
a0987f1121
Merge remote-tracking branch 'origin/main' into code-actions-2
2023-11-10 11:01:23 +01:00
Max Brunsfeld
6f23894b40
Fix editor settings deserialization in editor2
2023-11-09 15:37:46 -08:00
Max Brunsfeld
6b8ce3cc85
Add a setting for when to seed the search query from the text under the cursor
2023-11-09 14:03:14 -08:00
Max Brunsfeld
dba41e99dd
Avoid suggesting search query if cursor is not on a word
2023-11-09 12:33:30 -08:00
Antonio Scandurra
1a0ddc424b
WIP
2023-11-09 19:11:17 +01:00
Antonio Scandurra
b029083441
Start on rendering context menu in editor2
...
Co-Authored-By: Nathan <nathan@zed.dev>
Co-Authored-By: Mikayla <mikayla@zed.dev>
2023-11-09 19:03:10 +01:00
Antonio Scandurra
5d15886675
Render code actions indicator
...
Co-Authored-By: Nathan <nathan@zed.dev>
2023-11-09 18:43:26 +01:00
Mikayla
656eb9d455
WIP
2023-11-09 00:18:00 -08:00
Mikayla
43eb7f28d1
checkpoint
2023-11-08 23:16:04 -08:00
Mikayla
269c3ea244
Uncomment tests
2023-11-08 22:11:51 -08:00
Mikayla
4404e76a2d
Merge branch 'main' into editor-integration
2023-11-08 21:33:14 -08:00
Mikayla
0bfd18ba09
WIP
2023-11-08 21:32:59 -08:00
Nathan Sobo
8c44f6a814
Simplify input handling ( #3282 )
...
This PR takes a different approach to input handling.
Rather than returning the optional input handler, focus handle pair from
the element trait, we instead allow you to register an input handler
imperatively on the window context with `WindowContext::handle_input`.
You pass a focus handle reference and any implementer of
`PlatformInputHandler`. There's an `ElementInputHandler<V>` that
implements `PlatformWindowHandler` so long as `V` implements
`InputHandler`.
Release Notes:
- N/A
2023-11-08 22:27:36 -07:00
Mikayla
2c67cc80ba
Merge branch 'main' into event-emitter
2023-11-08 20:10:38 -08:00