Commit log

2aa94f3 v0.102.x preview

Joseph T. Lyons created

e808386 WIP UI Tweaks (#2911)

Click to expand commit body
- Tighten up toolbar
- Reduce intensity of active tools
- Remove divider between project + branch
- Add a styletree for toolbar + move breadcrumb into it
- Some ts theme tidying

[[PR Description]]

Release Notes:

- Improved density and contrast of a number of UI elements.

Nate Butler created

1da3be0 Align diagnostic icons with other statusbar icons

Nate Butler created

256949b fmt

Nate Butler created

ea17d16 Introduce code generation (#2901)

Click to expand commit body
![CleanShot 2023-08-28 at 12 24
36@2x](https://github.com/zed-industries/zed/assets/482957/f97cb399-1ac2-4fa9-94a7-137d1eec711c)


Release Notes:

- Added a new "Inline Assist" feature that lets you transform a
selection or generate new code at the cursor location by hitting
`ctrl-enter`.

Antonio Scandurra created

bf67d37 Remove trailing backticks when assistant ends with a trailing newline

Antonio Scandurra created

5f6562c Detect indentation from GPT output

Antonio Scandurra created

c6f4390 Retain search history for inline assistants

Click to expand commit body
This only works in-memory for now.

Antonio Scandurra created

5c498c8 Show inline assistant errors

Antonio Scandurra created

7a1b300 Do not blink the cursor if Zed app is focused away (#2907)

Click to expand commit body
Deals with https://github.com/zed-industries/community/issues/1116
Part of https://github.com/zed-industries/community/issues/1098

Use Mac platform callbacks to send a global event and enable/disable
caret blinking in editors when the app is not focused.

Release Notes:

- Stop blinking caret if Zed app is not focused

Kirill Bulatov created

6e964ac Fix extra theme entry

Nate Butler created

97d187b Remove project divider in titlebar

Nate Butler created

2af5fc5 Move breadcrumb style to toolbar

Nate Butler created

c9b1237 Update titlebar size

Nate Butler created

93cf52a Update toolbar active state style

Nate Butler created

d91a961 Format

Nate Butler created

33c9f14 Don't require passing `theme` to `toggleable_icon_button`

Nate Butler created

0a14e33 Pull toolbar into it's own styletree

Nate Butler created

e7ba5a1 Search UI polish (#2904)

Click to expand commit body
This PR polishes the search bar UI, making the layout more dense, and
the spacing more consistent with the rest of the app. I've also
re-ordered the toolbar items to reflect some of @iamnbutler's original
search designs. The items related to the search query are on the left,
and the actions that navigate the buffer (next, prev, select all, result
count) are on the right.

Max Brunsfeld created

100870a Do not blink the cursor if Zed window is focused away

Click to expand commit body
co-authored-by: Max <max@zed.dev>

Kirill Bulatov and Max created

dd57707 vim: Fix relative motions (#2888)

Click to expand commit body
This changes vim motions to be relative to fold lines, not display
lines, to match the behaviour of vim.

This is necessary for relative line numbers to make sense (as the most
important thing is you can do `3j` to get th e line that is numbered 3).


Release Notes:

- vim: Fix handling of motions when `soft_wrap` is enabled in zed. Like
in vim `j,k,up,down,$,^,0,home,end` will all now navigate in file
coordinates not display coordinates.
- vim: Add `g {j,k,up,down,$,^,0,home,end}` to navigate in display
coordinates.
- vim: Add `z o` and `z c` to open and close folds.
- vim: Add `z f` in visual mode to fold selection.

Note: this may be a jarring change if you're grown used to the current
behaviour of `j` and `k`. You can make the issue less acute by setting
`"soft_wrap":"none"` in your settings; or you can manually copy the
bindings for `g j` to the binding for `j` (etc.) in your keymap.json to
preserve the existing behaviour.

Conrad Irwin created

859ac1e Add a default binding for toggling inlay hints (#2910)

Click to expand commit body
Release Notes:

- Add a `"ctrl-shift-:": "editor::ToggleInlayHints"` default binding

Kirill Bulatov created

e89ccf2 Remove unused `label_button`

Nate Butler created

f0ab27a Reorder "Select All" button

Nate Butler created

bbb222b Add a default binding for toggling inlay hints

Kirill Bulatov created

f626c61 Update action_button style

Nate Butler created

f6faeea Add disabled as an option on text_button

Nate Butler created

05da4b7 Update spacing, button heights

Nate Butler created

a5b12d5 Add margin and padding functions

Nate Butler created

53558bc Remove baseurl to prevent theme import issue

Nate Butler created

7ae5ee6 Debounce code action and document highlight requests (#2905)

Click to expand commit body
Lately, I've been finding Rust-analyzer unusably slow when editing large
files (like `editor_tests.rs`, or `integration_tests.rs`). When I
profile the Rust-analyzer process, I see that it sometimes saturates up
to 10 cores processing a queue of code actions requests.

Additionally, sometimes when collaborating on large files like these, we
see long delays in propagating buffer operations. I'm still not sure why
this is happening, but whenever I look at the server logs in Datadog, I
see that there are remote `CodeActions` and `DocumentHighlights`
messages being processed that take upwards of 30 seconds. I think what
may be happening is that many such requests are resolving at once, and
the responses are taking up too much of the host's bandwidth.

I think that both of these problems are caused by us sending way too
many code action and document highlight requests to rust-analyzer. This
PR adds a simple debounce between changing selections and making these
requests.

From my local testing, this debounce makes Rust-analyzer *much* more
responsive when moving the cursor around a large file like
`editor_tests.rs`.

Max Brunsfeld created

87e25c8 Use model from conversation when available

Antonio Scandurra created

16422a0 Remember whether include conversation was toggled

Antonio Scandurra created

84b9c22 Merge branch 'main' into ai-refactoring

Nathan Sobo created

df377d5 Use Inline Assist across the board

Antonio Scandurra created

ea0e5e8 chore: Use IsTerminal trait instead of relying on libc to detect stdout being a terminal (#2908)

Click to expand commit body
IsTerminal was added in 1.70.

Release Notes:
- N/A

Piotr Osiewicz created

3965587 Testing: Update build script to make local testing easier (#2903)

Click to expand commit body
* `script/bundle -l` will only build for the current architecture and
skip DMG creation. It will also copy to `/Applications`.
* `script/bundle -l "My Bundle"` will name the bundle after your
provided name.
* Passing `-f` will overwrite. Passing `-o` will also open the
application.

Nathan Sobo created

72413db Remove the ability to reply to specific message in assistant

Antonio Scandurra created

2332f82 More polish

Antonio Scandurra created

08df244 Delete less aggressively

Antonio Scandurra created

c2b60df Allow including conversation when triggering inline assist

Antonio Scandurra created

1c6964e Trim off surrounding `[]` when parsing terminal hover links (#2906)

Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/2899

Terminal has to accept `[` and `]` as valid word parts, due to
`[slug].tsx` being a valid file name.
Yet, terminal has to exclude these to match paths in strings like
`[/some/path/[slug].tsx]`.

Release Notes:

- N/A

Kirill Bulatov created

7c498fe Trim off surrounding `[]` when parsing terminal hover links

Click to expand commit body
Terminal has to accept `[` and `]` as valid word parts, due to
`[slug].tsx` being a valid file name.
Yet, terminal has to exclude these to match paths in strings like
`[/some/path/[slug].tsx]`.

Kirill Bulatov created

791f6cf Update some tests to reflect code action debouncing

Max Brunsfeld created

5142049 Demote some Peer logging to trace level

Max Brunsfeld created

89eab78 Debounce document highlight and code actions requests

Max Brunsfeld created

70bea75 Change cycle mode action to reflect new mode button order

Max Brunsfeld created

3eee282 Overhaul search bar layout

Click to expand commit body
* Use a single row, instead of centering the search bar within a double-row toolbar.
* Search query controls on the left, navigation on the right
* Semantic is the final mode, for greater stability between buffer and project search.
* Prevent query editor from moving when toggling path filters

Max Brunsfeld created

78f9a1f Remove padding from workspace toolbar, increase its content height to compensate

Click to expand commit body
The padding makes it difficult to layout toolbar items correctly when they are more than one row tall.

Max Brunsfeld created

bb448b9 Don't add a quick actions toolbar item for non-editor views

Click to expand commit body
Rather than adding primary toolbar item that renders as empty,
don't add an item at all. This prevents spurious spacing from
being added after other primary toolbar items.

Max Brunsfeld created