Commit log

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.

Antonio Scandurra created

3c56f6d Focus editor when confirming outline item

Antonio Scandurra created

38d844a fixup! Add major text

Piotr Osiewicz created

5768f14 Emit `Focus` events from `Pane` only when it didn't have focus before

Antonio Scandurra created

e7c14da Show the correct outline when clicking on a breadcrumb

Antonio Scandurra created

1599ee5 Add major text

Piotr Osiewicz created

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:

![image](https://github.com/zed-industries/zed/assets/2690773/5f790ffd-1ad8-4f02-a60d-49ee0756362d)

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

Kirill Bulatov created

55374e8 Port to gpui1

Kirill Bulatov created

3694265 Finalize the command

Kirill Bulatov created

e3fc810 Draft an expand macro recusively command

Kirill Bulatov created

db8e58b Introduce scrollbars in `editor2` (#3579)

Click to expand commit body
Release Notes:

- N/A

Antonio Scandurra created

e3c0b1f Listen for mouse events on scrollbar

Antonio Scandurra created

03df63a Merge remote-tracking branch 'origin/main' into scrollbars2

Antonio Scandurra created

cea26c9 actions3 (#3578)

Click to expand commit body
- 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

Conrad Irwin created

c5367e3 Correct docs re:Debug

Conrad Irwin created

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

Conrad Irwin created

4290c67 Restore namespace parameter to `actions!`

Click to expand commit body
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

Max Brunsfeld created

0be58eb Add a bunch of tooltips

Piotr Osiewicz created

b09d221 Add basic landing page

Piotr Osiewicz created

33c41fb Show negative numbers after limit is hit

Joseph T. Lyons created

0ee61e2 Fix drag events

Mikayla created

4adafb1 Improve the chat panel in zed 2 (#3573)

Click to expand commit body
* render markdown formatting
* wrap the chat messages
* enable the status bar button

Max Brunsfeld created

a4ea7bf More code written, similar lack of workingness so far

Conrad Irwin created

f3b764b Enable tests for MentionsEditor

Max Brunsfeld created

e4bc346 Initialize toggle chat panel action

Max Brunsfeld created

fd34d1d Add back semi-funcitonal pane resizing code

Mikayla created

9abf5a1 Add code for submission and error states

Joseph T. Lyons created

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

Marshall Bowers created

2517b10 Weight scope matches to improve results

Marshall Bowers created

1fecd3c Allow modals to override their dismissal (#3565)

Click to expand commit body
Release Notes:

- N/A

Joseph T. Lyons created

be63634 Enable chat panel in zed 2 (#3564)

Max Brunsfeld created

13dad89 Move all dismissal logic into dismiss_event

Joseph T. Lyons created

324aeaa Enable chat panel test, remove comments

Max Brunsfeld created