Antonio Scandurra
be0e66ef21
Invoke mouse_down
and right_mouse_down
callbacks
2022-05-27 11:20:39 +02:00
Antonio Scandurra
7c7917494c
Don't dispatch events down the tree if they were handled by mouse region
2022-05-27 11:20:32 +02:00
Antonio Scandurra
1d7fc12229
Add right-click support to MouseEventHandler
2022-05-27 10:47:54 +02:00
Antonio Scandurra
307eb1726c
Compute dispatch path based on the view id that dispatched the action
2022-05-27 09:59:24 +02:00
Nathan Sobo
aedfd74d30
Use the hit bounds when painting mouse regions
2022-05-26 20:05:20 -06: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
50edcb06dd
Add drag callbacks to mouse regions
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:59:38 -06:00
Nathan Sobo
bd62a68234
Eliminate ElementStateContext trait
...
We now always have a RenderContext when rendering MouseEventHandlers or scrollable Flex columns/rows.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:37:28 -06:00
Nathan Sobo
b6b16fc9c3
In UniformList, guard against misbehavior of append_items
...
If for some reason the handle got dropped and we call it, we'll deal with it somewhat gracefully.
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-26 18:30:28 -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
Keith Simmons
8e7c6871db
Track selection changes in mutable selections collection
2022-05-26 17:02:05 -07:00
Max Brunsfeld
42cd2ae142
Avoid switching to visual mode when following in vim mode
...
Co-authored-by: Keith Simmons <keith@zed.dev>
2022-05-26 17:02:05 -07:00
Max Brunsfeld
c53412efcb
Bump protocol version
2022-05-26 17:02:05 -07:00
Keith Simmons
d11bc2a4b7
Fixup paste locations
2022-05-26 17:02:05 -07:00
Keith Simmons
e104cb94e7
fix bug in marked_range utils
2022-05-26 17:02:05 -07:00
Keith Simmons
98f9575653
WIP
2022-05-26 17:02:05 -07:00
Keith Simmons
e93c49f4f0
Unify visual line_mode and non line_mode operators
2022-05-26 17:02:05 -07:00
Keith Simmons
11569a869a
in progress working on aborting operators on unhandled editor input
2022-05-26 17:02:05 -07:00
Keith Simmons
61f0daa5c5
Visual line mode handles soft wraps
2022-05-26 17:02:05 -07:00
Keith Simmons
33940b5dd9
Add visual line mode operator tests
2022-05-26 17:02:05 -07:00
Keith Simmons
082036161f
Enable copy and paste in vim mode
2022-05-26 17:02:05 -07:00
Keith Simmons
d094d1d891
WIP copy on delete
2022-05-26 17:02:05 -07:00
Keith Simmons
f8f316cc64
Working change and delete in line mode
2022-05-26 17:02:05 -07:00
Keith Simmons
d7d17b2148
WIP line mode operations
2022-05-26 17:02:05 -07:00
Keith Simmons
125d83b3ec
Fix failing seed bin build and add bin builds to ci pipeline
2022-05-26 15:41:24 -07:00
Nathan Sobo
d69776585d
Add mouse_state method to RenderContext
...
We can use this to determine if a region is hovered or clicked.
2022-05-26 13:22:23 -06:00
Nathan Sobo
3a59d2a331
Allow hovered and clicked mouse regions to be tracked in the presenter
2022-05-26 12:44:52 -06:00
Nathan Sobo
0866f0ed55
Introduce CursorRegion struct
...
This will blend in with an upcoming MouseRegion struct that sits next to it in the scene.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-26 11:00:10 -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
82ddac8e7e
Restore focus when closing context menu
2022-05-26 15:21:55 +02:00
Antonio Scandurra
a5044ccbba
WIP
2022-05-26 11:17:10 +02:00
Antonio Scandurra
580f1a4125
Style context menu
2022-05-26 10:40:53 +02:00
Nathan Sobo
c0aafac387
Put keystrokes in their own column
...
This requires rendering the menu for measurement in a totally different way, where the top level is a flex row. We don't want to render the menu like this for presentation because of hovers / highlights on individual items needing to include the keystrokes.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-26 09:59:25 +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
dcee8439b6
Start on context_menu crate
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
6b96822c1a
Fix editor tests
2022-05-26 09:59:25 +02:00
Nathan Sobo
5b7825d5de
Add MutableAppContext::keystrokes_for_action
...
This can be used to lookup keystrokes that will dispatch an action based on the currently focused view. There might be multiple, but we return the first found, meaning the most recently added bindings matching that action for the closest view to the focused view in the hierarchy.
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
Nathan Sobo
742dd75041
Implement /rpc_server_snapshot endpoint
...
This returns a JSON snapshot of the state of the server
2022-05-25 17:42:25 -06:00
Keith Simmons
42e88c43a4
Use npm install rather than ci and only run build.rs when styles/src is changed rather than all styles
2022-05-25 11:08:40 -07:00
Nathan Sobo
5fd2c5cb2e
v0.35.0
2022-05-24 11:32:12 -06:00
Antonio Scandurra
8ebefa143a
Upgrade tree-sitter to v0.20.6
...
This commit also adds a regression test to verify that with this new
version we don't mistakenly compute a different suggestion on Rust
buffer where the only change is leading whitespace.
2022-05-24 14:13:11 +02:00
Antonio Scandurra
5c4bd9393f
Merge pull request #1050 from zed-industries/ignored-files
...
Show ignored entries in project panel
2022-05-24 10:57:16 +02:00
Antonio Scandurra
99573ca270
Fix unit tests assuming ignored files were not displayed
2022-05-24 10:50:27 +02:00
Antonio Scandurra
ec88288d5e
Bump chunk size to 256
2022-05-24 09:54:53 +02:00
Antonio Scandurra
138a0b042d
Make fade of ignored entries styleable
2022-05-24 09:12:57 +02:00
Antonio Scandurra
85f228dade
Fix logic error when streaming ignored entries
...
We were calling `next` twice, which led us to skip every other entry.
This commit also enhances the `test_share_project` integration test
to exercise this new streaming logic.
2022-05-24 09:03:05 +02:00
Max Brunsfeld
acf9a59cc2
Merge pull request #1027 from zed-industries/missing-menu-commands
...
Add missing File menu commands, improve handling of unsaved multibuffers
2022-05-23 21:29:32 -07:00
Max Brunsfeld
ece8604547
Fix comments in Pane::close_items
2022-05-23 18:07:22 -07:00
Nathan Sobo
4cedf056a9
Bump protocol version
2022-05-23 18:18:15 -06:00
Nathan Sobo
6ed503fe6e
Implement get_invite_code_for_user on test db
2022-05-23 18:07:23 -06:00
Nathan Sobo
5c2fdc01ff
Update foreign key constraints to allow users to be deleted
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-23 17:46:06 -06:00
Nathan Sobo
51a61cc485
Don't assign invite code when updating count from 0 to 0
...
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-05-23 17:28:05 -06:00
Max Brunsfeld
7f92401bca
Add key binding and menu item for Save All
2022-05-23 16:06:56 -07:00
Max Brunsfeld
0becbe482a
Distinguish between singleton and non-singleton workspace items
...
* Prompt to save singleton items before non-singleton ones
* Don't prompt to save multi-buffers if they contain excerpts to items that are open elsewhere and not being closed.
Co-authored-by: Nathan Sobo <nathan@zed.dev>
2022-05-23 16:03:00 -07:00
Nathan Sobo
4b8f24c84e
Set INVITE_LINK_PREFIX in K8s
2022-05-23 15:49:51 -06:00
Nathan Sobo
d8dbbf1c05
Merge remote-tracking branch 'origin/main' into invite-codes-2
2022-05-23 15:46:39 -06:00
Antonio Scandurra
94e70bc1a6
WIP: log received updated_entries
on remote worktree
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-23 19:39:24 +02:00
Antonio Scandurra
c65dae8095
Correctly assign ignored status in refresh_entry
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-23 19:19:13 +02:00
Antonio Scandurra
23ca9dce2e
WIP: stream ignored entries
2022-05-23 16:38:16 +02:00
Antonio Scandurra
1a6cc6f964
Show ignored entries in project panel
2022-05-23 16:37:57 +02:00
Antonio Scandurra
fe1498dc1d
Fix worktree::Snapshot::entries(true)
always being empty
2022-05-23 15:38:20 +02:00
Antonio Scandurra
2af4bdef42
Broadcast proto::UnregisterProject
when host closes a project
2022-05-23 15:38:01 +02:00
Antonio Scandurra
ce46efff2e
🎨
2022-05-23 09:48:00 +02:00
Antonio Scandurra
663173d2f5
Restart FSEventStream at the last seen event when "dropped" is reported
2022-05-23 09:33:10 +02:00
Antonio Scandurra
f3bc4feaf0
Pass a richer State
pointer to fsevents trampoline
...
This will be useful to re-instate a new stream when dropping events.
2022-05-23 09:08:32 +02:00
Max Brunsfeld
fbd589b589
Start work on handling multibuffers properly when closing unsaved buffers
2022-05-22 16:48:33 -07:00
Antonio Scandurra
37ca06df53
Clear multi-buffer redo stack when pushing transaction onto undo stack
2022-05-22 10:44:32 +02:00
Antonio Scandurra
03dc7c8eb0
Clear redo stack when pushing remote transaction or ending a local one
2022-05-22 10:33:26 +02:00
Nathan Sobo
7a8ff5abd7
Accept an optional email address when creating new users
2022-05-20 20:25:21 -06:00
Max Brunsfeld
21206800bc
Add "Close Window" command
2022-05-20 16:53:03 -07:00
Max Brunsfeld
b08cad9ef5
Add "Save As" command
2022-05-20 16:24:42 -07:00
Max Brunsfeld
8ed33cadeb
Add "Add Folder to Project" command to application menu
2022-05-20 16:19:43 -07:00
Max Brunsfeld
e72f5cea22
Add "New Window" command
2022-05-20 11:01:20 -07:00
Max Brunsfeld
c4fc3d9c7f
Merge pull request #1023 from zed-industries/app-menu-improvements
...
Correctly populate application menus' keystrokes and enabled status
2022-05-20 10:22:20 -07:00
Max Brunsfeld
b72d97ce78
Disable menu item key equivalents while there are pending keystrokes
2022-05-20 10:04:43 -07:00
Antonio Scandurra
b751156cd7
Rename first_connection
to connected_once
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-20 17:35:00 +02:00
Antonio Scandurra
0597c662e4
Show contacts panel the first time a new user connects to collab
...
Co-Authored-By: Nathan Sobo <nathan@zed.dev>
2022-05-20 17:33:09 +02:00
Antonio Scandurra
d8ee4378c9
Send a ShowContacts
message the first time a user connects to collab
2022-05-20 15:47:14 +02:00
Antonio Scandurra
6f2c3f1e37
Update users and invite count after an invite gets redeemed
2022-05-20 12:02:31 +02:00
Max Brunsfeld
21862faa58
Convert function keys to the correct macOS codes for menu items
2022-05-19 17:37:46 -07:00
Nathan Sobo
eedb8ba59f
Add affordance to copy user's invite link if they have a code
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-19 17:57:46 -06:00
Max Brunsfeld
df4cfa56cf
Add application menu items
2022-05-19 16:50:40 -07:00
Max Brunsfeld
ea85473f4f
Enable and disable application menu items based on the active view
2022-05-19 16:50:40 -07:00
Max Brunsfeld
c4554c1720
Replace build_workspace fn with an initialize function that takes a workspace
...
This makes it clearer that the function is not providing necessary
dependencies to a workspace, but rather configuring it with all of
the panels and widgets which are defined in downstream crates.
2022-05-19 16:50:22 -07:00
Max Brunsfeld
9e47e19f4e
Pass UserStore to ContactsPanel instead of AppState
2022-05-19 14:43:36 -07: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
Nathan Sobo
a3bbabaaac
Add ability to get the user for an invite code in collab API
...
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-19 12:35:07 -06:00
Keith Simmons
bacfed37b7
Clone selections on editor split
2022-05-19 11:22:53 -07:00
Nathan Sobo
3d7e912c6b
Enable descriptive HTTP errors to be returned from DB layer
...
For now, we only use this when redeeming an invite code.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-05-19 11:55:55 -06:00
Nathan Sobo
d1b7a249b4
WIP
2022-05-19 11:09:44 -06:00
Max Brunsfeld
7445197f4d
Derive application menu key equivalents from the keymap
2022-05-19 10:04:01 -07:00