2dd5138
docs: Add anchor links for language-specific settings (#21469)
Peter Tripp created
2dd5138
docs: Add anchor links for language-specific settings (#21469)
Peter Tripp created
a464474
Properly handle opening of file-less excerpts (#21465)
Follow-up of https://github.com/zed-industries/zed/pull/20491 and https://github.com/zed-industries/zed/pull/20469 Closes https://github.com/zed-industries/zed/issues/21369 Release Notes: - Fixed file-less excerpts always opening instead of activating
Kirill Bulatov created
a0f2c07
Debounce diagnostics status bar updates (#21463)
Closes https://github.com/zed-industries/zed/pull/20797 Release Notes: - Fixed diagnostics status bar flashing when typing
Kirill Bulatov created
1270ef3
Enable toolchain venv in new terminals (#21388)
Fixes part of issue #7808 > This venv should be the one we automatically activate when opening new terminals, if the detect_venv setting is on. Release Notes: - Selected Python toolchains (virtual environments) are now automatically activated in new terminals. --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Sebastian Nickels and Piotr Osiewicz created
a76cd77
Disable hunk diff arrow buttons when there's only one hunk (#21437)
Closes https://github.com/zed-industries/zed/issues/20817 | One hunk | Multiple hunks | |--------|--------| | <img width="800" alt="Screenshot 2024-12-03 at 09 42 49" src="https://github.com/user-attachments/assets/7c2ff80a-d4d9-4a74-84b8-891fadfd4e6c"> | <img width="800" alt="Screenshot 2024-12-02 at 23 36 38" src="https://github.com/user-attachments/assets/60ea94b8-0b23-43a2-afad-b816b4645d1f"> | Release Notes: - Fixed showing prev/next hunk navigation buttons when there is only one hunk
Danilo Leal created
a8c7e61
Fix AI Context menu text wrapping causing overlap (#21438)
Closes https://github.com/zed-industries/zed/issues/20678 | Before | After | | --- | --- | | <img width="672" alt="SCR-20241203-jreb" src="https://github.com/user-attachments/assets/411ba2a6-712f-4ab7-a320-12ac9a35c1e1"> | <img width="771" alt="SCR-20241203-jwhe" src="https://github.com/user-attachments/assets/022c8ee9-4089-4c09-aa4b-12a0f5528822"> | Release Notes: - Fixed AI Context menu text wrapping causing overlap. Also cc #21409 @WeetHet @osiewicz to use `Label`, this PR has been fixed `Label` to ensure `whitespace_nowrap` when use `single_line`. --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Jason Lee and Danilo Leal created
2b14378
Improve audio files icon (#21441)
It took me a couple of minutes of staring at this speaker icon to figure out it was a speaker! I even researched whether the `.wav` file type had a specific icon, given I thought it was a specific triangle of sorts 😅 I'm sensing audio waves, at this size, will be easier to parse. Release Notes: - N/A
Danilo Leal created
b53b2c0
Run dependency review for pull requests only (#21432)
This was an oversight in the original PR, dependency-review-action won't work properly for `push` events ([example](https://github.com/zed-industries/zed/actions/runs/12130053580/job/33819624076)). Release Notes: - N/A
Cole Miller created
e1c509e
Check for vulnerable dependencies in CI (#21424)
This PR adds GitHub's dependency review action to CI, to flag PRs that introduce new Cargo.lock entries for vulnerable crates according to the GHSA database. An alternative would be to run `cargo audit`, which checks against the RustSec database. The state of synchronization between these two databases seems a bit messy, but as far as I can tell GHSA has most recent RustSec advisories on file, while RustSec is missing a larger number of recent GHSA advisories. The dependency review action should be smart enough not to flag PRs because an untouched entry in Cargo.lock has a new advisory. I've turned off the "license check" functionality since we have a separate CI step for that. Release Notes: - N/A
Cole Miller created
f4dbcb6
Use explicit sort order instead of comparison impls for gpui prims (#21430)
Found this while looking into adding support for the Surface primitive on Linux, for rendering video shares. In that case it would be expensive to compare images for equality. `Eq` and `PartialEq` were being required but not used here due to use of `Ord` and `PartialOrd`. Release Notes: - N/A
Michael Sloan created
579bc8f
Upgrade repl dependencies (#21431)
Bump dependencies for jupyter packages. cc @maxdeviant Release Notes: - N/A
Kyle Kelley created
7c994cd
Add AutoIndent action and '=' vim operator (#21427)
Release Notes: - vim: Added the `=` operator, for auto-indent Co-authored-by: Conrad <conrad@zed.dev>
Max Brunsfeld and Conrad created
f3140f5
assistant2: Wire up error messages (#21426)
This PR wires up the error messages for Assistant 2 so that they are shown to the user: <img width="1138" alt="Screenshot 2024-12-02 at 4 28 02 PM" src="https://github.com/user-attachments/assets/d8a5b9bd-0cef-4304-b561-b2edadbc70ef"> <img width="1138" alt="Screenshot 2024-12-02 at 4 29 09 PM" src="https://github.com/user-attachments/assets/0dd70841-0d5a-4de6-bebe-82c563246b65"> <img width="1138" alt="Screenshot 2024-12-02 at 4 32 49 PM" src="https://github.com/user-attachments/assets/a8838866-fad1-43a9-8935-490dc1936016"> @danilo-leal I kept the existing UX from Assistant 1, as I didn't see any errors in the design prototype, but we can revisit if another approach would work better. Release Notes: - N/A
Marshall Bowers created
72afe68
assistant: Use a smaller icon for the "New Chat" button (#21425)
Assistant new chat icon is slightly larger than editor pane new icon. Changes: Adds `IconSize::Small` to assistant default size new chat icon, not really noticeable, but matches the new icon in editor pane, and the assistant dropdown menu that have icon size small. |old|new| |---|---| ||| Release Notes: - N/A
yoleuh created
59dc6cf
toolchains: Run listing tasks on background thread (#21414)
Potentially fixes #21404 This is a speculative fix, as while I was trying to repro this issue I've noticed that introducing artificial delays in ToolchainLister::list could impact apps responsiveness. These delays were essentially there to stimulate PET taking a while to find venvs. Release Notes: - Improved app responsiveness in environments with multiple Python virtual environments
Piotr Osiewicz created
b88daae
assistant2: Add support for using tools provided by context servers (#21418)
This PR adds support to Assistant 2 for using tools provided by context servers. As part of this I introduced a new `ThreadStore`. Release Notes: - N/A --------- Co-authored-by: Cole <cole@zed.dev>
Marshall Bowers and Cole created
f32ffcf
workspace: Sanitize pinned tab count before usage (#21417)
Fixes all sorts of panics around usage of incorrect pinned tab count that has been fixed in app itself, yet persists in user db. Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
95a047c
tasks/rust: Add support for running examples as binary targets (#21412)
Closes #21044 Release Notes: - Added support for running Rust examples as tasks.
Piotr Osiewicz created
dbe4182
Use proper terminal item for splitting context (#21415)
Closes https://github.com/zed-industries/zed/issues/21411 Release Notes: - N/A
Kirill Bulatov created
7c40824
Fix macOS IME overlay positioning (#21416)
Release Notes: - Improved positioning of macOS IME overlay --------- Co-authored-by: Richard Feldman <richard@zed.dev>
Conrad Irwin and Richard Feldman created
4e12f05
Fix dismissing the IME viewer with escape (#21413)
Co-Authored-By: Richard Feldman <richard@zed.dev> Closes #21392 Release Notes: - Fixed dismissing the macOS IME menu with escape when no marked text was present --------- Co-authored-by: Richard Feldman <richard@zed.dev>
Conrad Irwin and Richard Feldman created
f795ce9
Add language icons to the language selector (#21298)
Closes https://github.com/zed-industries/zed/issues/21290 This is a first attempt to show the language icons to the selector. Ideally, I wouldn't like to have yet another place mapping extensions to icons, as we already have the `file_types.json` file doing that, but I'm not so sure how to pull from it yet. Maybe in a future pass we'll improve this and make it more solid. <img width="700" alt="Screenshot 2024-11-28 at 16 10 27" src="https://github.com/user-attachments/assets/683c3bef-5389-470f-a41e-3d510b927b61"> Release Notes: - N/A --------- Co-authored-by: Kirill Bulatov <kirill@zed.dev> Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Danilo Leal , Kirill Bulatov , and Piotr Osiewicz created
995b40f
Add "Copy Extension ID" action to extension card dropdown (#21395)
Adds a new "Copy Extension ID" action to the dropdown of remote extension cards in the extensions list UI. Would have liked for it to be a context menu where you could click anywhere on the card, but couldn't figure out how to integrate that with the existing setup. I've been missing this from VSCode's extension panel, which allows this on right click:  This is useful if you, say, want to add some extensions to https://zed.dev/docs/configuring-zed#auto-install-extensions, where you need the IDs. Release Notes: - Added "Copy Extension ID" action to extension card dropdown --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
uncenter and Marshall Bowers created
89e4639
workspace: Serialize active panel even if it's not visible (#21408)
Fixes #21285 Closes #21285 Release Notes: - Fixed workspace serialization of collapsed panels
Piotr Osiewicz created
3987d0d
Treat `.pcss` files as CSS (#21402)
This addresses https://github.com/zed-industries/zed/pull/19416#discussion_r1865019293 and also follows the [associated PostCSS file extensions for VS Code](https://github.com/csstools/postcss-language/blob/5d003170c5ed962b09b9a0f3725a6cae885df292/package.json#L37). Release Notes: - `.pcss` files are now recognized as CSS --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Finn Evers and Marshall Bowers created
6cb758a
theme_importer: Add more mappings (#21393)
This PR adds `search_match_background` and `editor_document_highlight_bracket_background` color mappings as they appear to be missing.
loczek created
0cb3a6e
Add V file icon (#20017)
Here is a preview of the new `v.svg` in comparison with some of the existing icons:  --------- Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Delyan Angelov and Danilo Leal created
2300f40
Add consistent placeholder text for terminal inline assist (#21398)
Ensuring it is consistent with the buffer inline assistant. Just thought of not having "Transform" here as that felt it made less sense for terminal-related prompts, where arguably more frequently, one would be suggesting for actual commands rather than code transformation. <img width="700" alt="Screenshot 2024-12-02 at 09 11 00" src="https://github.com/user-attachments/assets/ad96d03e-0366-46e8-8056-581066712d59"> Release Notes: - N/A
Danilo Leal created
dacd919
Add setting for making the tab's close button always visible (#21352)
Closes https://github.com/zed-industries/zed/issues/20422 <img width="700" alt="Screenshot 2024-11-29 at 22 00 20" src="https://github.com/user-attachments/assets/4a17d00c-d64f-4b33-97a7-a57766ce6d17"> Release Notes: - N/A
Danilo Leal created
740ba78
Fine-tune terminal tab bar actions spacing (#21391)
Just quickly reducing the spacing between the terminal tab bar actions so they're tighter and matching other similar components. | Before | After | |--------|--------| | <img width="800" alt="Screenshot 2024-12-01 at 19 20 50" src="https://github.com/user-attachments/assets/938336df-9ce1-42d3-8f3d-9c26b8e88453"> | <img width="800" alt="Screenshot 2024-12-01 at 19 18 19" src="https://github.com/user-attachments/assets/0a2b5915-f37c-4b8e-af2c-b8018c4750ab"> | Release Notes: - N/A
Danilo Leal created
380679f
Fix: Copilot Chat is logged out (#21360)
Closes #21255 Release Notes: - Fixed Copilot Chat OAuth Token parsing --------- Co-authored-by: Bennet Bo Fenner <bennet@zed.dev>
fred-sch and Bennet Bo Fenner created
89a5696
Fix typos in key-bindings documentation (#21390)
Release Notes: Fixes two minor typos in the key-bindings documentation.
moskirathe created
5f6b200
Do not change selections when opening FS entries (#21382)
Follow-up of https://github.com/zed-industries/zed/pull/21375 When changing selections for FS entries, outline panel will be forced to change item to the first excerpt which is not what we want. Release Notes: - N/A
Kirill Bulatov created
4d54152
Docs: Update developing zed docs to match (#21379)
Some changes just so the build docs for the different os matches each other :) macos: - moved `rust wasm toolchain install` up under `rust install` (match windows docs) - add instructions to update rust if already installed (match windows and linux docs) windows: - add `(required by a dependency)` to cmake install (match macos docs) Release Notes: - N/A
yoleuh created
bf569d7
Always change editor selection when navigating outline panel entries (#21375)
Also scroll to the center when doing so. This way, related editor's breadcrumbs always update, bringing more information. Release Notes: - Adjust outline panel item opening behavior to always change the editor selection, and center it
Kirill Bulatov created
28849dd
Fix item closing overly triggering save dialogues (#21374)
Closes https://github.com/zed-industries/zed/issues/12029 Allows to introspect project items inside items more deeply, checking them for being dirty. For that: * renames `project::Item` into `project::ProjectItem` * adds an `is_dirty(&self) -> bool` method to the renamed trait * changes the closing logic to only care about dirty project items when checking for save prompts conditions * save prompts are raised only if the item is singleton without a project path; or if the item has dirty project items that are not open elsewhere Release Notes: - Fixed item closing overly triggering save dialogues
Kirill Bulatov created
c2cd84a
Add musl-gcc as dependency (#21366)
This addition comes after attempting building Zed from source. As part of the process, one of the components (a crate I presume) called `ring` failed to compile due to the following sequence of console messages: ```log warning: ring@0.17.8: Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `musl-gcc` installed? warning: ring@0.17.8: Compiler family detection failed due to error: ToolNotFound: Failed to find tool. Is `musl-gcc` installed? error: failed to run custom build command for `ring v0.17.8` ``` Adding this library should help fix the issue on Fedora 41 at least, and possibly will help fixing it for other RedHat based distributions as well. Closes #ISSUE Release Notes: - Add musl-gcc as dependency Signed-off-by: Agustin Gomes <me@agustingomes.com>
Agustin Gomes created
d609931
linux: Fix mouse cursor size and blur on Wayland (#21373)
Closes #15788, #13258 This is a long-standing issue with a few previous attempts to fix it, such as [this one](https://github.com/zed-industries/zed/pull/17496). However, that fix was later reverted because it resolved the blur issue but caused a size issue. Currently, both blur and size issues persist when you set a custom cursor size from GNOME Settings and use fractional scaling. This PR addresses both issues. --- ### Context A new Wayland protocol, [cursor-shape-v1](https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/194), allows the compositor to handle rendering the cursor at the correct size and shape. This protocol is implemented by KDE, wlroots (Sway-like environments), etc. Zed supports this protocol, so there are no issues on these desktop environments. However, GNOME has not yet [adopted](https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/6212) this protocol. As a result, apps must fall back to manually rendering the cursor by specifying the theme, size, scale, etc., themselves. Zed also implements this fallback but does not correctly account for the display scale. --- ### Scale Fix For example, if your cursor size is `64px` and you’re using fractional scaling (e.g., `150%`), the display scale reported by the window query will be an integer value, `2` in this case. Why `2` if the scale is `150%`? That’s what the new protocol aims to improve. However, since GNOME Wayland uses this integer scale everywhere, it’s sufficient for our use case. To fix the issue, we set the `buffer_scale` to this value. But that alone doesn’t solve the problem. We also need to generate a matching theme cursor size for this scaled version. This can be calculated as `64px` * `2`, resulting in `128px` as the theme cursor size. --- ### Size Fix The XDG Desktop Portal’s `cursor-size` event fails to read the cursor size because it expects an `i32` but encounters a type error with `u32`. Due to this, the cursor size was interpreted as the default `24px` instead of the actual size set via user. --- ### Tested This fix has been tested with all possible combinations of the following: - [x] GNOME Normal Scale (100%, 200%, etc.) - [x] GNOME Fractional Scaling (125%, 150%, etc.) - [x] GNOME Cursor Sizes (**Settings > Accessibility > Seeing**, e.g., `24px`, `64px`, etc.) - [x] GNOME Experimental Feature `scale-monitor-framebuffer` (both enabled and disabled) - [x] KDE (`cursor-shape-v1` protocol) --- **Result:** 64px custom cursor size + 150% Fractional Scale: https://github.com/user-attachments/assets/cf3b1a0f-9a25-45d0-ab03-75059d3305e7 --- Release Notes: - Fixed mouse cursor size and blur issues on Wayland
tims created
fd71801
Improve JavaScript runnable detection followup (#21363)
Followup: https://github.com/zed-industries/zed/pull/21246 **Before** <img width="545" alt="Screenshot 2024-11-30 at 13 27 15" src="https://github.com/user-attachments/assets/3346e485-96c8-482d-b5fd-85b86f37d662"> **After** <img width="537" alt="Screenshot 2024-11-30 at 13 27 36" src="https://github.com/user-attachments/assets/3cedcaa5-e285-47fb-909d-16d37d9844ca"> We did not need to add the `*` as it was already matching one of them, we actually need at least one of them, so making it optional was a mistake. Don't think we need to add release notes, as the change is only on main the branch now. Release Notes: - N/A
Remco Smits created
c1de606
Fix the `autoscroll_on_clicks` setting working incorrectly (#21362)
Haru Kim created
57a45d8
Add a keybinding to the Go to Line button (#21350)
Release Notes: - N/A
Kirill Bulatov created
5f29f21
linux: Fix file not opening from file explorer (#21137)
Closes #20070 Release Notes: - Fixed issue where files wouldn't open from the file explorer. - Fixed "Open a new workspace" option on the desktop entry right-click menu. Context: Zed consists of two binaries: - `zed` (CLI component, located at `crates/cli/main.rs`) - `zed-editor` (GUI component, located at `crates/zed/main.rs`) When `zed` is used in the terminal, it checks if an existing instance is running. If one is found, it sends data via a socket to open the specified file. Otherwise, it launches a new instance of `zed-editor`. For more details, see the `detect` and `boot_background` functions in `crates/cli/main.rs`. Root Cause: Install process creates directories like `.local/zed.app` and `.local/zed-preview.app`, which contain desktop entries for the corresponding release. For example, `.local/zed.app/share/applications` contains `zed.desktop`. This desktop entry includes a generic `Exec` field, which is correct by default: ```sh Comment=A high-performance, multiplayer code editor. TryExec=zed StartupNotify=true ``` The issue is in the `install.sh` script. This script copies the above desktop file to the common directory for desktop entries (.local/share/applications). During this process, it replaces the `TryExec` value from `zed` with the exact binary path to avoid relying on the shell's PATH resolution and to make it explicit. However, replacement incorrectly uses the path for `zed-editor` instead of the `zed` CLI binary. This results in not opening a file as if you use `zed-editor` directly to do this it will throw `zed is already running` error on production and open new instance on dev. Note: This PR solves it for new users. For existing users, they will either have to update `.desktop` file manually, or use `install.sh` script again. I'm not aware of zed auto-update method, if it runs `install.sh` under the hood.
tims created
4bf5939
linux: Fix Zed not visible in "Open With" list in file manager for Flatpak (#21177)
- Closes #19030 When `%U` is used in desktop entries, file managers pick this and use it: - When you right-click a file and choose "Open with..." - When you drag and drop files onto an application icon <img src="https://github.com/user-attachments/assets/ea5aa008-b81c-4f10-9302-b82332f6b174" width="200px" alt="image"> Adding it to CLI args, changes Flatpak desktop entry `Exec` from: ```diff - Exec=/usr/bin/flatpak run --branch=master --arch=x86_64 --command=zed dev.zed.ZedDev --foreground + Exec=/usr/bin/flatpak run --branch=master --arch=x86_64 --command=zed --file-forwarding dev.zed.ZedDev --foreground @@u %U @@ ``` This is Flatpak's way of doing `%U`, by adding `--file-forwarding` and wrapping arg with `@@u` and `@@`. Read more below ([source](https://docs.flatpak.org/en/latest/flatpak-command-reference.html)): > --file-forwarding > > If this option is specified, the remaining arguments are scanned, and all arguments that are enclosed between a pair of '@@' arguments are interpreted as file paths, exported in the document store, and passed to the command in the form of the resulting document path. Arguments between "@@u" and "@@" are considered URIs, and any "file:" URIs are exported. The exports are non-persistent and with read and write permissions for the application. Release Notes: - Fixed Zed not visible in the "Open with" list in the file manager for Flatpak.
tims created
aea6fa0
Remove project panel trash action for remote projects (#21300)
Closes #20845 I'm uncertain about my placement for the logic to remove actions from the command palette list. If anyone has insights or alternative approaches, I'm open to changing the code. Release Notes: - Removed project panel `Trash` action for remote projects. --------- Co-authored-by: Finn Evers <dev@bahn.sh>
moshyfawn and Finn Evers created
4137d1a
Make project search landing page scrollable if too small (#21338)
Address https://github.com/zed-industries/zed/issues/21317#issuecomment-2508011556 https://github.com/user-attachments/assets/089844fc-a485-44a6-8e8b-d294f28e9ea2 Release Notes: - N/A
Danilo Leal created
1903a29
Expose "Column Git Blame" in the editor controls menu (#21336)
Closes https://github.com/zed-industries/zed/issues/10196 I think having this action exposed in the editor controls menu, close to the inline Git Blame option, makes more sense than a more prominent item somewhere else in the app. Maybe having it there will increase its discoverability. I myself didn't know this until a few weeks ago! Next steps would be ensuring the menu exposes its keybindings. (Quick note about the menu item name: I think maybe "_Git Blame Column_" would make more sense and feel grammatically more correct, but then we would have two Git Blame-related options, one with "Git Blame" at the start (Inline...) and another with "Git Blame" at the end (... Column). I guess one had to be sacrificed for the sake of consistency 😅.) <img width="750" alt="Screenshot 2024-11-29 at 12 01 33" src="https://github.com/user-attachments/assets/2f3324ec-a2f0-4303-9582-714d0ee6bd31"> Release Notes: - N/A
Danilo Leal created
69c761f
Adjust project search landing page layout (#21332)
Closes https://github.com/zed-industries/zed/issues/21317 https://github.com/user-attachments/assets/a4970c08-9715-4c90-ad48-8f6e80c6fcd0 Release Notes: - N/A
Danilo Leal created
0306bdc
Use a single action for toggling the language (#21331)
Follow-up of https://github.com/zed-industries/zed/pull/21299 Release Notes: - N/A
Kirill Bulatov created
de55bd8
Status bar: Reduce right tools lateral margin (#21329)
Closes #21316 | Before | After | |--------|-------| | | | Changes: changed `Base08` to `Base04` in `render_right_tools` Release Notes: - N/A
yoleuh created
a593a04
Update the lockfile after a recent dependency update (#21328)
Follow-up of https://github.com/zed-industries/zed/pull/21288 Release Notes: - N/A
Kirill Bulatov created