c0262cf
Fix bug where all editor completions would be black (#28548)
Click to expand commit body
Release Notes: - N/A
Mikayla Maki created
c0262cf
Fix bug where all editor completions would be black (#28548)
Release Notes: - N/A
Mikayla Maki created
fd256d1
gpui: Keep drag cursor style when dragging (#24797)
Release Notes: - Improve to keep drag cursor style on dragging resize handles. --- ### Before https://github.com/user-attachments/assets/d4100d01-ac02-42b8-b923-9f2b4633c458 ### After https://github.com/user-attachments/assets/b5a450cd-c6de-4b39-a79c-2d73fcbad209 With example: ``` cargo run -p gpui --example drag_drop ``` https://github.com/user-attachments/assets/4cba1966-1578-40ce-a435-64ec11bcace5
Jason Lee created
a2a3d1a
editor: Refactor `EditorMode::Full` (#28546)
This PR lightly refactors the `EditorMode::Full` exposing two new methods: `is_full` and `set_mode`. Motivation is to expose fields that modify the behavior when the editor is in `Full` mode. By using is `mode.is_full()` instead of `EditorMode::Full` we can introduce new fields without breaking other places in the code. Release Notes: - N/A Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal and Bennet Bo Fenner created
294a1b6
Fix diff recalculation hang (#28377)
Fixes https://github.com/zed-industries/zed/issues/26039 Release Notes: - Fixed an issue where diffs stopped updating closing and reopening them after staging hunks. - Fixed a bug where staging a hunk while the cursor was in a deleted line would move the cursor erroneously. --------- Co-authored-by: Cole Miller <m@cole-miller.net> Co-authored-by: João Marcos <marcospb19@hotmail.com>
Max Brunsfeld , Cole Miller , and João Marcos created
ffdf725
gpui: Fix text hover & active style (#24723)
Release Notes: - N/A --- Fix this long-standing issue so that we can support Link hover colors. And renamed `text_layout` example to `text_style`. --- I spent some time studying the process of this text style change and found it a bit complicated. At first, I thought there was a problem with refine and it was not passed properly. After changing it, I found that it was not the problem. Then I found that it was because `TextRun` had already stored the `color`, `background`, `underline`, `strikethrough` in TextRun in the `request_layout` stage. They area calculate at the `request_layout` stage, but request_layout stage there was no `hitbox`, so the hover state was not obtained. ```bash cargo run -p gpui --example text_style ``` https://github.com/user-attachments/assets/24f88f73-775e-41d3-a502-75a7a39ac82b --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Jason Lee and Mikayla Maki created
8ee6a2b
html: Fix leading slash on Windows paths (#28542)
This PR builds on the fix proposed in [zed-extensions/astro#5](https://github.com/zed-extensions/astro/pull/5) and serves as a workaround for certain LSPs affected by [zed-industries/zed#20559](https://github.com/zed-industries/zed/issues/20559)—specifically, the HTML language server in this case. Credit to @maxdeviant for identifying and implementing the original fix. This PR extends that solution to other areas where it may be beneficial. Release Notes: - N/A
vipex created
cf65d94
debugger: Add console indicator and resolve debug configs from NewSessionModal (#28489)
The debug console will now show an indicator when it's unopened and there's unread messages. `NewSessionModal` attempts to resolve debug configurations before using the config to start debugging. This allows users to use zed's task variables in the modal prompt. I had to invert tasks_ui dependency on debugger_ui so `NewSessionModal` could get the correct `TaskContexts` by calling tasks_ui functions. A consequence of this workspace has a new event `ShowAttachModal` that I'm not a big fan of. @osiewicz if you have time could you please take a look to see if there's a way around adding the event. I'm open to pair on it too. Release Notes: - N/A
Anthony Eid created
66dd672
zlog: Support configuring log levels with env var (#28544)
Reimplemented logic from `env_logger` to parse log configuration from environment variables. Had to re-implement instead of using `env_filter` crate that `env_logger` uses, as it does not export the information required to integrate it. Release Notes: - N/A *or* Added/Fixed/Improved ...
Ben Kunkle created
44cb8e5
markdown: Track code block metadata in parser (#28543)
This allows us to not scan the codeblock content for newlines on every frame in `active_thread` Release Notes: - N/A
Bennet Bo Fenner created
73305ce
Change zed.dev's default model to Claude 3.7 Sonnet (#28541)
From Claude 3.5 Sonnet to **Claude 3.7 Sonnet**. Release Notes: - Change the default model of Zed's hosted LLM service to Claude 3.7 Sonnet.
Danilo Leal created
94b75f3
gpui: Enable per-pixel, GPU composited transparency on Windows (#26645)
Move the SetLayeredWindowAttributes call to immediately after window construction, and initialize it with per-pixel transparency settings, no color key and no global blending. The render pipeline will perform alpha blending during compositing. Cleaned up the DWM acrylic API calls some, to explicitly set to the three appropriate modes depending on opaque, transparent or blurred settings. The API internally hides versioning concerns from the caller. Set the window class background color to black, this prevents a flashbang on slow startup, e.g. debug builds on a heavily loaded system. The outcome is that the window no longer receives paint demands for underlying window updates, while also having per-pixel transparency - opaque theme elements are now correctly opaque. The transparency settings are now portable across windows and macOS having mostly similar outcomes (modulo palette differences). Small fonts may still appear to be alpha blended - this seems to be in the glyph atlas, their pixels are not actually opaque. Larger fonts (or higher DPIs) don't suffer this and are as opaque as expected. Layering the window atop one that is rendering at 120fps, the editor window can drop to its 8fps idle state, while still being composited with 120fps alpha blend in the background, in both blur and transparent modes. Updates #20400 Release Notes: - Improved transparency on Windows to be more efficient, support fully opaque elements and more closely match other platforms.
James Tucker created
384868e
Add --user-data-dir CLI flag and propose renaming support_dir to data_dir (#26886)
This PR introduces support for a `--user-data-dir` CLI flag to override Zed's data directory and proposes renaming `support_dir` to `data_dir` for better cross-platform clarity. It builds on the discussion in #25349 about custom data directories, aiming to provide a flexible cross-platform solution. ### Changes The PR is split into two commits: 1. **[feat(cli): add --user-data-dir to override data directory](https://github.com/zed-industries/zed/pull/26886/commits/28e8889105847401e783d1739722d0998459fe5a)** 2. **[refactor(paths): rename support_dir to data_dir for cross-platform clarity](https://github.com/zed-industries/zed/pull/26886/commits/affd2fc606b39af1b25432a688a9006229a8fc3a)** ### Context Inspired by the need for custom data directories discussed in #25349, this PR provides an immediate implementation in the first commit, while the second commit suggests a naming improvement for broader appeal. @mikayla-maki, I’d appreciate your feedback, especially on the rename proposal, given your involvement in the original discussion! ### Testing - `cargo build ` - `./target/debug/zed --user-data-dir ~/custom-data-dir` Release Notes: - Added --user-data-dir CLI flag --------- Signed-off-by: Marko Kungla <marko.kungla@gmail.com>
Marko Kungla created
d88694f
language_models: Fix non-streaming Copilot Chat models (#28537)
This PR fixes usage of non-streaming Copilot Chat models. Closes https://github.com/zed-industries/zed/issues/28528. Release Notes: - Fixed an issue with using non-streaming Copilot Chat models (e.g., o1, o3-mini).
Marshall Bowers created
90f30b5
gpui: Allow DisplayId to be compared to u32 (#27895)
allow DisplayId to be compared to u32. This is handy since gpui doesn't provide a method to detect current active display of the user. So when using mouse location to get the active display we need to then compare that display u32 to DisplayID Release Notes: - added From to allow u32 comparison
Terminal created
24d4f8c
gpui: Optimize coalesce float sign checking (#28072)
Optimize away a multiplication during in the `coalesce` function. Our goal is to check whether the sign of two floats is the same. Instead of multiplying each `.signum()` and checking that the result is positive, we can simply check that the signum's are the same. This removes a float multiplication. ```rust a.signum() * b.signum() >= 0.0 ``` turns into ```rust a.signum() == b.signum() ``` Release Notes: - Fix documentation for `Pixels::signum`
tidely created
804066a
Do not query for LSP tasks buffers that do not belong to the position given (#28536)
Follow-up of https://github.com/zed-industries/zed/pull/28359 Release Notes: - Fixed a panic when LSP tasks are queried in certain multi buffer excerpts
Kirill Bulatov created
4a35646
rust: Enable required features when executing `main` functions in tasks (#27312)
Closes #13344 This PR causes required features to be read from `cargo metadata` and enabled when executing an example/bin in Rust. Release Notes: - Added enabling required features when executing a Rust example or bin through a task
Niklas Eicker created
0921762
install_cli: Show feedback when installing CLI from welcome screen (#28532)
Closes #28408 Release Notes: - Fixed no feedback provided when installing CLI from welcome page.
Smit Barmase created
46b1df2
agent: Auto-capture telemetry feature flag (#28271)
Release Notes: - N/A
Thomas Mickley-Doyle created
986da33
Bump rustls (#28531)
Closes #26699 Release Notes: - Fixed a panic when enabling or disabling a VPN on macOS
Conrad Irwin created
dad33f7
Fix code action selection bug while using vim visual mode (#27817)
## Problem Code actions do not handle vim line mode correctly. See this video where `Extract to function` doesn't extract both selected lines: https://github.com/user-attachments/assets/8fa0fb28-0403-44f6-9e55-a59b6713dffd ## Solution Use `selections.newest_adjusted` instead of `selections.newest_anchor` so code actions consider the full selection. Correct behavior: https://github.com/user-attachments/assets/174d5a34-3873-4d20-b67d-103edec4cdbe --- Release Notes: - vim: Fixed code actions in visual line mode
Austin Merrick created
64241f7
editor: Fix extra characters were being written at the end of an HTML tag (#28529)
Closes #25586 It is caused due to assumption all character being typed are word characters and linked edit ranges can be used even when first non-word character is typed. Because next character passes all the criteria like being word character, anchor matching the previous range before typing started, wrong edit take place. This PR fixes it by clearing linked edit ranges when non-word character is typed. Before: `<div cx^></div>cx` when typing fast. After: `<div cx^></div>` always. Release Notes: - Fixed a case where extra characters were being written at the end of an HTML tag.
Smit Barmase created
fbbc23b
editor: Restore selections to positions after last edit (#28527)
Closes #22692 Makes it so when undoing a format operation, the selections are set to where they were at the last edit. Release Notes: - Made it so the cursor position is reset to where it was after the last edit when undoing a format operation. This will only result in different behavior when you make an edit, scroll away, initiate formatting (either by saving or manually) and then undo the format. --------- Co-authored-by: Zed AI <ai@zed.dev>
Ben Kunkle and Zed AI created
26f4705
debugger: Add breakpoint list (#28496)
 Release Notes: - N/A --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Piotr Osiewicz and Anthony Eid created
3abf952
Add progress bar component (#28518)
- Adds the progress bar component Release Notes: - N/A
Nate Butler created
b0b52f2
docs: Prefer `bin/rails` when running Rails tests (#28167)
Andy Waite created
53cde32
Clean up formatting code and add testing for formatting with multiple formatters (including code actions!) (#28457)
Release Notes: - N/A --------- Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Ben Kunkle and Max Brunsfeld created
b55b310
Downgrade environment-related logging (#28509)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ...
Cole Miller created
8ab25e2
Fix merge conflicts jumping (#28508)
This regressed in #27568, oops. Release Notes: - Fixed a bug causing conflicted files in the git panel to jump to the "Tracked" section as soon as they were staged.
Cole Miller created
c10b1f7
docs: Update system requirements (#28504)
Explicitly note that macOS 12.x Monterey is required for screen sharing. Release Notes: - N/A
Peter Tripp created
cb1ee01
agent: Add selected tool names to agent panel telemetry (#28247)
Release Notes: - N/A
Thomas Mickley-Doyle created
90bcde1
agent: Use current shell (#28470)
Release Notes: - agent: Replace `bash` tool with `terminal` tool which uses the current shell --------- Co-authored-by: Bennet <bennet@zed.dev> Co-authored-by: Antonio <antonio@zed.dev>
Agus Zubiaga , Bennet , and Antonio created
8ac378b
Lay the groundwork for a Rust-based eval (#28488)
Also, we moved the logic for driving the agentic loop into `Thread` so that we don't have to re-implement it. Release Notes: - N/A --------- Co-authored-by: Nathan Sobo <nathan@zed.dev>
Antonio Scandurra and Nathan Sobo created
5576029
agent: Optimize render_markdown_block function (#28487)
Co-Authored-by: Agus <agus@zed.dev> Closes #ISSUE Release Notes: - N/A Co-authored-by: Agus <agus@zed.dev>
Bennet Bo Fenner and Agus created
9dfb907
Revert "Add reminder message about system prompt" (#28482)
This breaks the agentic loop.
Antonio Scandurra created
e20daa7
agent: Fix toolbar spacing (#28485)
Release Notes: - N/A
Danilo Leal created
b46ab36
agent: Add button to open thread as markdown (#28481)
<img src="https://github.com/user-attachments/assets/92ca8f64-a949-4cc1-a657-3978a2c65839" width="600"/> Release Notes: - agent: The action to open the current active thread in Markdown is now exposed in the UI.
Danilo Leal created
12212dc
agent: Prevent sending whitespace only messages (#28409)
Prevent this from happening when sending a prompt with only spaces and newlines:  Release Notes: - agent: Prevent from sending messages containing only white space.
5brian created
324e465
Reset modifiers when the window active state changes (#28348)
Closes #23449 Release Notes: - Fixed a bug causing shift to get stuck down when the window focus changes --------- Co-authored-by: Dino <dinojoaocosta@gmail.com>
Conrad Irwin and Dino created
ed500da
Fix typo in symbolicate script (#28456)
Fix silly typo in symbolicate script Release Notes: - N/A
Conrad Irwin created
2f4b481
agent: Collapse code blocks in the active thread (#28467)
Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
Danilo Leal and Bennet Bo Fenner created
ed7c55a
vim: Reset search range after substitute (#28403)
Update the `Vim::replace_command` method so as to reset the range in the `BufferSearchBar` after running the replacement in order to fix the issue where the number of matches in the search bar would be incorrect after the replacement was done, as it would only take into consideration the range in which the replacement happened, instead of the whole buffer. In order to get this working a new `BufferSearchBar::clear_search_within_ranges` method is introduced in these changes. Release Notes: - Fixed the number of matches displayed in the search bar after running vim's substitute command.
Dino created
6db4ab3
Add code action tool and rename tool (#28453)
Having a separate rename tool seems to make the agent more likely to use it compared to having it be part of the code actions tool. Release Notes: - Added code action tool and rename tool.
Richard Feldman created
0e72a7e
Update Rust crate smallvec to v1.15.0 (#28469)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [smallvec](https://redirect.github.com/servo/rust-smallvec) | workspace.dependencies | minor | `1.14.0` -> `1.15.0` | --- ### Release Notes <details> <summary>servo/rust-smallvec (smallvec)</summary> ### [`v1.15.0`](https://redirect.github.com/servo/rust-smallvec/releases/tag/v1.15.0) [Compare Source](https://redirect.github.com/servo/rust-smallvec/compare/v1.14.0...v1.15.0) #### What's Changed - Fix typos by [@​waywardmonkeys](https://redirect.github.com/waywardmonkeys) in [https://github.com/servo/rust-smallvec/pull/373](https://redirect.github.com/servo/rust-smallvec/pull/373) - Implement bincode2 encode/decode support for smallvec v1 by [@​markbt](https://redirect.github.com/markbt) in [https://github.com/servo/rust-smallvec/pull/375](https://redirect.github.com/servo/rust-smallvec/pull/375) #### New Contributors - [@​markbt](https://redirect.github.com/markbt) made their first contribution in [https://github.com/servo/rust-smallvec/pull/375](https://redirect.github.com/servo/rust-smallvec/pull/375) **Full Changelog**: https://github.com/servo/rust-smallvec/compare/v1.14.0...v1.15.0 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
3dc3ab0
Update Rust crate prometheus to 0.14 (#28468)
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [prometheus](https://redirect.github.com/tikv/rust-prometheus) | dependencies | minor | `0.13` -> `0.14` | --- ### Release Notes <details> <summary>tikv/rust-prometheus (prometheus)</summary> ### [`v0.14.0`](https://redirect.github.com/tikv/rust-prometheus/blob/HEAD/CHANGELOG.md#0140) [Compare Source](https://redirect.github.com/tikv/rust-prometheus/compare/v0.13.4...v0.14.0) - API change: Use `AsRef<str>` for owned label values ([#​537](https://redirect.github.com/tikv/rust-prometheus/issues/537)) - Improvement: Hashing improvements ([#​532](https://redirect.github.com/tikv/rust-prometheus/issues/532)) - Dependency upgrade: Update `hyper` to 1.6 ([#​524](https://redirect.github.com/tikv/rust-prometheus/issues/524)) - Dependency upgrade: Update `procfs` to 0.17 ([#​543](https://redirect.github.com/tikv/rust-prometheus/issues/543)) - Dependency upgrade: Update `protobuf` to 3.7.2 for RUSTSEC-2024-0437 ([#​541](https://redirect.github.com/tikv/rust-prometheus/issues/541)) - Dependency upgrade: Update `thiserror` to 2.0 ([#​534](https://redirect.github.com/tikv/rust-prometheus/issues/534)) - Internal change: Fix LSP and Clippy warnings ([#​540](https://redirect.github.com/tikv/rust-prometheus/issues/540)) - Internal change: Bump MSRV to 1.81 ([#​539](https://redirect.github.com/tikv/rust-prometheus/issues/539)) - Documentation: Fix `register_histogram_vec_with_registry` docstring ([#​528](https://redirect.github.com/tikv/rust-prometheus/issues/528)) - Documentation: Fix typos in static-metric docstrings ([#​479](https://redirect.github.com/tikv/rust-prometheus/issues/479)) - Documentation: Add missing `protobuf` feature to README list ([#​531](https://redirect.github.com/tikv/rust-prometheus/issues/531)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone America/New_York, Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- Release Notes: - N/A <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
ed63f21
Remove "use_key_equivalents" from linux keymap as it does nothing (#28464)
Release Notes: - N/A
Michael Sloan created
ba767a1
Fix directory context paths (#28459)
Release Notes: - N/A
Michael Sloan created
23c3f5f
Update Rust crate indexmap to v2.9.0 (#28455)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [indexmap](https://redirect.github.com/indexmap-rs/indexmap) |
workspace.dependencies | minor | `2.8.0` -> `2.9.0` |
---
### Release Notes
<details>
<summary>indexmap-rs/indexmap (indexmap)</summary>
###
[`v2.9.0`](https://redirect.github.com/indexmap-rs/indexmap/blob/HEAD/RELEASES.md#290-2025-04-04)
[Compare
Source](https://redirect.github.com/indexmap-rs/indexmap/compare/2.8.0...2.9.0)
- Added a `get_disjoint_mut` method to `IndexMap`, matching Rust 1.86's
`HashMap` method.
- Added a `get_disjoint_indices_mut` method to `IndexMap` and
`map::Slice`,
matching Rust 1.86's `get_disjoint_mut` method on slices.
- Deprecated the `borsh` feature in favor of their own `indexmap`
feature,
solving a cyclic dependency that occured via `borsh-derive`.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "after 3pm on Wednesday" in timezone
America/New_York, Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
Release Notes:
- N/A
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMzguMCIsInVwZGF0ZWRJblZlciI6IjM5LjIzOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
b3be294
lsp_store: Preserve environment variables from ExtensionLspAdapter (#28173)
## Description
In https://github.com/zed-industries/zed/pull/27213 the new feature for
setting env variables for LSPs was added but env vars passed from an
instance of `ExtensionLspAdapter` are lost now. This means if an
extension returns any env variable like this:
```rust
zed::Command {
command: some_command,
args: some_args,
env: vec![("A", "value_for_a")],
}
```
The env variable `A` will never be used by `LspStore`. This commit
preserves env variables passed from an instance of
`ExtensionLspAdapter`.
After this change overwriting of env variables
happens in the following order:
```plaintext
shell <- variables from an extension <- variables from settings
```
## How to reproduce
Allow any extension to return a `zed::Command` with environment
variables to Zed. You can use [this
branch](https://github.com/zed-extensions/ruby/pull/48) for the Ruby
extension:
1. Check out the branch and install the dev version of the Ruby
extension.
2. Ensure you have the `solargraph` LSP configured and enabled for the
Ruby extension. This LSP is enabled by default in Zed and in the Ruby
extension.
3. Make sure you don’t have `solargraph` installed in your user gemset.
4. Open any Ruby project, such as [this
one](https://github.com/vitallium/stimulus-lsp-error-zed).
5. Open a Ruby file and wait for the error message about failing to
start `solargraph`. It should look like this or something similar:
```
[2025-04-05T23:17:26+02:00 ERROR project::lsp_store] server stderr: "/Users/vslobodin/.local/share/mise/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:262:in 'Gem.find_spec_for_exe': can't find gem solargraph (>= 0.a) with executable solargraph (Gem::GemNotFoundException)\n\tfrom /Users/vslobodin/.local/share/mise/installs/ruby/3.4.1/lib/ruby/site_ruby/3.4.0/rubygems.rb:281:in 'Gem.activate_bin_path'\n"
```
This error occurs because the Ruby extension passes the `GEM_PATH`
environment variable to specify the location of Ruby gems. Without it,
Zed tries to spawn the `solargraph` gem in the user's gemset scope. Ruby
fails to start it because the `solargraph` gem is not installed in the
user gemset but in the extension directory. By setting the `GEM_PATH`
environment variable, Ruby searches additional locations to start the
`solargraph` LSP.
I hope I've described it correctly. Please let me know if you need more
information. Thanks!
Release Notes:
- Fixed the issue where environment variables from `ExtensionLspAdapter`
were lost
Vitaly Slobodin created
af5318d
Update default vim substitute command behavior and add support for 'g' flag (#28138)
This Pull Request updates the default behavior of the substitute (`s`) command in vim mode to only replace the next match by default, instead of all, and replace all matches only when the `g` flag is provided, making it more similar to NeoVim's behavior. In order to achieve this, the following changes were introduced: - Update `BufferSearchBar::replace_next` to be a public method, so it can be called from `Vim::replace_command` . - Update the `Replacement::parse` to set the `should_replace_all` field to `false` by default, and only set it to `true` if the `'g'` flag is present in the query. - Add support for when the `Replacement.should_replace_all` is set to `false` in `Vim::replace_command`, so as to have it only replace the next occurrence instead of all occurrences in the line. - Introduce `BufferSearchBar::select_first_match` so as to activate the first match on the line under the cursor. Closes #24450 Release Notes: - Improved vim's substitute command so as to only replace the first match by default, and replace all matches if the `'g'` flag is provided --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Dino and Conrad Irwin created