Mikayla Maki
d538994c7f
Use more efficient sum tree traversals for removal and improve ergonomics with iter_from
...
co-authored-by: Nathan <nathan@zed.dev>
2023-05-11 16:06:25 -07:00
Mikayla Maki
72655fc41d
fmt
2023-05-11 13:25:57 -07:00
Mikayla Maki
6f87f9c51f
Don't scan for statuses in files that are ignored
2023-05-11 13:25:07 -07:00
Mikayla Maki
1bb34e08bb
Fix test
2023-05-11 12:03:39 -07:00
Mikayla Maki
dfb6a2f7fc
fmt
2023-05-11 12:02:25 -07:00
Mikayla Maki
5b2ee63f80
Added status trickle up
2023-05-11 12:01:42 -07:00
Kirill Bulatov
f12dffa60c
Reintroduce more accesible modal keybindings
...
Brings commit 475fc40923
back
2023-05-11 20:59:10 +03:00
Mikayla Maki
5accf7cf4e
Update is_deleted when sending new repositories
2023-05-11 10:21:25 -07:00
Mikayla Maki
191ac86f09
Remove the CORRECT, overly agressive deletion codepath
2023-05-11 09:24:36 -07:00
Joseph Lyons
0ab94551f4
Revert "More keybindings in macOs modals with buttons"
...
This reverts commit 1398a12062
.
2023-05-11 11:37:34 -04:00
Julia
0f34af50a8
Use path list generated during entry reload of a refresh request
2023-05-10 23:37:02 -04:00
Mikayla Maki
adfbbf21b2
fmt
2023-05-10 20:09:37 -07:00
Mikayla Maki
f5c633e80c
Fixed bug in status deletion marking
2023-05-10 19:54:02 -07:00
Mikayla Maki
fca3bb3b93
Add randomized test for git statuses
2023-05-10 19:21:27 -07:00
Mikayla Maki
9800a149a6
Remove some external context from git status test
2023-05-10 17:59:33 -07:00
Mikayla Maki
f55ca7ae3c
Fix incorrect import
2023-05-10 17:52:23 -07:00
Mikayla Maki
18becabfa5
Add postgres migration
2023-05-10 17:50:35 -07:00
Max Brunsfeld
bc5b78198a
Define terminal settings in terminal crate
2023-05-10 17:43:10 -07:00
Mikayla Maki
c7166fde3b
Bump protocol version
2023-05-10 17:38:29 -07:00
Mikayla Maki
65d4c4f6ed
Add integration test for git status
2023-05-10 17:37:36 -07:00
Mikayla Maki
e20eaca595
Got basic replication working :)
2023-05-10 17:37:36 -07:00
Mikayla Maki
2b80dfa81d
Update protos
2023-05-10 17:37:36 -07:00
Mikayla Maki
00b345fdfe
Use sum tree traversal to remove paths
2023-05-10 17:37:36 -07:00
Mikayla Maki
23a19d85b8
Fix bug in status detection when removing a directory
2023-05-10 17:37:36 -07:00
Mikayla Maki
0082d68d4a
Revert "Convert git status calculation to use Entry IDs as the key instead of repo relative paths"
...
This reverts commit 728c6892c924ebeabb086e308ec4b5f56c4fd72a.
2023-05-10 17:37:36 -07:00
Petros Amoiridis
21e1bdc8cd
Fix yellow to be yellow
2023-05-10 17:37:36 -07:00
Petros Amoiridis
6b4242cded
Use theme.editor.diff for the colors
2023-05-10 17:37:36 -07:00
Mikayla Maki
f935047ff2
Convert git status calculation to use Entry IDs as the key instead of repo relative paths
2023-05-10 17:37:36 -07:00
Mikayla Maki
94a0de4c9f
Fix compile errors
2023-05-10 17:37:36 -07:00
Mikayla Maki
a58a33fc93
WIP: integrate status with collab
2023-05-10 17:37:36 -07:00
Mikayla Maki
18cec8d64f
Format
2023-05-10 17:37:36 -07:00
Mikayla Maki
e98507d8bf
Added git status to the project panel, added worktree test
2023-05-10 17:37:36 -07:00
Mikayla Maki
93f57430da
Track live entry status in repository
2023-05-10 17:37:36 -07:00
Mikayla Maki
bd98f78101
Fix compile error
2023-05-10 17:37:36 -07:00
Mikayla Maki
67491632cb
WIP: Track live entry status in repository
...
co-authored-by: petros <petros@zed.dev>
2023-05-10 17:37:36 -07:00
Mikayla Maki
7169f5c760
Add git status to the file system abstraction
...
co-authored-by: petros <petros@zed.dev>
2023-05-10 17:37:36 -07:00
Max Brunsfeld
cee7edabf9
Ensure the SettingsStore global is added in tests
2023-05-10 16:39:59 -07:00
Joseph Lyons
6385e51957
collab 0.12.1
2023-05-10 18:16:20 -04:00
Joseph Lyons
9405b49957
v0.87.x dev
2023-05-10 16:47:09 -04:00
Max Brunsfeld
68867fe2e1
Define journal settings in journal crate
2023-05-10 12:59:24 -07:00
Max Brunsfeld
aa6ea920e2
Define telemetry settings in the client crate
2023-05-10 12:59:24 -07:00
Max Brunsfeld
9b06be2aa2
Define vim_mode setting in vim crate
2023-05-10 12:59:24 -07:00
Max Brunsfeld
926d7b356d
Define auto_update setting in the auto_update crate
2023-05-10 12:59:24 -07:00
Max Brunsfeld
b6b2c5d1d1
Generalize settings JSON schema logic to work w/ arbitrary setting types
2023-05-10 12:59:24 -07:00
Max Brunsfeld
9a6a2d9d27
Start using the SettingsStore in the app
2023-05-10 12:59:24 -07:00
Max Brunsfeld
316f791a77
Add generic update method to SettingsStore
2023-05-10 12:59:24 -07:00
Max Brunsfeld
24e06334d0
Allow registering additional settings after loading global settings
2023-05-10 12:59:24 -07:00
Max Brunsfeld
5de9652a22
Create proof-of-concept SettingStore struct
2023-05-10 12:59:22 -07:00
Nathan Sobo
5549669316
Test moving panels
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-10 10:41:03 -06:00
Mikayla Maki
c7fcc031eb
Merge pull request #2460 from zed-industries/show-dock-on-activate
...
Fix bug with terminal button
2023-05-10 09:08:45 -07:00
Nathan Sobo
cc21421ea8
Rename item to panel in various locations
2023-05-10 09:54:20 -06:00
Mikayla Maki
0dce5ba7ae
Fix bug with terminal button
2023-05-10 08:15:20 -07:00
Antonio Scandurra
0ccb4a50e6
Create more specific dock position settings associated with each panel
2023-05-10 16:52:10 +02:00
Antonio Scandurra
e507eadb4b
Rely on root getting re-focused when panel isn't rendered
...
This achieves two things:
- When a panel like `TerminalPanel` closes its last tab, the focus
is returned to the root view (the `Workspace`)
- When a panel is moved from a dock to another, it will get rendered
in another spot but the focus will be kept on the panel
This also ensures the focus is not lost when a panel is moved from
a dock to another because that view
2023-05-10 15:43:44 +02:00
Antonio Scandurra
9b9d53fcf8
Focus the root view if the previously-focused view isn't rendered
2023-05-10 15:40:46 +02:00
Antonio Scandurra
cdcb7c8084
Merge branch 'main' into panels
2023-05-10 15:23:37 +02:00
Antonio Scandurra
f28eee88b6
Add context menu to change panel position
2023-05-10 14:05:48 +02:00
Antonio Scandurra
8fa379bbc5
Maintain panel visibility when changing its position
2023-05-10 11:06:37 +02:00
Antonio Scandurra
6e3ce6332a
Fix panic when not specifying a project_panel
setting
2023-05-10 10:43:42 +02:00
Kirill Bulatov
eec60556ab
Highlight include/exclude inputs when errors happen there
2023-05-10 11:11:31 +03:00
Kirill Bulatov
dfdf7e4866
Test the search inclusions/exclusions
2023-05-10 11:11:31 +03:00
Kirill Bulatov
80fc1bc276
Use placeholder in include/exclude editors
2023-05-10 11:11:31 +03:00
Kirill Bulatov
0e31d13a1e
Rework tab and escape key handling in search panel
...
Fixes
https://linear.app/zed-industries/issue/Z-1238/focus-the-results-multibuffer-in-project-search-on-esc
and adds a tab shortcut for project search inputs
co-authored-by: Julia <julia@zed.dev>
2023-05-10 11:11:31 +03:00
Kirill Bulatov
3da55c14a6
Fix arrow layout
2023-05-10 11:11:31 +03:00
Kirill Bulatov
6fb8679184
Trim glob input
2023-05-10 11:11:31 +03:00
Kirill Bulatov
13296d502c
Extra rows approach draft
...
co-authored-by: Max <max@zed.dev>
2023-05-10 11:11:31 +03:00
Kirill Bulatov
b5abac6af6
Draft search include/exclude logic
2023-05-10 11:11:31 +03:00
Kirill Bulatov
915154b047
Add initial include/exclude project search UI
2023-05-10 11:11:31 +03:00
Antonio Scandurra
1b5e79251c
Always dismiss context menu on click
2023-05-10 09:18:13 +02:00
Nathan Sobo
9173916ab8
Remove unused terminal_button module
2023-05-09 20:24:37 -06:00
Nathan Sobo
f554877ff4
Render the bottom dock buttons before the right dock buttons
2023-05-09 17:41:24 -06:00
Nathan Sobo
ba248244ec
Allow terminal to be docked left, bottom, or right
...
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2023-05-09 17:36:49 -06:00
Nathan Sobo
6a7feb4c4c
Allow the project panel to be docked right or left
...
Co-Authored-By: Joseph Lyons <joseph@zed.dev>
2023-05-09 17:26:54 -06:00
Nathan Sobo
0d78266ddb
Replace todo with unimplemented to reduce distractions
2023-05-09 16:41:10 -06:00
Nathan Sobo
6d16d2224d
Merge branch 'main' into panels
2023-05-09 16:35:04 -06:00
Nathan Sobo
5e8b7bd06d
Replace todo with unimplemented to reduce distractions
2023-05-09 16:31:53 -06:00
Mikayla Maki
0214228689
Fix format
2023-05-09 12:54:53 -07:00
Nathan Sobo
6645323f1b
WIP
2023-05-09 13:28:34 -06:00
Mikayla Maki
6dfb48dbd5
Fix center items not being activated when deserialized
2023-05-09 12:27:07 -07:00
Mikayla Maki
8d561d6408
Make dock not eagerly steal focus from sub items
2023-05-09 12:00:09 -07:00
Antonio Scandurra
8f12489937
WIP: Allow panels to be moved
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-09 18:57:25 +02:00
Antonio Scandurra
45df09245b
Remove unused code
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2023-05-09 18:06:59 +02:00
Antonio Scandurra
37d3ed5f5f
Focus new item if pane was focused when removing previous active item
...
Previously, we were relying on the item getting blurred and the workspace
receiving focus, which would in turn focus the active pane. This doesn't
play well with docks because they aren't part of the workspace panes.
2023-05-09 17:38:54 +02:00
Antonio Scandurra
641f5d1107
Ensure ctrl-
` works in the terminal panel
2023-05-09 17:38:18 +02:00
Antonio Scandurra
2bc7be9a76
WIP
2023-05-09 17:14:33 +02:00
Antonio Scandurra
48ad3866b7
Randomly mutate worktree in addition to mutating the file-system
...
This ensures that we test the code path that refreshes entries.
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-09 17:01:11 +02:00
Antonio Scandurra
7f27d72b20
Deliver file-system change events in batches in randomized worktree test
...
Co-Authored-By: Julia Risley <julia@zed.dev>
2023-05-09 16:55:03 +02:00
Julia
5c859da457
Only update changed local worktree buffers
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-05-09 15:13:12 +02:00
Antonio Scandurra
634b699281
Allow customization of Pane
tab bar buttons
2023-05-09 15:05:29 +02:00
Antonio Scandurra
ad7f32d7d2
Fix bottom dock resizing
2023-05-09 14:46:15 +02:00
Antonio Scandurra
26fe7a81f3
Prevent splits in the terminal panel
2023-05-09 12:29:16 +02:00
Antonio Scandurra
e6be35c9a5
Show terminal count in panel button
2023-05-09 12:21:35 +02:00
Antonio Scandurra
02066afb0e
Don't pass &mut Workspace
when closing items in a Pane
...
This allows closing items via actions even in the `TerminalPanel`
where the `Pane` is not directly owned by a `Workspace`.
2023-05-09 11:45:39 +02:00
Antonio Scandurra
506f978c41
Automatically close terminal dock when the last terminal was closed
2023-05-09 10:18:11 +02:00
Antonio Scandurra
916612caf1
Prevent dragging items that aren't terminals to the terminal panel
2023-05-09 10:18:11 +02:00
Antonio Scandurra
6ddc610fa2
WIP: Start on TerminalPanel
2023-05-09 10:18:11 +02:00
Nathan Sobo
1ddbda5095
Rename DockItem to Panel
2023-05-09 10:18:11 +02:00
Nathan Sobo
03f8c1206a
Rename Sidebar to Dock
2023-05-09 10:18:10 +02:00
Nathan Sobo
1919a826f9
Remove dock from workspace
2023-05-09 10:18:10 +02:00
Mikayla Maki
fa049bea6e
Refactor and fix format
2023-05-08 17:32:40 -07:00
Mikayla Maki
49335d017a
Add manual removal code to remove_panes
2023-05-08 17:25:28 -07:00
Mikayla Maki
9b2d3fcd48
Fully remove panes and update internal data structures
2023-05-08 17:09:29 -07:00
Max Brunsfeld
8fd0c9fb0e
collab 0.12.0
2023-05-08 15:54:11 -07:00
Mikayla Maki
9366a0dbee
Bump protocol version number
2023-05-08 14:34:14 -07:00
Mikayla Maki
f28419cfd1
Fix styling of titlebar highlights
2023-05-08 14:33:59 -07:00
Mikayla Maki
712fb5ad7f
Add postgres migration
2023-05-08 14:33:59 -07:00
Mikayla Maki
1a9afd186b
Restore randomized integration tests
2023-05-08 14:33:59 -07:00
Mikayla Maki
15d2f19b4a
fix format
2023-05-08 14:33:59 -07:00
Mikayla Maki
d2279674a7
Fix panic in tests
2023-05-08 14:33:59 -07:00
Mikayla Maki
62e763d0d3
Removed test modifications, added special case to git initialization for when the repository is inside a .git folder
2023-05-08 14:33:59 -07:00
Mikayla Maki
f9e4464658
Refresh titlebar on project notifications
2023-05-08 14:33:59 -07:00
Mikayla Maki
2c2076bd77
Adjust tests to not create repositories inside repositories
2023-05-08 14:33:59 -07:00
Mikayla Maki
ab952f1b31
Fixed randomized test failures
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
d8dac07408
Removed scan ID from repository interfaces
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
270147d20c
Finished RepositoryEntry refactoring, smoke tests passing
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
53569ece03
WIP: Change RepositoryEntry representation to be keyed off of the work directory
...
Removes branches button scaffolding
2023-05-08 14:33:59 -07:00
Mikayla Maki
b6d6f5c650
WIP: re-arranging the RepositoryEntry representation
...
Added branches to the randomized test to check the git branch
Added the remaining database integrations in collab
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Petros <petros@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
8bde496e74
Add branch name in title UI
...
co-authored-by: Petros <petros@zed.dev>
2023-05-08 14:33:59 -07:00
Petros Amoiridis
5302c256a4
Rebase main and fix error
2023-05-08 14:33:59 -07:00
Mikayla Maki
8301ee43d6
WIP: Add repository entries to collab and synchronize when rejoining the room
...
co-authored-by: Max <max@zed.dev>
2023-05-08 14:33:59 -07:00
Mikayla Maki
2fe5bf419b
Add proto fields for repository entry maintenance
2023-05-08 14:33:59 -07:00
Mikayla Maki
c6d7ed33c2
Add smoke test for collaboration
2023-05-08 14:33:59 -07:00
Petros Amoiridis
ca4da52e39
Remove unused functions
2023-05-08 14:33:59 -07:00
Petros Amoiridis
e057b0193f
Introduce BrancesButton in title bar
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-05-08 14:33:58 -07:00
Petros Amoiridis
797d47a08c
Render title root names without branches
2023-05-08 14:33:58 -07:00
Mikayla Maki
8f0aa3c6d9
Add branch name into title
2023-05-08 14:33:58 -07:00
Petros Amoiridis
d34ec462f8
Display branch information per worktree root
...
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-05-08 14:33:58 -07:00
Mikayla Maki
ffd9d4eb59
Fix bug in repo detection
2023-05-08 14:33:58 -07:00
Mikayla Maki
3570810516
Add API for accessing git branch
2023-05-08 14:33:58 -07:00
Mikayla Maki
26afd592c5
Wire in the branch name
2023-05-08 14:33:58 -07:00
Mikayla Maki
5b4e58d1de
Fix repo_for and clean up repository_entries
2023-05-08 14:33:58 -07:00
Mikayla Maki
023d665fb3
Fix TreeMap retain
2023-05-08 14:33:58 -07:00
Mikayla Maki
ae890212e3
Restored a lost API and got everything compiling
2023-05-08 14:33:58 -07:00
Mikayla Maki
bcf608e9e9
WIP: Refactor existing git code to use new representation.
...
co-authored-by: petros <petros@zed.dev>
2023-05-08 14:33:58 -07:00
Mikayla Maki
563f13925f
WIP: Convert old git repository vec to new treemap based approach.
...
co-authored-by: Nathan <nathan@zed.dev>
2023-05-08 14:33:58 -07:00
Mikayla Maki
a58d3d8128
Add a data driven representation of the current git repository state to the worktree snapshots
...
WIP: Switch git repositories to use SumTrees
Co-authored-by: Nathan <nathan@zed.dev>
2023-05-08 14:33:58 -07:00
Mikayla Maki
2cf928c85a
Fixed clicks falling through the modal terminal
...
co-authored-by: Antonio <antonio@zed.dev>
2023-05-08 10:54:12 -07:00
Kirill Bulatov
39bddfc7b7
Only allow invisbles in local and leader selections
2023-05-08 19:36:51 +03:00
Kirill Bulatov
98ff18c430
Code review fixes
2023-05-08 19:36:51 +03:00
Kirill Bulatov
e6489e999d
Add invisibles wrapping test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
d2b2dc39d9
Do not print invisibles in non-full mode editors
2023-05-08 19:36:51 +03:00
Nate Butler
ab6b3adb2b
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
fb3ef4bcf6
Fix wrapped line detection
2023-05-08 19:36:51 +03:00
Kirill Bulatov
075bab2ea9
Use more convntional name for the settings
2023-05-08 19:36:51 +03:00
Kirill Bulatov
706f6f495a
Add a test
2023-05-08 19:36:51 +03:00
Kirill Bulatov
ec725fe399
Do not print extra invisibles on line wraps
2023-05-08 19:36:51 +03:00
Kirill Bulatov
95bcd19020
Refactor line glyphs drawing methods
2023-05-08 19:36:51 +03:00
Kirill Bulatov
4aaf44df94
Support invisibles in the selection
2023-05-08 19:36:51 +03:00
Kirill Bulatov
1eeeec157e
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
714734d279
Add whitespaces rendering
2023-05-08 19:36:51 +03:00
Kirill Bulatov
2d8c88ad73
Draw tabs with svg icons in editor code only
2023-05-08 19:36:51 +03:00
Kirill Bulatov
f0a88b3337
Make invisibles display configurable
2023-05-08 19:36:51 +03:00
Kirill Bulatov
ad731ea6d2
Draft invisibles' tabs display
2023-05-08 19:36:51 +03:00
Max Brunsfeld
4f8607039c
Add is_tab field to chunks
...
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-05-08 19:36:51 +03:00
Julia
332b364a30
Prevent some cases of clipping icons due to pixel coord rounding
2023-05-08 11:42:00 -04:00
Kirill Bulatov
6cb0bc89d2
Remove unused dependencies
2023-05-07 21:07:55 +03:00
Antonio Scandurra
0296974ab1
Merge pull request #2441 from zed-industries/implicit-ancestry
...
Determine view ancestry during layout
2023-05-05 10:58:00 +02:00
Antonio Scandurra
5e16f70067
💄
2023-05-05 10:53:15 +02:00
Antonio Scandurra
080a1f00a3
Delay focus_in
event for window activation till after layout
2023-05-05 10:47:42 +02:00
Antonio Scandurra
b9ed327b94
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
80ad59a620
Make focusing the parent an effect to avoid querying ancestors
2023-05-05 10:04:54 +02:00
Joseph T. Lyons
c55a4c0feb
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
89af803565
Rearrange the state machine
2023-05-04 13:45:31 -07:00
Julia
eacea55aaf
Fixup cases using buffer model handle id as buffer id
2023-05-04 12:32:31 -04:00
Julia
1883e260ce
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
7e06062bdb
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
8313414e1e
Do not use post_json() to auto update
2023-05-04 12:12:36 -04:00
Antonio Scandurra
d6b0569bed
Merge branch 'main' into implicit-ancestry
2023-05-04 17:19:06 +02:00
Antonio Scandurra
64e0c16baa
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
912a4cf549
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
0f93714d4f
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
b3baebde22
Filter out vim commands when vim mode is disabled
2023-05-04 14:52:34 +02:00
Antonio Scandurra
da19edc3e3
Merge branch 'main' into implicit-ancestry
2023-05-04 14:39:58 +02:00
Antonio Scandurra
121264d35a
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
5cc6304fa6
Verify keystrokes can be queried while views are on the stack
2023-05-04 12:09:32 +02:00
Antonio Scandurra
3d679ddb26
Avoid re-allocating KeymapContext
after every view notification
2023-05-04 12:04:30 +02:00
Antonio Scandurra
18e39ef2fa
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
7b7a495be3
Remove stray dbg!
statement
2023-05-04 09:56:49 +02:00
Antonio Scandurra
f6f18be9c3
Remove WindowContext::is_child_focused
2023-05-04 09:53:35 +02:00
Antonio Scandurra
67a3891f15
Make dispatch_event related methods public to the crate only
2023-05-04 09:53:35 +02:00
Antonio Scandurra
92183e0d72
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
053b34875b
collab 0.11.0
2023-05-03 14:59:04 -04:00
Joseph Lyons
653ea3a85d
v0.86.x dev
2023-05-03 14:38:41 -04:00
Max Brunsfeld
9d41f83b1b
Merge branch 'main' into copilot-disabled-globs
2023-05-03 10:53:28 -07:00
Antonio Scandurra
040cc4d4c3
Allow notifying views when the ancestry of another view is outdated
2023-05-03 19:25:00 +02:00
Max Brunsfeld
8eb1312deb
Add copilot menu item for enabling paths by glob
2023-05-03 10:14:01 -07:00
Antonio Scandurra
7250754f8e
Make dispatch_keystroke public to the crate only
2023-05-03 19:13:17 +02:00
Antonio Scandurra
9e8f852afb
Remove ViewContext::is_child
2023-05-03 19:09:07 +02:00
Antonio Scandurra
5157442703
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
Antonio Scandurra
c65465b0b5
Ensure workspace gets rendered in collab integration tests
2023-05-03 18:31:07 +02:00
Antonio Scandurra
e9ed40da37
Remove the ability to retrieve the view's parent
2023-05-03 16:52:55 +02:00
Antonio Scandurra
7f137ed3dd
Compute view ancestry at layout time
2023-05-03 16:36:14 +02:00
Antonio Scandurra
7f345f8bf5
Separate Window::build_scene
into layout
and paint
2023-05-03 12:18:16 +02:00
Antonio Scandurra
376aa1235f
Fix "IncomingCallNotification was dropped" error when accepting a call
...
This was caused by accepting the call, which caused the notification to
be removed. When `active_call.accept_incoming()` finally completed, we
would try to get the app state from it in order to join the project, but
couldn't becuase the view would have already been dropped.
This commit fixes the bug by capturing a weak handle to the app state
when accepting the call as opposed to trying to read it from the view
when the accept completes.
2023-05-03 10:37:57 +02:00
Antonio Scandurra
c3cf9e3185
Merge pull request #2436 from zed-industries/close-window-end-call
...
Move methods querying window state into `AsyncAppContext`
2023-05-03 10:27:05 +02:00
Joseph Lyons
41d4454f45
Use post_json so that the Content-Type is set to application/json
2023-05-02 23:23:43 -04:00
Joseph Lyons
69a4fffae2
Update post_json
to take in a bool for allowing for redirects
2023-05-02 23:22:55 -04:00
Joseph Lyons
2b95aba99c
Add download and upload metadata to update request
2023-05-02 17:16:42 -04:00
Kirill Bulatov
1398a12062
More keybindings in macOs modals with buttons
...
Closes https://github.com/zed-industries/community/issues/1095
by forcing the non-Cancel button to get a focus.
Due to the way macOs handles buttons on modals, the focus gain had to be
achieved via certain button addition order, rather than conventional
"setFocus"-ish API, see the related comment for details.
Co-authored-by: Antonio Scandurra <antonio@zed.dev>
2023-05-02 21:10:20 +03:00
Antonio Scandurra
70f8cf4cf6
Move methods querying window state into AsyncAppContext
2023-05-02 19:38:48 +02:00