Commit Graph

11807 Commits

Author SHA1 Message Date
Joseph T. Lyons
feb7a8a0f4 collab 0.19.0 2023-08-30 14:37:55 -04:00
Joseph T. Lyons
7204c245ea v0.103.x dev 2023-08-30 13:41:09 -04:00
Kirill Bulatov
7e5735c8f1 Reap overly long LSP requests with a 2m timeout
Co-authored-by: Julia Risley <julia@zed.dev>
2023-08-30 18:41:41 +03:00
Nate Butler
e808386765
WIP UI Tweaks (#2911)
- 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.
2023-08-30 11:19:05 -04:00
Nate Butler
1da3be0646 Align diagnostic icons with other statusbar icons 2023-08-30 11:14:50 -04:00
Nate Butler
256949bee0 fmt 2023-08-30 10:56:08 -04:00
Antonio Scandurra
ea17d1638e
Introduce code generation (#2901)
![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`.
2023-08-30 14:58:22 +02:00
Antonio Scandurra
bf67d3710a Remove trailing backticks when assistant ends with a trailing newline 2023-08-30 12:08:14 +02:00
Antonio Scandurra
5f6562c214 Detect indentation from GPT output 2023-08-30 12:07:58 +02:00
Antonio Scandurra
c6f4390511 Retain search history for inline assistants
This only works in-memory for now.
2023-08-30 11:30:51 +02:00
Antonio Scandurra
5c498c8610 Show inline assistant errors 2023-08-30 11:04:48 +02:00
Kirill Bulatov
7a1b300b25
Do not blink the cursor if Zed app is focused away (#2907)
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
2023-08-30 10:53:09 +03:00
Conrad Irwin
d3650594c3 Fix find_{,preceding}boundary to work on buffer text
Before this change the bounday could mistakenly have happened on a soft
line wrap.

Also fixes interaction with inlays better.
2023-08-29 18:03:29 -07:00
Julia
e3a0252b04 Make multi-server completion requests not serial 2023-08-29 20:42:13 -04:00
Nate Butler
6e964acd92 Fix extra theme entry 2023-08-29 20:04:15 -04:00
Nate Butler
97d187bba7 Remove project divider in titlebar 2023-08-29 19:50:27 -04:00
Nate Butler
2af5fc5030 Move breadcrumb style to toolbar 2023-08-29 16:37:48 -04:00
Nate Butler
c9b1237079 Update titlebar size 2023-08-29 16:20:19 -04:00
Nate Butler
93cf52a719 Update toolbar active state style 2023-08-29 16:10:40 -04:00
Nate Butler
d91a9615b5 Format 2023-08-29 16:02:04 -04:00
Nate Butler
33c9f14852 Don't require passing theme to toggleable_icon_button 2023-08-29 16:01:08 -04:00
Nate Butler
0a14e33dba Pull toolbar into it's own styletree 2023-08-29 15:59:35 -04:00
Max Brunsfeld
e7ba5a1edb
Search UI polish (#2904)
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.
2023-08-29 12:53:32 -07:00
Julia
0e6c91818f Woooooops, don't notify the language server until initialized 2023-08-29 15:37:51 -04:00
Kirill Bulatov
100870aa9c Do not blink the cursor if Zed window is focused away
co-authored-by: Max <max@zed.dev>
2023-08-29 21:33:03 +03:00
Conrad Irwin
dd577074f2
vim: Fix relative motions (#2888)
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.
2023-08-29 11:19:37 -07:00
Kirill Bulatov
859ac1e97f
Add a default binding for toggling inlay hints (#2910)
Release Notes:

- Add a `"ctrl-shift-:": "editor::ToggleInlayHints"` default binding
2023-08-29 21:09:46 +03:00
Nate Butler
e89ccf2e26 Remove unused label_button 2023-08-29 14:09:31 -04:00
Nate Butler
f0ab27a83d Reorder "Select All" button 2023-08-29 14:04:17 -04:00
Kirill Bulatov
bbb222b6fc Add a default binding for toggling inlay hints 2023-08-29 20:56:26 +03:00
Nate Butler
f626c61b1e Update action_button style 2023-08-29 13:40:58 -04:00
Nate Butler
f6faeea720 Add disabled as an option on text_button 2023-08-29 13:40:46 -04:00
Nate Butler
05da4b740a Update spacing, button heights 2023-08-29 13:28:06 -04:00
Nate Butler
a5b12d535f Add margin and padding functions 2023-08-29 13:06:13 -04:00
Nate Butler
53558bc603 Remove baseurl to prevent theme import issue 2023-08-29 13:05:59 -04:00
Max Brunsfeld
7ae5ee699f
Debounce code action and document highlight requests (#2905)
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`.
2023-08-29 09:30:36 -07:00
Antonio Scandurra
87e25c8c23 Use model from conversation when available 2023-08-29 18:25:02 +02:00
Antonio Scandurra
16422a06ad Remember whether include conversation was toggled 2023-08-29 18:25:02 +02:00
Nathan Sobo
84b9c22170 Merge branch 'main' into ai-refactoring 2023-08-29 10:17:01 -06:00
Antonio Scandurra
df377d5195 Use Inline Assist across the board 2023-08-29 17:32:23 +02:00
Julia
15628af04b Style language server name in completion menu
Omit in buffers with one or zero running language servers with the
capability to provide completions

Co-Authored-By: Antonio Scandurra <antonio@zed.dev>
2023-08-29 11:21:02 -04:00
Piotr Osiewicz
ea0e5e880e
chore: Use IsTerminal trait instead of relying on libc to detect stdout being a terminal (#2908)
IsTerminal was added in 1.70.

Release Notes:
- N/A
2023-08-29 15:56:50 +02:00
Nathan Sobo
396558755e
Testing: Update build script to make local testing easier (#2903)
* `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.
2023-08-29 07:07:35 -06:00
Antonio Scandurra
72413dbaf2 Remove the ability to reply to specific message in assistant 2023-08-29 14:51:00 +02:00
Antonio Scandurra
2332f82442 More polish 2023-08-29 14:41:02 +02:00
Antonio Scandurra
08df24412a Delete less aggressively 2023-08-29 14:31:58 +02:00
Antonio Scandurra
c2b60df5af Allow including conversation when triggering inline assist 2023-08-29 14:08:16 +02:00
Kirill Bulatov
1c6964ee96
Trim off surrounding [] when parsing terminal hover links (#2906)
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
2023-08-29 10:49:33 +03:00
Kirill Bulatov
7c498feb85 Trim off surrounding [] when parsing terminal hover links
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]`.
2023-08-29 10:40:20 +03:00
Max Brunsfeld
791f6cf9e7 Update some tests to reflect code action debouncing 2023-08-28 17:45:32 -07:00