Antonio Scandurra
c124caeb0d
Add test for stream_excerpts_with_context_lines
2023-01-19 15:54:32 +01:00
Antonio Scandurra
5ce065ac92
Introduce MultiBuffer::stream_excerpts_with_context_lines
...
This allows us to push excerpts in a streaming fashion without blocking
the main thread.
2023-01-19 15:42:14 +01:00
Antonio Scandurra
a8f466b422
Don't starve the main thread adding too many search excerpts at once
2023-01-18 14:22:23 +01:00
Max Brunsfeld
8651320c9f
Make workspace items expose their underlying models, remove file-related methods
2023-01-17 17:21:06 -08:00
Julia
2b1118f597
Add dismiss buffer search button & fix some faulty icon button styling
...
Co-Authored-By: Nate Butler <nate@zed.dev>
2023-01-01 23:50:46 -05:00
Julia
de9c58d216
Merge pull request #1983 from zed-industries/multi-buffer-git-gutter
...
Multi buffer git gutter
2022-12-19 10:53:42 -05:00
Julia
2cd9987b54
Git diff recalc in project search
2022-12-13 12:35:58 -05:00
Max Brunsfeld
f797dfb88f
Merge branch 'main' into multibuffer-following
2022-12-12 11:47:39 -08:00
Kay Simmons
cffb064c16
Refactor editor scrolling and implement scroll commands from vim mode
2022-12-07 16:39:32 -08:00
Mikayla Maki
a47f2ca445
Added UUID based, stable workspace ID for caching on item startup. Completed first sketch of terminal persistence. Still need to debug it though....
2022-12-03 16:06:01 -08:00
Kay Simmons
d20d21c6a2
Dock persistence working!
...
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-12-03 16:06:01 -08:00
Kay Simmons
c1f7902309
wip
2022-12-03 16:06:01 -08:00
Max Brunsfeld
6120d6488b
Start work on following in multi-buffers
2022-11-29 14:50:43 -08:00
Mikayla Maki
53f8744794
Tried alternate stratergy
2022-11-08 11:54:26 -08:00
Antonio Scandurra
0b231e58fd
Show placeholder text for pickers
2022-11-04 10:18:47 +01:00
Nathan Sobo
6e363e464c
Start on view-level dispatch approach for keyboard events
2022-10-16 11:46:31 -06:00
Antonio Scandurra
a5a60eb854
Log view name alongside error in ChildView
2022-10-13 15:44:01 +02:00
K Simmons
1d8717f4de
Remove focus filtering from gpui so all focus events result in focus-in and focus-out calls
...
Remove pane focused event in favor of focus_in at the workspace level
Added is_child to ViewContext to determine if a given view is a child of the current view
Fix issue where dock would get in a infinite loop when activated after dragging an item out of it
Fix issue where the last focused view in an item was not correctly refocused when a pane is focused after switching active tabs
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-10-12 15:10:00 -07: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
31ecb2f7bc
Introduced ItemEvent and to_item_events function to Item trait which converts the Item's events into a standard ItemEvent similar to how SearchableItems work.
...
Add breadcrumb_location and breadcrumbs functions to item trait which handles rendering of the breadcrumb elements
Change breadcrumb toolbar to use these new functions rather than having hard coded breadcrumb logic
Add breadcrumb support to the terminal tabs
Co-Authored-By: Mikayla Maki <mikayla@zed.dev>
2022-09-06 16:05:36 -07:00
K Simmons
ab81093ef5
WIP pull breadcrumb rendering out into item trait
2022-09-06 14:39:58 -07:00
Mikayla Maki
ebae991cb2
Finished terminal search
2022-09-01 13:45:46 -07:00
Mikayla Maki
3f11fd3b8b
Terminal implements important half of search protocol
2022-08-31 17:41:53 -07:00
K Simmons
d7e6e8c5a1
Add match associated type and fix failing test
2022-08-30 21:53:49 -07:00
K Simmons
91a5d0b036
SearchableItem trait is completed and editor searches appear to be working
2022-08-30 15:37:54 -07:00
Max Brunsfeld
d15ba8efb4
Revert "Merge pull request #1481 from zed-industries/trigger-search-automatically"
...
This reverts commit ae8dd1e3fd
, reversing
changes made to 96d5dcadf1
.
2022-08-19 09:17:43 -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
K Simmons
f5a6a112c8
Address picker issues
2022-08-09 17:15:54 -07:00
K Simmons
6f180ed822
Pane focus working. Modals seem broken now
2022-08-09 17:15:54 -07:00
K Simmons
690ea57211
WIP compiling but failing with circular reference
2022-08-09 17:15:52 -07:00
K Simmons
4271eb3624
Event dispatch moved to MutableAppContext. No longer dispatches from presenter. Not currently handling key presses properly
2022-08-09 17:09:16 -07:00
ForLoveOfCats
db52593d9b
Automatically trigger project search to occur when deploying
2022-08-08 13:17:19 -04:00
Mikayla Maki
314c26e4ec
Removed icons
2022-08-04 08:42:42 -07:00
Max Brunsfeld
fa5af4383d
Introduce AutoindentMode parameter to Buffer::edit
...
This controls whether or not we preserve the relative indentation
of inserted text blocks.
Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
2022-07-28 14:03:31 -07: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
Nate Butler
46384e71b7
Add icon sets for sizes 8, 12 and 16, remove old icons
2022-07-19 17:11:15 -04:00
K Simmons
8add81350e
Rework presenter and MouseRegion to use Handler hashmap rather than individual fields
2022-07-17 23:19:32 -07:00
Antonio Scandurra
fd5cb02ea9
Truncate description in tab title when it is too long
2022-07-14 15:12:16 +02:00
Antonio Scandurra
07d269234f
Differentiate among tabs with the same name
...
This commit introduces a new, optional `Item::tab_description` method
that lets implementers define a description for the tab with a certain
`detail`. When two or more tabs match the same description, we will
increase the `detail` until tabs don't match anymore or increasing the
`detail` doesn't disambiguate tabs any further.
As soon as we find a valid `detail` that disambiguates tabs enough, we
will pass it to `Item::tab_content`. In `Editor`, this is implemented by
showing more and more of the path's suffix as `detail` is increased.
2022-07-14 11:54:11 +02:00
Max Brunsfeld
e51dc25e1d
Start moving default settings into a JSON file
...
Co-authored-by: Antonio Scandurra <me@as-cii.com>
2022-07-12 11:00:02 -07:00
Antonio Scandurra
b937c1acec
Move autosave logic up into Workspace
and Pane
2022-07-06 16:33:22 +02:00
Antonio Scandurra
980730a4e1
Report whether a view was focused or blurred when observing focus
2022-07-06 15:53:40 +02:00
Keith Simmons
66486870aa
Fix vim editor focus selection issues, cancel vim operators on escape and unbound keys
2022-06-30 12:36:02 -07:00
Antonio Scandurra
88d8696414
Display tooltip for select prev/next match buttons
2022-06-16 14:37:33 +02:00
Antonio Scandurra
649185da9c
Allow toggling search options via the command palette
2022-06-16 14:28:37 +02:00
Antonio Scandurra
29e57c8e3c
Toggle project search options via the keyboard
2022-06-16 14:18:45 +02:00
Antonio Scandurra
d0d6c27ae9
Don't select next match when toggling buffer search option
2022-06-16 14:06:47 +02:00
Antonio Scandurra
a835dcefa2
Toggle buffer search options via the keyboard
2022-06-16 13:44:00 +02:00
Antonio Scandurra
ffb75b0f02
Extract an ExcerptRange
containing a context
field in multi_buffer
...
This lays the groundwork for adding an optional `primary` field that can
be supplied to provide the "jump to" feature.
2022-06-08 12:13:04 +02:00
Antonio Scandurra
6b4e7da7d6
Prepopulate project search query when deploying it from an editor
2022-06-07 10:02:04 +02:00
Antonio Scandurra
3a69943df3
Require that PartialEq
is implemented for Action
2022-06-06 09:18:44 +02:00
Antonio Scandurra
339069b1d3
Cap MessageStream
buffer size to 1MB
...
We temporarily let it grow when the message size exceed the limit,
but restore the buffer's capacity shortly after. This ensures that,
for each connection in its entire lifetime, we only ever use 1MB.
2022-05-31 11:16:32 +02:00
Antonio Scandurra
5b2d6e41f3
Introduce keyboard navigation in context menus
2022-05-26 16:36:30 +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
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
Max Brunsfeld
fbd589b589
Start work on handling multibuffers properly when closing unsaved buffers
2022-05-22 16:48:33 -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
Keith Simmons
a2fd41174f
Reduce accessibility of multibuffer read to reduce risk of borrowing snapshot and buffer refcells twice
2022-05-13 16:58:30 -07:00
Keith Simmons
c3a36e6d8a
Rename selected_ranges and selected_display_ranges to remove redundant selected
2022-05-13 15:55:27 -07:00
Keith Simmons
de9dc27980
store buffer and display_map model handles on selections collection
2022-05-13 15:55:27 -07:00
Keith Simmons
db0a9114c2
Passing tests and removed local argument. Also pulled autoscroll argument out to change_selections
2022-05-13 15:55:27 -07:00
Keith Simmons
c9dcfff607
Move selection helpers to SelectionCollection, add update_anchor_selections, add a number of invariant preserving mutation functions to the MutableSelectionCollection
2022-05-13 15:55:17 -07:00
Antonio Scandurra
61346f734d
WIP
2022-05-05 15:15:58 +02:00
Max Brunsfeld
d4492086b3
Abstract more local project setup inside Project::test helper
2022-05-04 10:28:09 -07:00
Keith Simmons
d4bef67cf2
Merge pull request #929 from zed-industries/non-uniform-batched-edits
...
Allow batched edits where each range is associated with different insertion text
2022-04-29 16:14:38 -07:00
Keith Simmons
b4b61b4bbc
Consolidate edit and edit_batched functions
2022-04-28 16:52:04 -07:00
Max Brunsfeld
d9497d49de
🎨 Use Interactive wrapper for search option buttons
2022-04-28 15:29:03 -07:00
Keith Simmons
04fc1d5982
Building, but failing test WIP
2022-04-27 17:25:38 -07:00
Max Brunsfeld
490b65b55f
Reuse Confirm action in chat panel, go-to-line, and project search
2022-04-21 15:24:05 -07:00
Nathan Sobo
9820c6ba64
Merge pull request #822 from zed-industries/focus-project-search-query
...
Fix focus bugs in `ProjectSearchView`
2022-04-14 12:25:59 -06:00
Max Brunsfeld
3cdda79fc3
Merge pull request #817 from zed-industries/dynamic-editor-highlights
...
Store accessors for editor highlight colors not colors themselves
2022-04-14 10:36:38 -07:00
Antonio Scandurra
ce3a31d8bd
Persist project search focus state
...
...so that we can re-focus the previously-active editor when switching back
to the project search tab.
2022-04-14 18:36:42 +02:00
Nathan Sobo
27057fdb1b
Only process a single focus effect per batch
...
This allows us to focus the query editor of the project search when deploying it. Previously, a complex interplay between focus events was preventing this from working in an intuitive way. What happened previously:
- We'd activate the project search, which enqueued a focus effect for the project search view
- We'd focus the query editor, which enqueued an effect
- We'd process the focus effect for the search view, which would enqueue an effect to transfer focus to the results editor
- We'd process the effect to focus the query editor
- We'd process the effect to focus the results editor
Now...
- We activate the project search pane item, enqueuing a focus effect for the project search itself
- We focus the query editor and *remove* the previous pending focus change effect
- We process the focus effect
2022-04-14 08:52:24 -06:00
Nathan Sobo
c4203868ea
Revert "Focus Project Search query editor always when deployed"
2022-04-14 07:53:15 -06:00
Keith Simmons
292d075f81
Store accessors for editor highlight colors not colors themselves
2022-04-13 15:30:57 -07:00
Keith Simmons
8cde15cb72
Notify when buffer search matches change
2022-04-13 14:49:18 -07:00
Max Brunsfeld
54d49c13d9
Merge pull request #795 from zed-industries/cancel-buffer-search
...
Handle editor cancel in pane in order to dismiss find toolbar
2022-04-11 17:47:44 -07:00
Max Brunsfeld
300feb5d57
Merge pull request #797 from zed-industries/project-search-focus
...
Focus Project Search query editor always when deployed
2022-04-11 17:41:08 -07:00
Max Brunsfeld
b3c64e47f1
Merge branch 'main' into cancel-buffer-search
2022-04-11 17:38:26 -07:00
Max Brunsfeld
25e1e3d2df
Merge pull request #786 from zed-industries/load-keymaps
...
Allow key bindings to be customized via a JSON file
2022-04-11 17:31:22 -07:00
Max Brunsfeld
2807d85a60
Merge pull request #791 from zed-industries/project-search-focus-fix
...
Properly activate project search item on mouse click
2022-04-11 17:31:06 -07:00
Keith Simmons
28da5b4afc
Don't focus active editor when deploying project search and focus query editor on project search focus
2022-04-11 17:05:24 -07:00
Max Brunsfeld
92a5c30389
Merge branch 'main' into load-keymaps
2022-04-11 15:55:10 -07:00
Keith Simmons
4b295f566a
Handle editor cancel in pane in order to dismiss find toolbar
2022-04-11 15:11:23 -07:00
Keith Simmons
3c116e32cb
Reraise editor events in Project Search and activate workspace item from them
2022-04-11 10:13:07 -07:00
Max Brunsfeld
1e2eeaa22a
Load project and buffer search key bindings from JSON file
2022-04-10 11:30:08 -07:00
Nathan Sobo
17195e615e
Merge pull request #781 from zed-industries/structured-logging
...
Introduce structured logging
2022-04-09 07:40:24 -06: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
Nathan Sobo
7e5a3f9f6b
Introduce structured logging
...
We're enabling the log crate feature everywhere, but only using it on the server for now.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
2022-04-08 10:06:51 -06: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
Keith Simmons
1812480cbb
Tab size is pulled properly from settings instead of hardcoded
2022-04-06 10:23:37 -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
703f1c3be0
Introduce workspace::Item::reload
to manually trigger a reload
2022-04-01 14:02:49 +02:00
Antonio Scandurra
cd5389b4d8
Let toolbar items specify flex
when they have a primary location
2022-04-01 10:55:38 +02:00
Antonio Scandurra
7f9ff47089
Hide breadcrumbs when project search has no results
2022-04-01 10:00:21 +02:00
Antonio Scandurra
9f939bd007
Fix styling of project search bar
2022-04-01 09:59:36 +02:00
Nathan Sobo
903810f22e
Style search in buffer below breadcrumbs
...
We still have issues with project search styling.
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-31 11:44:16 -06:00
Nathan Sobo
8bfac63e0d
Render the search UI on a separate row from the breadcrumbs
...
- In project search, render it above the breadcrumbs
- In buffer search, render it below
Co-Authored-By: Antonio Scandurra <me@as-cii.com>
Co-Authored-By: Max Brunsfeld <maxbrunsfeld@gmail.com>
2022-03-31 10:36:39 -06:00