fdc0ef8
Maintain focus correctly when activating panes in zed2 (#3582)
Click to expand commit body
Previously, before emitting a `Focus` event from the pane inside of the
`focus_in` listener, we would erroneously check whether the pane's focus
handle was _not_ focused. However, by the time the pane was notified of
being "focused in", the focus handle would already be focused, which was
preventing the pane from ever emitting a `Focus` event. In turn, this
would cause the workspace to not maintain the active pane correctly.
This pull request maintains an explicit `was_focused` boolean as part of
the `Pane` state, which ensures we only emit the `Focus` event the first
time the pane receives focus.
As part of this, I also reworked how the outline view gets deployed to
allow clicking breadcrumbs even when the corresponding pane doesn't have
focus.
Release Notes:
- N/A
Antonio Scandurra
created
b4fc8ea
Fix porting mistake that caused clicking on the editor to misbehave
Click to expand commit body
We used `width` instead of `height` in the "pixels-to-point" conversion
code, which would cause clicks to not work correctly when the width was
smaller than the `y` coordinate.
fe315c6
Bind actions on the whole search bar, not just the query editor
Piotr Osiewicz
created
36d2ab4
Always open new project search view `workspace::NewSearch` action (#3581)
Kirill Bulatov
created
cdf7c10
Add an action to expand Rust macros with rust-analyzer (#3580)
Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/1282
If rust-analyzer responds with non-empty message, opens a new singleton
multibuffer with the expansion result:

In gpui2, only editors with excerpts containing Rust languages get the
action, in gpui1 every editor (even the *.ts one) has this action
enabled but it does nothing.
Release Notes:
- Added an `editor::ExpandMacroRecursively` command to expand Rust
macros with rust-analyzer.
Kirill Bulatov
created
da44b51
Always open new project search view `workspace::NewSearch` action
- Restore impl_actions! and remove derive(Action)
Originally in gpui2 we inferred the action's namespace from the module
it was
defined in. This worked most of the time (ignoring the "remove_the_2"
hack),
but caused unintended (and mostly invisible) behavior in crates with
multiple
modules.
#3577 restored the namespace parameter to actions!, and this PR
reintroduces
`impl_actions!` to do the same for non-unit structs.
I considered trying to keep the struct-attribute API work, because it
does feel
more stylistically appropriate for rust, but two problems lead to it
feeling less good than `impl_actions!` in practice:
1. You have to repeat the namespace for each struct (and usually you're
defining them all in the same namespace)
2. You can't pass an argument to a derive macro inline, you need to use
an attribute instead.
Release Notes:
- N/A
9ce7395
Restore impl_actions! and remove derive(Action)
Conrad Irwin
created
ff45b43
Add code for submission and error states for feedback modal (#3572)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
62d6a85
Restore namespace parameter to `actions!` (#3577)
Click to expand commit body
This does not yet fix `derive(Action)`, but will conflict with a lot so
wanted to merge quickly.
Although automatically deriving the namespace worked in many situations,
it was
unclear what to do with nested modules. Vim wanted all actions to be
registered
under vim, while collab_ui wanted one namespace per action.
It seems better to make the implicit explicit, and give the flexibility
to hide
implementation details from the end-users.
Release Notes:
- N/A
This does not yet fix `derive(Action)`, but will conflict with a lot so
wanted to merge quickly.
Conrad Irwin
created
cbbb0d0
Paint code-action/fold buttons above the gutter (#3576)
Click to expand commit body
Previously, clicking on fold indicators or code action lightning bolts
wouldn't work - it would instead perform the normal gutter click handler
(selecting the clicked line).
By painting those indicators at a higher z-index, we ensure that the
indicators' click handlers are invoked instead.
Max Brunsfeld
created
7b722c3
Paint code-action/fold buttons above the gutter
Max Brunsfeld
created
188d727
Fix crash due to mutating command palette's candidates on confirmation (#3575)
Click to expand commit body
I was seeing a crash when confirming the command palette. It was caused
by getting the palette's `commands` (match candidates) and `matches`
getting out of sync because we mutated `commands` when removing the
selected command.
Max Brunsfeld
created
6b58eb2
Fix crash due to mutating command palette's candidates on confirmation
049314e
Restructure chat message rendering to allow text to wrap
Max Brunsfeld
created
d03e29d
Start work on rendering formatted chat messages
Max Brunsfeld
created
8feb11c
Make clicking the breadcrumb toggle the symbol outline (#3571)
Click to expand commit body
This PR wires up clicks on the breadcrumb to toggle the symbol outline.
Note that the behavior of the symbol outline is a little wonky at the
moment, due to the issues with pane focus.
Release Notes:
- N/A
Marshall Bowers
created
008c56a
Adjust which status colors we import from the VS Code theme (#3570)
Click to expand commit body
This PR adjusts the status colors we import from the VS Code theme to be
the right ones.
Instead of looking at the Git status colors, we use the
`editorGutter.addedBackground`, `editorGutter.modifiedBackground`, and
`editorGutter.deletedBackground` colors for added, modified, and deleted
status colors, respectively.
Release Notes:
- N/A
Marshall Bowers
created
cf42d95
Use the diff status colors defined in the theme (#3569)
Click to expand commit body
This PR updates the diff status colors to use the ones defined in the
theme instead of placeholder colors.
Release Notes:
- N/A
Marshall Bowers
created
60e4311
Fix bug where feedback dismissal prompt is shown twice (#3568)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
cbbcc35
Fix bug where feedback dismissal prompt is shown twice
Joseph T. Lyons
created
44890d6
Weight scope matches to improve results (#3567)
Click to expand commit body
This PR adds a simple weighting system for the matching of scopes from
the VS Code theme.
This gives us more control over the matches we get out of the theme, and
subsequently improves the results.
Release Notes:
- N/A