f5e155b
When clicking on a hunk expand it, do not move the caret (#11350)
Click to expand commit body
Release Notes: - N/A
Kirill Bulatov created
f5e155b
When clicking on a hunk expand it, do not move the caret (#11350)
Release Notes: - N/A
Kirill Bulatov created
3605550
project panel: Allow confirming prompt with keyboard (#11346)
The ability to confirm the file deletion prompt by pressing "Enter" was broken in #11015 Release Notes: - Restored the ability to confirm a prompt by pressing "Enter" when deleting/trashing files
Bennet Bo Fenner created
9348e6f
lsp: More information in error if server fails to start (#11343)
We do log that information, but we don't put it in the error message where it's really useful. Release Notes: - N/A
Thorsten Ball created
f987ff0
Improve JSDoc injection in comments (#10800)
This PR improves JSDoc injection for syntax highlighting. Now we are only injecting JSDoc in block comments. The regex was mostly adapted from nvim-treesitter's implementation (lua) to a rust regex. https://github.com/nvim-treesitter/nvim-treesitter/blob/eb93c3b2fbe9ca55d70e9297d5c037880b997559/queries/ecma/injections.scm#L1-L6 **Before:** <img width="441" alt="Screenshot 2024-04-20 at 5 51 04 AM" src="https://github.com/zed-industries/zed/assets/20072509/8e77851d-22ad-4dc4-8e10-9ac558d3cf40"> **After:** <img width="441" alt="Screenshot 2024-04-20 at 5 52 05 AM" src="https://github.com/zed-industries/zed/assets/20072509/a607c219-6973-40c3-958c-44a003d008c3"> Release Notes: - Changed detection of JSDoc to only do syntax highlighting in block comments. Improved previous work done in #7826.
José Olórtegui created
2306e3c
Add brackets and missing operators to Python grammar (#11180)
Release Notes: - Fixed #4341 Before:  After: 
adorabilis created
f252d9c
Fix alt-shift-(left|right) behaviour (#11292)
Not sure what the etiquette is here, but in the interest of fixing #10242, I've re-implemented @jish's PR https://github.com/zed-industries/zed/pull/10535 and have signed the CLA Release Notes: - Fixed `alt-shift-left` and `alt-shift-right` in the Textmate default keybindings. ([#10242](https://github.com/zed-industries/zed/issues/10242)) TextMate keymap uses default option shift arrow selection
Dom Christie created
5ce4590
install.sh: use per-channel binary names in `~/.local/bin` (#11339)
Release Notes: - N/A
Thorsten Ball created
cd03e47
Improve deleted hunk blocks' behavior (#11340)
* clear their selections on focus lost * allow reverting diff hunks when the caret is inside of the deleted hunk diff editor block Release Notes: - N/A
Kirill Bulatov created
e69e25c
linux: Use app_id as filepath for desktop file (#11337)
This undoes the changes from #11333 and uses the path of the `.desktop` file instead. According ot the spec (https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html) the filename and path of the `desktop` file are used to determine the desktop file ID. This is enough to match the windows (which have the same WMClass/app-id) with the desktop entry. Release Notes: - N/A
Thorsten Ball created
61a60d3
Tie the Zed application ID to the release channel (#11335)
Since we do want to have different versions of Zed running on the same Linux install, we need to give them different application IDs so they're not grouped together as the same application. This changes the app_id depending on the releaes channel and, crucially, it also matches them up with the bundle identifiers that we use on macOS. Release Notes: - N/A
Thorsten Ball created
4024b9a
gpui: Fix `start_display_link` leading to resource leak on hidden windows (#11289)
Release Notes: - N/A While developing [Loungy](https://loungy.app), I noticed that everytime I wake my laptop, Loungy starts consuming 100% CPU. I traced it down to `start_display_link` as there was this error message at the time of wake up: ``` [2024-05-02T05:02:31Z ERROR util] /Users/matthias/zed/crates/gpui/src/platform/mac/window.rs:420: could not create display link, code: -6661 ``` The timeline is this: 1. The application is hidden with `cx.hide()` 2. The system is put to sleep and later woken up 3. `window_did_change_screen` would trigger immediately after wakeup, calling `start_display_link` 4. `start_display_link` fails catastrophically as `DisplayLink::new` starts hogging all the CPU for some reason? 5. throws the error message above 6. Once the window is opened, `window_did_change_occlusion_state` it retriggers `start_display_link` and the CPU issue subsides
Matthias Grandl created
b523ee6
Use Rope instead of String for buffer diff base (#11300)
As an attempt to do things better when showing diff hunks, store diff base as Rope, not String, to have cheaper clones when the diff base text is reused, e.g. creating another buffer with the diff base text for hunk diff expanding. Release Notes: - N/A
Kirill Bulatov created
5f0046b
linux: Set StartupWMClass in .desktop file (#11333)
This has to match the WMClass/AppID, which was added here: #10909 Release Notes: - N/A
Thorsten Ball created
155a80c
Rename test (#11317)
This naming makes the purpose of the test clearer to people new to the project.
Max Linke created
7bc1025
Wayland: Fix segfault when exiting with `ctrl+q` (#11324)
Release Notes: - N/A When closing with `ctrl-q`, drop_window is not called and results in a segfault.
Fernando Tagawa created
b58bf64
Increase rate limits for computing embeddings (#11326)
- Also, remove the rate limit for getting cached embeddings entirely. Release Notes: - N/A
Nathan Sobo created
47b38a0
Tidy Assistant2 composer (#11321)
Release Notes: - N/A
Nate Butler created
1915a75
Allow codebase search to be turned on or off within the composer for assistant2 (#11315)
   Release Notes: - N/A
Kyle Kelley created
43ad470
Use outline queries to chunk files syntactically (#11283)
This chunking strategy uses the existing `outline` query to chunk files. We try to find chunk boundaries that are: * at starts or ends of lines * nested within as few outline items as possible Release Notes: - N/A
Max Brunsfeld created
1abd580
Slicker remote project creation (#11309)
Inline the editor into the modal Release Notes: - N/A --------- Co-authored-by: Bennet <bennetbo@gmx.de>
Conrad Irwin and Bennet created
78a8a58
Iterate on Assistant 2 composer UI (#11306)
- Change project index tool rendering in composer - Update composer UI style Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <1486634+maxdeviant@users.noreply.github.com> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Nate Butler , Marshall Bowers , and Marshall Bowers created
9bac64a
Rename RemoteProject -> DevServerProject (#11301)
Co-Authored-By: Mikayla <mikayla@zed.dev> In a fit of ill-advisedness I called these things remote projects; forgetting that remote project is also what we call collaboratively shared projects. Release Notes: - N/A --------- Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Bennet <bennetbo@gmx.de>
Conrad Irwin , Mikayla , and Bennet created
d61c47d
elixir: Bump to v0.0.2 (#11303)
This PR bumps the Elixir extension to v0.0.2. Changes: - https://github.com/zed-industries/zed/pull/11302 Release Notes: - N/A
Marshall Bowers created
8b28433
elixir: Respect LSP settings for `elixir-ls` (#11302)
This PR updates the Elixir extension to respect the LSP settings for
`elixir-ls`:
```json
"lsp": {
"elixir-ls": {
"settings": {
"dialyzerEnabled": false
}
}
}
```
```
Received workspace/didChangeConfiguration
Received client configuration via workspace/didChangeConfiguration
%{"dialyzerEnabled" => false}
Loaded DETS databases in 33ms
Loaded DETS databases in 10ms
Compiling 65 files (.ex)
```
Release Notes:
- N/A
Marshall Bowers created
98ea5e1
Add `convert to opposite case` command (#11290)
Joseph T. Lyons created
092869d
Use default allocator as a default (#11293)
Kirill Bulatov created
aeff468
Fix text offset in the expanded deleted hunk (#11295)
Kirill Bulatov created
23f1914
Do not show inline blame information on empty lines (#11294)
cc @iamnbutler Release Notes: - Changed inline git blame information to not show up on empty lines. Demo/proof: https://github.com/zed-industries/zed/assets/1185253/e506cf1f-81b1-407b-8dc7-1666b31ae142
Thorsten Ball created
edff78e
Allow ignoring soft wraps when moving to line ends (#11153)
Release Notes:
- Fixed #10888
This patch addresses behavior of
`Editor::move_to_{beginning|end}_of_line`. It adds a setting,
`stop_at_soft_wraps` when defining a keymap for the
`editor::MoveToBeginningOfLine` and `editor::MoveToEndOfLine` actions.
When `true`, it causes movement to the either end of the line (via, for
example Home or End), to go to the logical end, as opposed to the
nearest soft wrap point in the respective direction.
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
Tarun Verghis and Kirill Bulatov created
c812304
typescript: Complete function calls with snippets (#11157)
This allows function call (i.e. snippet) completion with `typescript-language-server`. So far that didn't work, because `typescript-language-server` doesn't respond with `insertText` when getting the completions, but only when then sending `completionItem/resolve` requests. See: https://github.com/hrsh7th/nvim-cmp/issues/646#issuecomment-992765479 What this PR does is to support text edits in the response to `completionItem/resolve`, which means updating the completion item. It then enables this feature by default for `typescript-language-server`. TODOs: - [x] Make this work over collab - [x] Test that this doesn't break existing language server support - [x] Refactor duplicated code Release Notes: - Added support for function call completion when using `typescript-language-server`. This will result in parameters being added, which can then be changed and navigated with `<tab>`. For this to work with `typescript-language-server`, the documentation for a given completion item needs to be resolved, meaning that if one types very quickly and accepts completion before `typescript-language-server` could respond with the documentation, no full function completion is used. Demo: https://github.com/zed-industries/zed/assets/1185253/c23ebe12-5902-4b50-888c-d9b8cd32965d
Thorsten Ball created
d8ca153
linux preview… (#11286)
Release Notes: - (preview only) You can now install an (alpha) preview build on linux
Conrad Irwin created
b487f2c
Don't iterate over all system processes (#11281)
Release Notes: - Fixed a UI beachball when gathering process information
Conrad Irwin created
3b5fd4e
Only keep one blame up-to-date (#11274)
I was experiencing hang, and we blamed it on spawning a few hundred git processes simultaneously. cc @MrNugget Release Notes: - Fixed slowness with hundreds of buffers open doing git blame.
Conrad Irwin created
eb0f1e7
Show dev server in the titlebar for remote projects (#11276)
Co-Authored-By: Mikayla <mikayla@zed.dev> Release Notes: - Show server name in the titlebar for remote projects Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin and Mikayla created
74f8ef0
Clean up `Indicator` (#11275)
This PR cleans up the `Indicator` component: - Renamed `IndicatorStyle` to `IndicatorKind` and made it private. - Fixed `Indicator::bar()` to construct an indicator using the right `IndicatorKind`. - Removed the `IndicatorIcon`, since we didn't actually end up using it. Release Notes: - N/A
Marshall Bowers created
fa0253b
Disallow adding folders to projects and opening the terminal in remote projects (#11261)
Release Notes: - Fixed broken UI in remote projects --------- Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin and Mikayla created
e5b88ac
Use HIGH priority to wake blocked timers (#11269)
One contributor to some beach-balls was that the main thread was calling block_with_timeout, but the timeout never fired. Release Notes: - Reduced main thread hangs under very high system load
Conrad Irwin created
4739797
Add the ability to render icons as indicators (#11273)
This PR adds the ability to render `Icon`s as an `Indicator`. Release Notes: - N/A Co-authored-by: Nate Butler <nate@zed.dev>
Marshall Bowers and Nate Butler created
4f53128
Replace rem size literals with constant (#11272)
This PR replaces the rem size literals with the `BASE_REM_SIZE_IN_PX` constant. This way we can retain our source of truth for the rem size that we're designing against. Release Notes: - N/A
Marshall Bowers created
a194c0a
Compile and instantiate wasm modules on a background thread (#11270)
Release Notes: - Fixed a hang that could occur when loading some extensions, by loading extensions on a background thread.
Max Brunsfeld created
fb0d2e9
assistant2: Use new icon in status bar (#11268)
This PR updates the new assistant to use the new (temporary) icon in the status bar to distinguish it. We added the icon in #11257, but hadn't wired it up. Release Notes: - N/A
Marshall Bowers created
aa1b4c7
Add an `explore extensions` button to welcome screen (#11265)
We are still getting comments from users saying they didn't know we had extensions until just now. This doesn't fix anything for existing users, but it helps make new users more aware, earlier on. There's probably more we need to do for discoverability, but this feels like it should help. Release Notes: - N/A
Joseph T. Lyons created
dad3cbb
Enable random_channel_buffer_tests to run on Linux (#10863)
With this patch applied I can see the following line in the test output: test tests::random_channel_buffer_tests::test_random_channel_buffers has been running for over 60 seconds Without it I run in a failure with 'Invalid keystroke `cmk-,` Release Notes: - N/A --------- Co-authored-by: Max Linke <kain88-de@users.noreply.github.com> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Max Linke , Max Linke , and Marshall Bowers created
caa0d35
Allow to toggle git hunk diffs (#11080)
Part of https://github.com/zed-industries/zed/issues/4523 Added two new actions with the default keybindings ``` "cmd-'": "editor::ToggleHunkDiff", "cmd-\"": "editor::ExpandAllHunkDiffs", ``` that allow to browse git hunk diffs in Zed: https://github.com/zed-industries/zed/assets/2690773/9a8a7d10-ed06-4960-b4ee-fe28fc5c4768 The hunks are dynamic and alter on user folds and modifications, or toggle hidden, if the modifications were not adjacent to the expanded hunk. Release Notes: - Added `editor::ToggleHunkDiff` (`cmd-'`) and `editor::ExpandAllHunkDiffs` (`cmd-"`) actions to browse git hunk diffs in Zed
Kirill Bulatov created
5831d80
Return an error from project index tool when embedding query fails (#11264)
Previously, a failure to embed the search query (due to a rate limit error) would appear the same as if there were no results. * Avoid repeatedly embedding the search query for each worktree * Unify tasks for searching all worktree Release Notes: - N/A
Max Brunsfeld created
4b76769
Fix scrollbar auto-show for cursors out of sight (#11244)
This PR fixes scrollbar auto-show feature when there're not visible cursors. The intial behavior was broken in #11147. The problem is that `selections` only contains visible selections, so the `if` with `non_visible_cursors |= true` is only visited in rare edge cases when we have at least part of the selection still visible on the screen. But when we scroll far enough from the cursor, `non_visible_cursors` keeps its default `false` value, which is incorrect. Release Notes: - N/A
Andrew Lygin created
3dc5d48
assistant2: Add `ChatNotice` component (#11262)
This PR adds a new `ChatNotice` component for displaying notices within the assistant. We will be able to use this for allowing the user to confirm a project index request. <img width="518" alt="Screenshot 2024-05-01 at 2 41 31 PM" src="https://github.com/zed-industries/zed/assets/1486634/3beaeeaf-6046-4284-ac0a-4248e1f9ac20"> Release Notes: - N/A
Marshall Bowers created
0858e3f
Update Preview release installation instructions (#11263)
This PR updates the Homebrew installation instructions for the Preview release, which has been migrated to ```homebrew/cask``` as ```zed@preview``` (see [Commit](https://github.com/Homebrew/homebrew-cask/commit/bad25d79e13ca41b492c976ef70b72117c402d20)). Release Notes: - N/A
Klaus Hipp created
97512be
Add wiring for UI density (#11260)
Note: You shouldn't use the `unstable.ui_density` setting – it is only being added for testing and to enable new UI components to be built with density in mind. Don't expect this to work well, or at all right now. Adds some of the basic wiring we'll need to start scaling UI elements throughout the app based on a desired density setting. Release Notes: - N/A
Nate Butler created
0fce20d
More element arena (#11258)
Co-Authored-By: Mikayla <mikayla@zed.dev> My Zed was running out with collab + chat + recent projects + two splits on a large monitor Release Notes: - N/A Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin and Mikayla created