Nathan Sobo
de9bf6dfbd
Merge MutableAppContext into AppContext
...
There may have been a good reason for the difference at some point, or I was
still learning Rust. But now it's just &mut AppContext vs &AppContext.
2023-04-06 15:49:03 -06:00
Nathan Sobo
82a713fd1d
Store AnyViewHandle inside ViewHandle and Deref to it
2023-04-02 14:59:55 -06:00
Antonio Scandurra
5471217089
Use the same serde version across the entire workspace
2023-03-28 09:42:00 -07:00
Max Brunsfeld
17bc83d699
Fix infinite loop in ProjectPanel::paste when filename has multiple dots
2023-03-27 16:45:11 -07:00
Max Brunsfeld
cbeb6e692d
Move postage crate version specification to workspace Cargo.toml
2023-03-21 11:26:13 -07:00
Joseph Lyons
c59dafab7e
Update method names to match action names
2023-03-12 06:08:12 -04:00
Joseph Lyons
06ad3a7f7b
Unify action names with keybinding name
2023-03-12 04:37:39 -04:00
Mikayla Maki
152755b043
Add blank pane experience
2023-03-08 17:56:39 -08:00
Mikayla Maki
f62e0b502a
Remove welcome experience action
...
Make logo switch between light and dark
co-authored-by: Nathan <nathan@zed.dev>
2023-03-08 14:49:48 -08:00
Mikayla Maki
350ddf2025
Add keymap picker UI
...
Co-authored-by: Max <max@zed.dev>
2023-03-07 17:29:08 -08:00
Mikayla Maki
ab4b3293d1
Fix project panel button and style it
...
Co-authored-by: max <max@zed.dev>
2023-03-07 14:49:13 -08:00
Mikayla Maki
4c179875ab
Add png image loading to gpui
...
add zed logo into welcome experience
Co-authored-by: Nathan <nathan@zed.dev>
2023-03-06 14:26:32 -08:00
Mikayla Maki
9dee2ca2be
WIP
2023-03-06 14:26:32 -08:00
Mikayla Maki
9004640586
Convert keymap context to use generics and Cow<'static> so we don't have to add .to_string() and .into() for each usage
2023-02-23 14:10:55 -08:00
Petros Amoiridis
4bb986b3be
Move reveal_path to ForegroundPlatform
...
So that we can use spawn to use the OS API call.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-02-20 18:57:37 +02:00
Petros Amoiridis
015b8db1c3
Introduce reveal_path in Platform
...
And implement it for MacPlatform, and instead of using an external process to run `open`, use the NSWorkspace selectFile instance method.
2023-02-14 15:14:15 +02:00
Petros Amoiridis
a789476c95
Introduce reveal_in_finder function
...
And use this function in a new Reveal in Finder option of the project panel context menu.
Co-Authored-By: Mikayla Maki <mikayla.c.maki@gmail.com>
2023-02-10 21:11:05 +02:00
Mikayla Maki
d060114f00
Added complete scripts for generating third party license files
2023-01-23 12:47:12 -08:00
Petros Amoiridis
27a6951403
Allow pasting the same entry more than once in project panel
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-01-18 17:35:21 +02:00
Petros Amoiridis
f8d092fdc6
Fix mouse interrupting file/dir editing in project panel
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2023-01-18 15:22:20 +02:00
Kay Simmons
73e7967a12
working f and t bindings
2023-01-06 14:24:20 -08:00
Kay Simmons
1cc3e4820a
working serialized writes with panics on failure. Everything seems to be working
2022-12-03 16:06:01 -08:00
Mikayla Maki
3451a3c7fe
Rebase - Got Zed compiling and fixed a build error due to conflicting dependencies that cargo didn't catch :(
...
Co-Authored-By: kay@zed.dev
2022-12-03 16:04:10 -08:00
Kay Simmons
d61c0fb24c
Allow dragging and dropping project entries
2022-11-10 20:43:55 -08:00
Kay Simmons
738893c527
Split and move to pane working
2022-11-08 14:19:31 -08:00
Julia
9abfa037fd
Handle project entry drop render & start fixing drag cancel issues
...
Co-Authored-By: Kay Simmons <kay@zed.dev>
2022-11-07 18:17:36 -05:00
Julia
847376a4f5
Start dragging project panel entries
...
Co-Authored-By: Kay Simmons <kay@zed.dev>
2022-11-07 17:00:01 -05:00
Antonio Scandurra
0b231e58fd
Show placeholder text for pickers
2022-11-04 10:18:47 +01:00
Mikayla Maki
ea9b009a22
Fixed bug with cut entry active states
2022-10-31 09:55:52 -07:00
Mikayla Maki
552ebc0f29
Implemented direct styling for ignored and cut project panel entries
2022-10-28 10:45:45 -07:00
Mikayla Maki
40290a9a42
Added notify call
2022-10-24 13:18:02 -07:00
Antonio Scandurra
a5a60eb854
Log view name alongside error in ChildView
2022-10-13 15:44:01 +02:00
K Simmons
6b26965074
Permanent fix to repeat MouseRegion Tag failure in Workspace
...
Polish tab bar buttons
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-11 15:34:10 -07:00
K Simmons
b88abcacac
WIP dock split button and default item
2022-09-11 15:31:44 -07:00
K Simmons
13e9336049
Merge branch 'main' into drag-and-drop
2022-08-22 17:18:29 -07:00
K Simmons
133c194f4a
wip tab drag and drop
2022-08-22 16:16:39 -07:00
Antonio Scandurra
4fcba083ba
Autoscroll to filename editor when creating or renaming entry
...
Also, autoscroll when a filename editor goes off-screen and the user
types or changes selections.
2022-08-15 15:14:42 +02:00
Antonio Scandurra
545f12362c
Rename {project_panel,contacts_panel}::Toggle
to ToggleFocus
2022-08-15 14:53:42 +02:00
K Simmons
42c01c5b10
minor rustfmt fix
2022-08-11 11:35:11 -07:00
ForLoveOfCats
8ba2f77148
One big cleanup pass of clippy lints
...
Co-authored-by: Mikayla <mikayla@zed.dev>
2022-08-10 16:51:01 -07:00
Nate Butler
088668ecf8
Fix reversed disclosure arrows in project panel
2022-07-22 11:57:53 -04:00
K Simmons
225055ed5d
Address some issues where panes don't get focused properly, make the focused pane more obvious, and prevent splitting of the pane with no items
2022-07-20 18:52:32 -07:00
Nate Butler
bcc554a3db
Merge branch 'main' into theme-improvements
2022-07-19 20:12:02 -04:00
Keith Simmons
c2868a39e8
Merge pull request #1388 from zed-industries/mouse-region-refactor
...
Mouse Region Refactor
2022-07-19 16:50:12 -07:00
Nate Butler
46384e71b7
Add icon sets for sizes 8, 12 and 16, remove old icons
2022-07-19 17:11:15 -04:00
Max Brunsfeld
c1dfb6294b
Dismiss project panel's rename editor when it loses focus
2022-07-18 16:10:09 -07:00
K Simmons
8add81350e
Rework presenter and MouseRegion to use Handler hashmap rather than individual fields
2022-07-17 23:19:32 -07:00
Max Brunsfeld
4aa19c1a7f
Select the last root when right-clicking below all project panel entries
2022-07-05 13:21:41 -07:00
Max Brunsfeld
581c9af395
Adjust pane, tab, panel management bindings to match VS Code
2022-06-29 15:33:46 -07:00
Antonio Scandurra
137a3996a1
Replace "Remove Folder from Project" label with "Remove from Project`
2022-06-20 10:53:26 +02:00
Antonio Scandurra
5dd28b7e57
🎨
2022-06-14 14:03:25 +02:00
Antonio Scandurra
a5a4246e6c
Attempt to open new entry only if it is a file
2022-06-14 14:01:49 +02:00
Antonio Scandurra
572e295854
Open files in project panel using enter
instead of right
2022-06-14 13:56:56 +02:00
Antonio Scandurra
146e2b5089
Open files when creating them in project panel
2022-06-14 13:49:47 +02:00
Antonio Scandurra
3a69943df3
Require that PartialEq
is implemented for Action
2022-06-06 09:18:44 +02:00
Antonio Scandurra
e4641da598
Don't show "add/remove folder to/from project" for remote projects
2022-05-31 08:17:52 +02:00
Antonio Scandurra
3336bc6ab3
Implement copy paste for ProjectPanel
2022-05-30 14:52:34 +02:00
Antonio Scandurra
37a0c7f046
Implement cut/paste for ProjectPanel
2022-05-30 12:23:21 +02:00
Antonio Scandurra
63900612b0
Dismiss context menu when one of its action is dispatched
2022-05-30 10:05:21 +02:00
Nathan Sobo
5413a97c7e
Restrict multiple hovered regions to a single stacking context
...
We won't hover regions from stacking contexts that are below the one being hovered.
2022-05-27 11:09:07 -06:00
Antonio Scandurra
9099c40364
Merge branch 'mouse-events' into project-panel-context-menu
2022-05-27 12:07:00 +02:00
Nathan Sobo
893f15ddab
Switch MouseEventHandler to use MouseRegions
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 20:00:01 -06:00
Nathan Sobo
8dd82fdce1
Take a RenderContext in ListState's build item callback
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:23:44 -06:00
Nathan Sobo
2ea085b178
Pass a RenderContext to UniformList
...
In some cases, we need to render during layout. Previously, we were rendering with a LayoutContext in some cases, but this commit adds the ability to retrieve a render context with a given handle and we use that feature in UniformList.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:03:34 -06:00
Antonio Scandurra
eedb29963c
Implement CopyPath
2022-05-26 16:45:41 +02:00
Antonio Scandurra
5b2d6e41f3
Introduce keyboard navigation in context menus
2022-05-26 16:36:30 +02:00
Antonio Scandurra
991eb742b0
Start adding project panel context menu actions
2022-05-26 15:23:40 +02:00
Antonio Scandurra
a5044ccbba
WIP
2022-05-26 11:17:10 +02:00
Antonio Scandurra
a8483ba458
WIP
2022-05-26 09:59:25 +02:00
Antonio Scandurra
85ed7b41f1
Select right-clicked entry before deploying context menu
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-26 09:59:25 +02:00
Antonio Scandurra
3b2f1644fb
Constrain context menu to the width of the widest item
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-26 09:59:25 +02:00
Antonio Scandurra
f403d87eff
WIP
2022-05-26 09:59:25 +02:00
Nathan Sobo
b428d0de38
Break context menu items out in theme
2022-05-26 09:59:25 +02:00
Nathan Sobo
b110fd5fb7
Render a context menu when right-clicking in project panel
...
It doesn't currently do anything, but I managed to get it rendering in an absolutely positioned way.
2022-05-26 09:59:25 +02:00
Antonio Scandurra
3ac6fc89c1
Pretty-print JSON of server snapshot
2022-05-26 09:34:39 +02:00
Antonio Scandurra
99573ca270
Fix unit tests assuming ignored files were not displayed
2022-05-24 10:50:27 +02:00
Antonio Scandurra
138a0b042d
Make fade of ignored entries styleable
2022-05-24 09:12:57 +02:00
Antonio Scandurra
1a6cc6f964
Show ignored entries in project panel
2022-05-23 16:37:57 +02:00
Max Brunsfeld
ef0b584532
Remove AppState from workspace actions
...
This allows those actions to be bound to keystrokes in the keymap.
Also, remove the WorkspaceParams struct, simplify how Workspaces are
constructed.
2022-05-19 14:37:26 -07:00
Antonio Scandurra
933a1f2cd6
Show badge when there are pending contact requests
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-11 17:39:03 +02:00
Antonio Scandurra
76ad563b45
Fix memory leak of ProjectPanel
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:52:46 +02:00
Antonio Scandurra
2e9bdfbeac
Improve delete prompt in project browser
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:49:40 +02:00
Antonio Scandurra
6021ab12c9
Clear project browser editor even if an operation fails
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:43:42 +02:00
Antonio Scandurra
2e6cf2011d
When opening items via project panel, only focus them on double-click
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-05 15:27:27 +02:00
Antonio Scandurra
61346f734d
WIP
2022-05-05 15:15:58 +02:00
Max Brunsfeld
4b1c46fa45
Allow deleting entries from the project panel
2022-05-04 18:00:23 -07:00
Max Brunsfeld
40e0f10195
Allow creating directories from the project panel
2022-05-04 16:47:11 -07:00
Max Brunsfeld
821dff0e2d
Keep showing edited filename in project panel while edit is in-progress
2022-05-04 13:03:50 -07:00
Max Brunsfeld
438e4e7a19
Allow guests to rename stuff
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-04 10:28:44 -07:00
Nathan Sobo
470d693d5e
Rename entries via the project to prepare for guest support
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-04 10:28:44 -07:00
Max Brunsfeld
657ea264cc
Allow guests to create files from the project panel
...
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-04 10:28:44 -07:00
Max Brunsfeld
8291b8108d
Update snapshot atomically when processing FS events
2022-05-04 10:28:44 -07:00
Max Brunsfeld
0ff39f1280
Select new files in the project panel after creating them
2022-05-04 10:28:44 -07:00
Max Brunsfeld
8fdc5c9be3
Improve the appearance of project panel filename editor
...
* Always layout single-line editors with a fixed height
* Preserve directory chevron when editing folder names
* Allow theming the filename editor
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-05-04 10:28:44 -07:00
Max Brunsfeld
333b4aaf4e
Implement Rename command in project panel
2022-05-04 10:28:09 -07:00
Max Brunsfeld
a217e2e64b
Implement basic AddFile command in project panel
2022-05-04 10:28:09 -07:00
Max Brunsfeld
d4492086b3
Abstract more local project setup inside Project::test helper
2022-05-04 10:28:09 -07:00
Max Brunsfeld
12d45f1655
Clean up project panel theme
2022-05-04 10:28:08 -07:00
Antonio Scandurra
953256b128
Sort (case-insensitive) directories before files
2022-04-21 15:08:45 +02:00
Antonio Scandurra
11828040cc
Store visible entries in project panel by id rather than offset
2022-04-21 13:37:57 +02:00
Max Brunsfeld
9a4b8e3d8c
Load all keybindings from JSON file
2022-04-10 14:29:45 -07:00
Max Brunsfeld
fd4b81c8fc
Allow actions to be deserialized from JSON
...
Introduce separate macro for implementing 'internal' actions which
are not intended to be loaded from keymaps.
2022-04-08 15:47:51 -07:00
Max Brunsfeld
5242a3a6dc
Restructure action macro to assign a namespace to every action
...
Also, allow arbitrary types to be used as Actions via the impl_actions macro
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-07 16:20:49 -07:00
Max Brunsfeld
866ffdd4ae
Move Settings to its own crate
...
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-04-06 10:23:33 -07:00
Antonio Scandurra
44d997c00c
Rename app_state
to global
in gpui
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-03-17 14:33:01 +01:00
Nathan Sobo
0036e5c86c
Replace ProjectEntry struct with ProjectEntryId
...
Previously, we tracked the worktree_id and entry_id separately, but now that entry ids are unique across all worktrees this is unnecessary.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-Authored-By: Keith Simmons <keith@the-simmons.net>
2022-03-16 15:59:47 -06:00
Max Brunsfeld
48848de82c
Store settings as a global via a gpui app_state
2022-03-11 15:58:58 -08:00
Antonio Scandurra
dc5a09b3f7
Merge pull request #525 from zed-industries/preserve-worktrees
...
Grow worktrees monotonically when sharing and move most messages to the background
2022-03-04 09:48:18 +01:00
Max Brunsfeld
05df1dfae9
Disable doctests for all libraries
...
We don't use them, and they add a lot of noise to the test output
when running all tests in the workspace.
2022-03-03 16:15:56 -08:00
Antonio Scandurra
68cfce1fb8
Rename weak
to visible
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
2022-03-02 14:38:16 -08:00
Antonio Scandurra
992328a6ee
Forbid parking in project_panel::tests::test_visible_list
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-03-01 17:14:18 +01:00
Antonio Scandurra
466db69780
Pass a reference to TestAppContext
in tests
...
This allows us to drop the context *after* we ran all futures to
completion and that's crucial otherwise we'll never drop entities
and/or flush effects.
2022-03-01 12:01:02 +01:00
Max Brunsfeld
10580f96a3
Automatically include current view id in element state ids
2022-02-17 13:44:46 -08:00
Max Brunsfeld
d173e4ef3c
Fix non-unique ids passed to MouseEventHandlers
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-02-17 09:44:02 -08:00
Max Brunsfeld
0e55f0ccaa
Use Rust 2021 edition in all crates
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-26 12:50:31 -08:00
Antonio Scandurra
31dfd01fda
Make add_local_worktree
private and use find_or_create_local_worktree
...
The former always adds a worktree, even if we have one already in the
project and that could be misused. The public API should always search
for a local worktree containing the requested path first so that the
project can uphold invariants about which worktrees it has.
2022-01-22 11:23:00 +01:00
Antonio Scandurra
6e7e86e491
Remove weak worktrees from project when nobody references them
...
Also, avoid showing them in the project panel as well as in the
contacts panel.
2022-01-21 14:34:14 +01:00
Max Brunsfeld
b7561c6cef
Add select_first and select_last bindings to outline view
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-14 10:45:37 -08:00
Antonio Scandurra
ce51196eab
Center the selected item when updating outline query
...
Co-Authored-By: Max Brunsfeld <max@zed.dev>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-14 17:53:06 +01:00
Max Brunsfeld
9602bc6f8e
Remove stray dbg! calls
2022-01-11 13:56:07 -08:00
Antonio Scandurra
794d214eee
Refactor opening workspace items
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-07 17:38:37 +01:00
Antonio Scandurra
3cab32d201
WIP: Add keybinding to open buffers under cursors
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-01-07 16:12:50 +01:00
Max Brunsfeld
a4027aacb5
Introduce a WorktreeId struct, fix incorrect use of remote worktrees' handle id
2022-01-04 11:28:44 +01:00
Antonio Scandurra
40da3b233f
Get more integration tests passing
2021-12-21 09:50:11 +01:00
Max Brunsfeld
55910c0d79
Get the server and integration tests compiling
2021-12-20 16:30:29 -08:00
Max Brunsfeld
614ee4eac7
Send worktree info only when sharing worktree
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-12-20 11:36:59 -08:00
Nathan Sobo
1445ce10b5
Name the root file of every crate after the crate to ease navigation
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2021-11-30 12:46:39 -07:00
Max Brunsfeld
4cc1556ca4
Introduce weak_handle methods on ModelContext and ViewContext
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2021-11-29 14:13:22 -08:00
Nathan Sobo
9930e92412
WIP: Give worktrees a reference to the UserStore
...
This will allow them to fetch user data when peers are added or removed. Still work to do though.
2021-11-26 19:12:12 -07:00
Antonio Scandurra
afdac15572
Move integration test up into the zed
crate
2021-11-24 17:39:15 +01:00
Antonio Scandurra
d04a11405c
Extract project_panel
into its own crate
2021-10-05 14:19:57 +02:00