Kirill Bulatov
16293ef907
Add invisibles wrapping test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
af7ba36856
Do not print invisibles in non-full mode editors
2023-05-08 19:36:51 +03:00
a89d1c939e
Add a theme entry for whitespace, use it to style whitespaces
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
Co-Authored-By: Kirill Bulatov <mail4score@gmail.com >
2023-05-08 19:36:51 +03:00
Kirill Bulatov
820bc9b5b7
Fix wrapped line detection
2023-05-08 19:36:51 +03:00
Kirill Bulatov
9f008a5a69
Use more convntional name for the settings
2023-05-08 19:36:51 +03:00
Kirill Bulatov
21d1d2ec4c
Add a test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
f670a9fac6
Do not print extra invisibles on line wraps
2023-05-08 19:36:51 +03:00
Kirill Bulatov
7530a10c4e
Refactor line glyphs drawing methods
2023-05-08 19:36:51 +03:00
Kirill Bulatov
e3ff9ad822
Support invisibles in the selection
2023-05-08 19:36:51 +03:00
Kirill Bulatov and Max Brunsfeld
b9856ce0e8
Use cached standard glyphs for invisible symbols
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com >
2023-05-08 19:36:51 +03:00
Kirill Bulatov
7762f0fdef
Add whitespaces rendering
2023-05-08 19:36:51 +03:00
Kirill Bulatov
ac1ba279c2
Draw tabs with svg icons in editor code only
2023-05-08 19:36:51 +03:00
Kirill Bulatov
23ef5d3f14
Make invisibles display configurable
2023-05-08 19:36:51 +03:00
Kirill Bulatov
f5f2f2ccb6
Draft invisibles' tabs display
2023-05-08 19:36:51 +03:00
Max Brunsfeld and Antonio Scandurra
6708c6cd01
Add is_tab field to chunks
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev >
2023-05-08 19:36:51 +03:00
Julia
f79cfd3b61
Prevent some cases of clipping icons due to pixel coord rounding
2023-05-08 11:42:00 -04:00
Kirill Bulatov
903078b060
Remove unused dependencies
2023-05-07 21:07:55 +03:00
Antonio Scandurra
cbf84f3795
Merge pull request #2441 from zed-industries/implicit-ancestry
...
Determine view ancestry during layout
2023-05-05 10:58:00 +02:00
Antonio Scandurra
95deccdf8a
💄
2023-05-05 10:53:15 +02:00
Antonio Scandurra
84c00a71a1
Delay focus_in event for window activation till after layout
2023-05-05 10:47:42 +02:00
Antonio Scandurra
32a698689f
Replace usages of is_parent_view_focused with is_self_focused
...
Previously, this was used because we didn't have access to the current
view and `EventContext` was an element-only abstraction. Now that the
`EventContext` wraps the current view's `ViewContext` we can simply check
for the view's focus and avoid querying ancestors.
2023-05-05 10:08:22 +02:00
Antonio Scandurra
4277027223
Make focusing the parent an effect to avoid querying ancestors
2023-05-05 10:04:54 +02:00
Joseph T. Lyons
3a125b2a44
Merge pull request #2447 from zed-industries/fix-auto-update
...
Do not use post_json() to auto update
2023-05-04 17:15:09 -04:00
Mikayla Maki
637a3f37c6
Rearrange the state machine
2023-05-04 13:45:31 -07:00
Julia
cac502638d
Fixup cases using buffer model handle id as buffer id
2023-05-04 12:32:31 -04:00
Julia and Antonio Scandurra
99d1c15ccc
Offload text::Buffer construction to background worker
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2023-05-04 12:32:31 -04:00
Julia and Antonio Scandurra
03e9b764b1
Store history base text as rope
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com >
2023-05-04 12:32:31 -04:00
Joseph Lyons
6aefd6a391
Do not use post_json() to auto update
2023-05-04 12:12:36 -04:00
Antonio Scandurra
206e64d67d
Merge branch 'main' into implicit-ancestry
2023-05-04 17:19:06 +02:00
Antonio Scandurra
0b9c6ad77d
Use Workspace::toggle_sidebar_item when clicking on sidebar button
...
Previously, we were mistakenly using `Sidebar::toggle_item`, which only
performs part of the toggle operation.
2023-05-04 17:06:37 +02:00
Antonio Scandurra
1703c954bd
Avoid calling update_window twice in blurred event handler
...
This was preventing us from unhooking vim when performing a rename,
which prevented typing in the rename editor.
2023-05-04 16:18:01 +02:00
Antonio Scandurra
fe1bf384fc
Merge pull request #2442 from zed-industries/filter-vim-commands
...
Filter out vim commands when vim mode is disabled
2023-05-04 15:00:19 +02:00
Antonio Scandurra
51542daadd
Filter out vim commands when vim mode is disabled
2023-05-04 14:52:34 +02:00
Antonio Scandurra
3c580153ed
Merge branch 'main' into implicit-ancestry
2023-05-04 14:39:58 +02:00
Antonio Scandurra
5473d8f556
Fix panic when opening multiple definitions in a multibuffer
...
The editor is on the stack, so adding an item to the `Pane` containing
the editor will cause a double borrow and a consequent panic. This
commit fixes the issue by deferring the opening of the definitions.
2023-05-04 14:34:42 +02:00
Antonio Scandurra
e9f26b3816
Verify keystrokes can be queried while views are on the stack
2023-05-04 12:09:32 +02:00
Antonio Scandurra
1b1f2a3e5e
Avoid re-allocating KeymapContext after every view notification
2023-05-04 12:04:30 +02:00
Antonio Scandurra
9be6185828
Cache view's type id and keymap context into a separate map
...
During `layout`, we now pass a mutable reference to the element's
parent view. This is a recursive process that causes the view to
be removed from `AppContext` and then re-inserted back into it once
the layout is complete.
As such, querying parent views during `layout` does not work as such
views will have been removed from `AppContext` and not yet re-inserted
into it. This caused a bug in `KeystrokeLabel`, which used the `keystrokes_for_action`
method to query its ancestors to determine their type id and keymap context.
Now, any time a view notifies, we will cache its keymap context so that
we don't need to query the parent view during `layout`.
2023-05-04 10:47:56 +02:00
Antonio Scandurra
65cae21800
Remove stray dbg! statement
2023-05-04 09:56:49 +02:00
Antonio Scandurra
f5c0e2c314
Remove WindowContext::is_child_focused
2023-05-04 09:53:35 +02:00
Antonio Scandurra
26e6251af7
Make dispatch_event related methods public to the crate only
2023-05-04 09:53:35 +02:00
Antonio Scandurra
8c31093cc3
Ensure querying keystrokes or actions is safe
...
This is achieved by moving `available_actions` into `AsyncAppContext` (where
we know no view/window is on the stack) and `keystrokes_for_action` into `LayoutContext`
where we'll fetch the previous frame's ancestors and notify the current view if those
change after we perform a layout.
2023-05-04 09:53:31 +02:00
Joseph Lyons
d4e4c5b885
collab 0.11.0
2023-05-03 14:59:04 -04:00
Joseph Lyons
9b8f260356
v0.86.x dev
2023-05-03 14:38:41 -04:00
Max Brunsfeld
54815f70ed
Merge branch 'main' into copilot-disabled-globs
2023-05-03 10:53:28 -07:00
Antonio Scandurra
4f4b0d8745
Allow notifying views when the ancestry of another view is outdated
2023-05-03 19:25:00 +02:00
Max Brunsfeld
647c3960d9
Add copilot menu item for enabling paths by glob
2023-05-03 10:14:01 -07:00
Antonio Scandurra
83e5f8dd49
Make dispatch_keystroke public to the crate only
2023-05-03 19:13:17 +02:00
Antonio Scandurra
a849bf931b
Remove ViewContext::is_child
2023-05-03 19:09:07 +02:00
Antonio Scandurra
857bd080ad
Fix integration test relying on deferred happening after focus
...
Focus is now one of the last things that happens during `flush_effects`,
and we shouldn't have relied on `defer` in the first place to verify
focus changes.
2023-05-03 19:00:32 +02:00