e6c4076
Add cmake to dev build instructions (#17943)
Click to expand commit body
Release Notes: - N/A
Richard Feldman created
e6c4076
Add cmake to dev build instructions (#17943)
Release Notes: - N/A
Richard Feldman created
7246a0f
macos: Use ~/Library/Caches/Zed instead of ~/.cache/zed (#17949)
Peter Tripp created
345efa4
gpui: Fix img element to render correct SVG color (#15488)
Release Notes: - N/A It should convert RGBA to BGRA. > I added an example color svg, that was I make based on [Lucide grip icon](https://lucide.dev/icons/grip). ## Before <img width="692" alt="image" src="https://github.com/user-attachments/assets/5eb03606-76ce-4049-b3ad-8d1084a4fa55"> ## After <img width="695" alt="image" src="https://github.com/user-attachments/assets/650dd411-2095-4e92-b3fd-8e91c6954aa3"> Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Jason Lee and Marshall Bowers created
5cdca6d
multi_buffer: Fix a panic when expanding an excerpt with the cursor at the end (#17955)
This PR fixes a panic when expanding an excerpt within a multibuffer that could occur when the cursor was at the end of the buffer. You can reproduce this by opening a multibuffer, putting your cursor at the very end of that buffer, and then expanding the excerpt (Shift + Enter). Release Notes: - Fixed a panic that could occur when expanding an excerpt within a multibuffer when the cursor was at the end of the excerpt. Co-authored-by: Antonio <antonio@zed.dev>
Marshall Bowers and Antonio created
ccfd4b1
rust: Test rust-analyzer binary after finding in PATH (#17951)
Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
Thorsten Ball and Conrad Irwin created
ee8668e
Bind `editor::Rewrap` to `alt-q` (#17953)
This PR adds a keybinding for the `editor: rewrap` command. It is bound to `alt-q`, by default. In Vim mode, it is bound to `g q`. Release Notes: - N/A
Marshall Bowers created
ac5c35b
theme: Fix casing of "ANSI" in doc comments (#17952)
This PR fixes the casing of "ANSI" in some doc comments after #17611. Release Notes: - N/A
Marshall Bowers created
0070635
Styling option for separating terminal view background from background color (#17611)
Closes #17313 Release Notes: - Added theme styling option to separate terminal background view from terminal background color, for transparent terminal backgrounds
Albert Marashi created
3d69942
Use dev icons for dev bundles (#17944)
Follow-up of https://github.com/zed-industries/zed/pull/17486/ actually using the dev icons for dev bundles Release Notes: - N/A
Kirill Bulatov created
76603a5
ocaml: Bump to v0.1.0 (#17945)
This PR bumps the OCaml extension to v0.1.0. Changes: - https://github.com/zed-industries/zed/pull/16955 - https://github.com/zed-industries/zed/pull/17886 Release Notes: - N/A
Marshall Bowers created
accff82
svelte: Migrate to `tree-sitter-grammars/tree-sitter-svelte` (#17529)
> [!NOTE]
> The https://github.com/tree-sitter-grammars/tree-sitter-svelte
repository seems to be more well maintained, with higher quality code,
and as per https://github.com/zed-extensions/svelte/issues/1 it was
suggested that we swap to this repository for Svelte grammars
- Closes https://github.com/zed-industries/zed/issues/17310
- Closes https://github.com/zed-industries/zed/issues/10893
- Closes https://github.com/zed-industries/zed/issues/12833
- Closes https://github.com/zed-extensions/svelte/issues/1
- Closes https://github.com/zed-industries/zed/issues/14943
- Closes https://github.com/zed-extensions/svelte/issues/2
- Added: buffer/file symbol outlines for `.svelte` (`outlines.scm`)
- Improved: Attribute directives & modifiers in `.svelte` files can be
styled independently.
- Fixed: issue where svelte expression inside quotes failed parsing
- Improved: Svelte components in Markup are styled differently from
tags.
- Added: Support for Svelte 5 syntax (`{#snippet children()}`, `{@render
foo()`)
- Change: Svelte now using
[tree-sitter-grammars/tree-sitter-svelte](https://github.com/tree-sitter-grammars/tree-sitter-svelte)
for language highlighting
- Added: Support for typescript syntax in svelte expressions


Release Notes:
- N/A
---
**tree-sitter-grammar things to improve**
- [ ] snippet functions aren't being treated as JS code
- [ ] we should be able to detect @component comments and treat them as
markdown
- [x] `foo:bar` style/class/prop directives
- [x] `--foo="..."` var fields
- [ ] snippet/if blocks's children may need to be indented a little
further
Will implement some of the rest of these in a separate PR
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Albert Marashi and Marshall Bowers created
27f0995
Improve CSS highlighting for property_name (#17324)
Peter Tripp created
e88b48a
ocaml: Fix indentation in files (#17942)
This PR fixes the indentation in the Dune-related files after https://github.com/zed-industries/zed/pull/17886. Release Notes: - N/A
Marshall Bowers created
d5003e1
Update C++ Tree-sitter queries (#17471)
Closes #16443 Release Notes: - Fixed C++ functions being wrongly tagged as variables when called after two or more scope resolution operators. - Added a "namespace" tag for highlighting purposes Before :  After : 
VacheDesNeiges created
7c54965
docs: Add dark mode (#17940)
Closes https://github.com/zed-industries/zed/issues/17911 This PR enables dark mode on the documentation. This is done without any special plugins, just pure JavaScript and CSS variables. I may open fast-follow PRs to fine-tune design and code details that haven't been super polished yet. For example, when switching to dark mode, the `class` attribute on the `html` tag would change immediately, whereas other attributes such as `data-theme` and `data-color-scheme` would require a full refresh. This seems to be resolved, but not 100% confident yet. --- Release Notes: - Enabled dark mode on the documentation
Danilo Leal created
10cfaec
ocaml: Add Dune language support (#17886)
This uses my fork of the dune tree-sitter grammar to include the generated files Release Notes: - N/A
Stanislav Alekseev created
469dfe7
ssh: Handle `~` in ssh filenames (#17939)
This allows users to open `ssh://user@host/~/my-home-dir-folder`. Release Notes: - N/A Co-authored-by: Conrad <conrad@zed.dev>
Thorsten Ball and Conrad created
ecd1830
Fix opening file with colon (#17281)
Closes #14100 Release Notes: - Fixed unable to open file with a colon from Zed CLI ----- I didn't make change to tests for the first two commits. I changed them to easily find offending test cases. Behavior changes are in last commit message. In the last commit, I changed how `PathWithPosition` should intreprete file paths. If my assumptions are off, please advise so that I can make another approach. I also believe further constraints would be better for `PathWithPosition`'s intention. But people can make future improvements to `PathWithPosition`.
Erick Guan created
ddaee2e
ssh: Handle BufferSaved ssh message (#17936)
Release Notes: - N/A Co-authored-by: Conrad <conrad@zed.dev>
Thorsten Ball and Conrad created
54b8232
Introduce a new `/delta` command (#17903)
Release Notes: - Added a new `/delta` command to re-insert changed files that were previously included in a context. --------- Co-authored-by: Roy <roy@anthropic.com>
Antonio Scandurra and Roy created
a20c0eb
Improve error message when docs need fixing with Prettier (#17907)
Peter Tripp created
c48584f
supermaven: Fix incorrect offset calculation (#17925)
Fixes a bug in https://github.com/zed-industries/zed/pull/17578 when computing the offset. Specifically, `offset.add_assign()` should be incremented on every loop match instead of only when the completion text is found. Before:  After:  Release Notes: - Fixed a wrong offset calculation in the Supermaven inline completion provider.
Kevin Wang created
f1d2136
editor: Fix cursor_shape regression by not setting it to "bar" (#17934)
This fixes the regression introduced here: https://github.com/zed-industries/zed/pull/17572#issuecomment-2355632615 Essentially: instead of always setting the value when saving settings, we don't set it by default, but fall back to the default value if it's not set. That fixes Vim mode's cursor being overwritten when settings change. Release Notes: - N/A
Thorsten Ball created
4139a9a
docs: Document usage of deno fmt (#17918)
Clarify in the settings description that the default formatter leverages `deno fmt`. This makes it clearer for users what to expect and how formatting is handled out of the box. Co-authored-by: Peter Tripp <peter@zed.dev>
iugo and Peter Tripp created
103f757
tab_switcher: Add file and project search icons (#17115)
I found tab switcher file icons to be missing. They were mentioned in the [initial tab switcher issue](https://github.com/zed-industries/zed/issues/7653), but left to be added later (mentioned in https://github.com/zed-industries/zed/pull/7987). I also noticed that the project search icon went missing, but I'm not sure if that's intentional. These changes re-introduce it, as it's provided by the generic `tab_icon()` function. There's a small difference between the terminal item and everything else, because terminal's `tab_content` returns a slightly different layout, which adds a little more space between the icon and text. I'll look into resolving this withouth changing too much stuff around in the terminal crate. If you have any ideas on how to do this well, please comment. The new `tab_switcher` config section only has a single boolean option - `show_icons`. It toggles between icons and not icons, but doesn't disable the terminal icon. Implementing this would probably also require some refactoring in terminal's `tab_content` function. Release Notes: - Added file icons to the tab switcher Screenshot: 
Daste created
2165d52
project: Update variable and change comment (#17933)
Previous this *was* the `cli_environment`, but now it's the project environment. Release Notes: - N/A
Thorsten Ball created
c34fc5c
lsp store: Refactor to use shared method to find buffer snapshot (#17929)
Came across this code while investigating something else and I think we should use the same method. As far as I know, it does the same thing, except that `buffer_snapshot_for_lsp_version` also cleans up the stored snapshots. Release Notes: - N/A
Thorsten Ball created
5f0925f
Add Python venv activation support for Windows and PowerShell (#17839)
Release Notes: - Add Python venv activation support for Windows and PowerShell Additional: I discovered a related bug on my Windows system. When first opening the project, it fails to detect the virtual environment folder `.venv`. After expanding the .venv folder in the Project Panel, it then becomes able to detect the virtual environment folder. However, I don't know how to fix it.
ClanEver created
d56e3d9
rust: Fix looking up `rust-analyzer` in `$PATH` by default (#17926)
This is a follow-up to https://github.com/zed-industries/zed/pull/17885, which is reverted and fixed in this PR. This PR actually enables the behavior by default. Release Notes: - Changed `rust-analyzer` support to lookup `rust-analyzer` binaries by default in `$PATH`. That changes the default value to something users requested.
Thorsten Ball created
7d97855
Use AppContext for UI font adjustments (#17858)
Appologies if this PR is off base, I'm still not super familiar with the Zed codebase. I was trying to integrate with https://github.com/zed-industries/zed/pull/12940 and found it awkward to hook up global bindings to adjust the UI font size due to the fact it takes a WindowContext. Looking at the API, it seemed odd that it took a WindowContext, yet the editor font methods take an AppContext. I couldn't find a compelling reason for this to be tied to a WindowContext, so I personally think it makes sense to switch it. This does have a behavior change, which hopefully is actually desirable: Currently, if you have two open and visible Zed windows, and trigger a UI font adjustment in one, the non-active windows won't update. However, once you switch focus to the second one it will snap to the new UI font size. This is inconsistent with adjusting the editor font size, which applies to all open windows immediately. Release Notes: - N/A
Galen Elias created
4160824
Update Rust crate rodio to 0.19.0 (#17389)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [rodio](https://redirect.github.com/RustAudio/rodio) | dependencies |
minor | `0.17.1` -> `0.19.0` |
---
### Release Notes
<details>
<summary>RustAudio/rodio (rodio)</summary>
###
[`v0.19.0`](https://redirect.github.com/RustAudio/rodio/blob/HEAD/CHANGELOG.md#Version-0190-2024-06-29)
[Compare
Source](https://redirect.github.com/RustAudio/rodio/compare/v0.18.1...v0.19.0)
##### Added
- Adds a new source `track_position`. It keeps track of duration since
the
beginning of the underlying source.
##### Fixed
- Mp4a with decodable tracks after undecodable tracks now play. This
matches
VLC's behaviour.
###
[`v0.18.1`](https://redirect.github.com/RustAudio/rodio/blob/HEAD/CHANGELOG.md#Version-0181-2024-05-23)
[Compare
Source](https://redirect.github.com/RustAudio/rodio/compare/v0.18.0...v0.18.1)
##### Fixed
- Seek no longer hangs if the sink is empty.
###
[`v0.18.0`](https://redirect.github.com/RustAudio/rodio/blob/HEAD/CHANGELOG.md#Version-0180-2024-05-05)
[Compare
Source](https://redirect.github.com/RustAudio/rodio/compare/v0.17.3...v0.18.0)
##### Changed
- `Source` trait is now also implemented for `Box<dyn Source>` and `&mut
Source`
- `fn new_vorbis` is now also available when the `symphonia-vorbis`
feature is enabled
##### Added
- Adds a new method `try_seek` to all sources. It returns either an
error or
seeks to the given position. A few sources are "unsupported" they return
the
error `Unsupported`.
- Adds `SpatialSink::clear()` bringing it in line with `Sink`
##### Fixed
- channel upscaling now follows the 'WAVEFORMATEXTENSIBLE' format and no
longer
repeats the last source channel on all extra output channels.
Stereo content playing on a 5.1 speaker set will now only use the front
left
and front right speaker instead of repeating the right sample on all
speakers
except the front left one.
- `mp3::is_mp3()` no longer changes the position in the stream when the
stream
is mp3
</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:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
renovate[bot] and renovate[bot] created
1285504
Fix panic in wasm extensions (#17922)
Release Notes: - N/A Co-authored-by: Peter Tripp <peter@zed.dev>
Conrad Irwin and Peter Tripp created
83192c2
Try and fix tests (#17920)
Tests on main started breaking following https://github.com/zed-industries/zed/commit/bc5ed1334ff019e026cbf7a6bbad4a8c2c5d68df from: - https://github.com/zed-industries/zed/pull/17734 First breakage: https://github.com/zed-industries/zed/actions/runs/10894059586/job/30230118999
Peter Tripp created
a141415
Add `cursor_shape` setting for the default editor (#17572)
Closes https://github.com/zed-industries/zed/issues/16451, https://github.com/zed-industries/zed/issues/14447, https://github.com/zed-industries/zed/issues/7203 Addresses but does not closes https://github.com/zed-industries/zed/issues/5179 Expose cursor shape selection to users. Possibly controversial, since block cursor seems preserved for vim and terminal. But the heart wants what it wants? Release Notes: - Added a setting for `cursor_shape`. Can be `bar`, `block`, `underline`, or `hollow`. Default is `bar`.
thataboy created
d315405
Return completion proposals from inline completion providers (#17578)
Updates the inline completion provider to return a completion proposal which is then converted to a completion state. This completion proposal includes more detailed information about which inlays specifically should be rendered. Release Notes: - Added support for fill-in-the-middle style inline completions 
Kevin Wang created
37b2f4b
Wrap terminal commands in single quotation marks instead of backticks (#17637)
before:  after:  Since I often copy the output commands to run in the command line, using backticks can cause errors because, in shell, backticks mean passing the execution result of the command inside them to the -c option. Therefore, I replace backticks with single quotes here.  Release Notes: - Fix display of task commands to not use backticks Signed-off-by: bestgopher <84328409@qq.com>
bestgopher created
4441150
Add missing Void Linux dependencies (#17827)
Release Notes: - N/A
Bai created
d7c45cc
x11: Fix preedit for CJK and partially fix unresponsive keyboard with xim (#17373)
Closes #15833 Related to [#12495 comment](https://github.com/zed-industries/zed/pull/12495#issuecomment-2328356125) Destroying and recreating the Input context was the only way to reset the IME but it's making the keyboard unresponsive sometimes due to a XIM error. The keyboard will still be unresponsive if you close your IME while using zed, but I don't know how to fix this. * Fixed preedit drawing for CJK * Fixed unresponsive keyboard by properly implementing reset_ic in `xim-rs` Release Notes: - N/A
Fernando Tagawa created
bc5ed13
Upgrade tree sitter and all grammars (#17734)
Fixes https://github.com/zed-industries/zed/issues/5291 Release Notes: - Fixed a bug where the 'toggle comments' command didn't use the right comment syntax in JSX and TSX elements. --------- Co-authored-by: Conrad <conrad@zed.dev> Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com> Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
Max Brunsfeld , Conrad , Conrad Irwin , and Kirill Bulatov created
b54b3d6
editor: Add rewrap command (#17909)
This PR adds a rewrap command to the editor. Executing this command will rewrap the text in the selection to the maximum line width: https://github.com/user-attachments/assets/69aa9428-17fd-4315-89f1-f354d0f5f459 If there isn't an active selection, the selection will be expanded to contiguous text from the cursor's location. Rewrapping only works in Markdown, Plain Text, and within comments for any other language. Release Notes: - Added an `editor: rewrap` command for rewrapping text to the maximum line width. --------- Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Bennet <bennet@zed.dev>
Marshall Bowers , Antonio Scandurra , and Bennet created
e7d18ef
See language server status on remote (#17912)
Release Notes: - ssh-remoting: Show LSP status in status bar Co-authored-by: Mikayla <mikayla@zed.dev>
Conrad Irwin and Mikayla created
243629c
Fix keystroke observer leak in vim crate (#17913)
Release Notes: - Fixed a performance problem that happened when using vim mode after opening and closing many editors Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Nathan <nathan@zed.dev>
Max Brunsfeld , Antonio , and Nathan created
67f149a
Ollama: Specify keep_alive via settings (#17906)
Peter Tripp created
e66ea9e
Fix renames over language server for SSH remoting (#17897)
Release Notes: - ssh remoting: Fix rename over language server --------- Co-authored-by: Mikayla <mikayla@zed.dev> Co-authored-by: Max <max@zed.dev>
Conrad Irwin , Mikayla , and Max created
01bb10f
Move ProtoClient to RPC crate, behind feature flag disabled in collab (#17908)
This fixes a bug where we accidentally added a `gpui` transitive dependency in `collab`. Release Notes: - N/A
Max Brunsfeld created
ca2cce7
ssh lsp completions (#17665)
Release Notes: * ssh-remoting: Fixed shell environment loading for remote shells.
Conrad Irwin created
dea8509
collab: Override Cargo configuration in the `Dockerfile` (#17901)
This PR moves the override for the Cargo configuration for collab into the `Dockerfile` rather than having it be something some in the external environment. This makes it possible to build the Docker image locally without having to replace `.cargo/config.toml` with the contents of `.cargo/collab-config.toml`. Release Notes: - N/A
Marshall Bowers created
b48c2c5
Update comment to point to culpable commit (#17896)
This PR updates the comment added in #17893 to reference the commit that was identified by `git bisect`. Release Notes: - N/A
Marshall Bowers created
f376932
collab: Mark RunPod environment variables as optional in Kubernetes template (#17895)
This PR marks the RunPod environment variables as optional in the Kubernetes template so that we can deploy without them being present. Collab is already accounting for their absence. Release Notes: - N/A
Marshall Bowers created
2c9d076
rust: Lookup rust-analyzer on PATH by default (#17885)
This is a highly and frequently requested change. Users are confused why rust-analyzer isn't used if it's on their `$PATH`. Previously I didn't enable this by default, because rust-analyzer would complain about an "Unknown binary", like this Unknown binary 'rust-analyzer' in official toolchain '1.81-aarch64-apple-darwin'.\n But turns out that only happens when you have installed rust-analyzer via the rustup toolchain, it's in your `$PATH`, and the `rust-toolchain.toml` of the repository doesn't mention it. The fix is to delete `~/.cargo/bin/rust-analyzer` and, if preferred, use `rust-analyzer` by installing the binary manually. Release Notes: - Changed rust-analyzer support to lookup `rust-analyzer` binaries by default in `$PATH`. That changes the default value to something users requested.
Thorsten Ball created