c844f1c
zed 0.156.1
Kirill Bulatov created
c844f1c
zed 0.156.1
Kirill Bulatov created
597d651
Fix the completions being too slow (#19013)
Closes https://github.com/zed-industries/zed/issues/19005 Release Notes: - Fixed completion items inserted with a delay ([#19005](https://github.com/zed-industries/zed/issues/19005)) --------- Co-authored-by: Antonio Scandurra <antonio@zed.dev>
Kirill Bulatov and Antonio Scandurra created
f6d974f
v0.156.x stable
Joseph T Lyons created
f3bf41a
Always wait for completion resolve before applying the completion edits (#18907)
After https://github.com/rust-lang/rust-analyzer/pull/18167 and certain people who type and complete rapidly, it turned out that we have not waited for `completionItem/resolve` to finish before applying the completion results. Release Notes: - Fixed completion items applied improperly on fast typing
Kirill Bulatov created
e6cc9f5
gpui: Fix uniform list horizon offset for non-horizontal scrollable lists (#18748)
Closes #18739 I'm not sure why the `+ padding.left` was added, but this was the cause of the issue. I also tested removing the extra left padding but didn't seem to see a difference inside the project panel. So we can maybe even remove it? **Before:**  **After:** <img width="294" alt="Screenshot 2024-10-04 at 21 49 05" src="https://github.com/user-attachments/assets/8cc84170-a86b-46b8-91c9-39def64f0bd0"> Release Notes: - Fix code action list not horizontal aligned correctly
Remco Smits created
8ee9520
v0.156.x preview
Joseph T Lyons created
cfd61f9
Clean up formatting in `Cargo.toml` (#18632)
This PR cleans up some formatting in some `Cargo.toml` files. Release Notes: - N/A
Marshall Bowers created
21336eb
docs: Add note about forking the extensions repo to a personal GitHub account (#18631)
This PR adds a note to the docs encouraging folks to fork the `zed-industries/extensions` repo to a personal GitHub account rather than a GitHub organization, as this makes life easier for everyone. Release Notes: - N/A
Marshall Bowers created
8a18c94
Make slash command descriptions consistent (#18595)
This PR adds a description constant in most of the slash command files so that both the editor _and_ footer pickers use the same string. In terms of copywriting, I did some tweaking to reduce the longer ones a bit. Also standardized them all to use sentence case, as opposed to each instance using a different convention. The editor picker needs more work, though, given the arguments and descriptions are being cut at the moment. This should happen in a follow-up! <img width="900" alt="Screenshot 2024-10-01 at 7 25 19 PM" src="https://github.com/user-attachments/assets/e8759eff-0de9-4a4d-a026-366d85507b3c"> --- Release Notes: - N/A --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Danilo Leal and Marshall Bowers created
82d3fcd
Tweak assistant prompt to only fix diagnostic issues when requested to do so (#18596)
Release Notes: - Assistant: Make the model less likely to incorporate diagnostic information when not requested to fix any issues. 
Roy Williams created
e01bc67
editor: Fix "Reveal in File Manager" not working with multibuffers (#18626)
Additionally, mark context menu entry as disabled when the action would fail (untitled buffer, collab sessions). Supersedes #18584 Release Notes: - Fixed "Reveal in Finder/File Manager", "Copy Path", "Copy Relative Path" and "Copy file location" actions not working with multibuffers.
Piotr Osiewicz created
fd94c2b
Keep tab position when closing tabs (#18168)
- Closes #18036 Release Notes: - N/A
Patrick created
0ee1d7a
Add snippet commands (#18453)
Closes #17860 Closes #15403 Release Notes: - Added `snippets: configure snippets` command to create and modify snippets - Added `snippets: open folder` command for opening the `~/.config/zed/snippets` directory https://github.com/user-attachments/assets/fd9e664c-44b1-49bf-87a8-42b9e516f12f
loczek created
b3cdd2c
ssh remoting: Fix ssh process not being cleaned up when connection is closed (#18623)
We introduced a memory leak in #18572, which meant that `Drop` was never called on `SshRemoteConnection`, meaning that the ssh process kept running Co-Authored-by: Thorsten <thorsten@zed.dev> Release Notes: - N/A --------- Co-authored-by: Thorsten <thorsten@zed.dev>
Bennet Bo Fenner and Thorsten created
e80cbab
Fix docs `format_on_save` value is not a boolean (#18619)
Fixed [Configuring Languages](https://zed.dev/docs/configuring-languages) docs using boolean value for `format_on_save` option although it accepts string values of `"on"` or `"off"` Details: The documentation on [configuring languages](https://zed.dev/docs/configuring-languages) states the use of boolean values for the `format_on_save` option although the [configuration reference](https://zed.dev/docs/configuring-zed#format-on-save) only allows the usage of string values `"on"` or `"off"`. In fact using boolean values will not work and won't translate to `on` or `off` Release Notes: - N/A
Roman Zipp created
563a1dc
Fix panic when opening proposed changes editor with reversed ranges (#18599)
Closes https://github.com/zed-industries/zed/issues/18589 Release Notes: - N/A Co-authored-by: Antonio <antonio@zed.dev>
Max Brunsfeld and Antonio created
7dcb0de
Keep all hunks expanded in proposed change editor (#18598)
Also, fix visual bug when pressing escape with a non-empty selection in a deleted text block. Release Notes: - N/A Co-authored-by: Antonio <antonio@zed.dev>
Max Brunsfeld and Antonio created
9b148f3
Limit the value can be set for font weight (#18594)
Closes #18531 This PR limits the range of values that can be set for `FontWeight`. Since any value less than 1.0 or greater than 999.9 causes Zed to crash on Windows, I’ve restricted `FontWeight` to this range. I could apply this constraint only on Windows, but considering the documentation at https://zed.dev/docs/configuring-zed#buffer-font-weight indicates that `FontWeight` should be between 100 and 900, I thought it might be a good idea to apply this restriction in the settings. Release Notes: - Changed `ui_font_weight` and `buffer_font_weight` settings to require values to be between `100` and `950` (inclusive). --------- Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Junkui Zhang and Marshall Bowers created
d14e36b
Add an apply button to hunks in proposed changes editor (#18592)
Release Notes: - N/A --------- Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Nathan <nathan@zed.dev>
Max Brunsfeld , Antonio , and Nathan created
eb962b7
editor: Include proposed changes editor in navigation history (#18593)
This PR makes it so the proposed changes editor works with the workspace navigation history. This allows for easily navigating back to the proposed changes editor after opening one of the excerpts into the base buffer. Release Notes: - N/A
Marshall Bowers created
280b8a8
editor: Allow opening excerpts from proposed changes editor (#18591)
This PR adds the ability to open excerpts in the base buffer from the proposed changes editor. Release Notes: - N/A
Marshall Bowers created
051627c
Project panel horizontal scrollbar (#18513)
<img width="389" alt="image" src="https://github.com/user-attachments/assets/c6718c6e-0fe1-40ed-b3db-7d576c4d98c8"> https://github.com/user-attachments/assets/734f1f52-70d9-4308-b1fc-36c7cfd4dd76 Closes https://github.com/zed-industries/zed/issues/7001 Closes https://github.com/zed-industries/zed/issues/4427 Part of https://github.com/zed-industries/zed/issues/15324 Part of https://github.com/zed-industries/zed/issues/14551 * Adjusts a `UniformList` to have a horizontal sizing behavior: the old mode forced all items to have the size of the list exactly. A new mode (with corresponding `ListItems` having `overflow_x` enabled) lays out the uniform list elements with width of its widest element, setting the same width to the list itself too. * Using the new behavior, adds a new scrollbar into the project panel and enhances its file name editor to scroll it during editing of long file names * Also restyles the scrollbar a bit, making it narrower and removing its background * Changes the project_panel.scrollbar.show settings to accept `null` and be `null` by default, to inherit `editor`'s scrollbar settings. All editor scrollbar settings are supported now. Release Notes: - Added a horizontal scrollbar to project panel ([#7001](https://github.com/zed-industries/zed/issues/7001)) ([#4427](https://github.com/zed-industries/zed/issues/4427)) --------- Co-authored-by: Piotr Osiewicz <piotr@zed.dev>
Kirill Bulatov and Piotr Osiewicz created
68d6177
docs: Correct typo in `configuring-zed.md` (#18580)
Release Notes: - N/A
pantheraleo-7 created
1be24f7
Rename proto language to Proto (#18559)
All the other languages are capitalized. Proto should be too.
Peter Tripp created
6336248
windows: Revert "Fix `hide`, `activate` method on Windows to hide/show application" (#18571)
This PR reverts the changes introduced via #18164. As shown in the video below, once you `hide` the app, there is essentially no way to bring it back. I must emphasize that the window logic on Windows is entirely different from macOS. On macOS, when you `hide` an app, its icon always remains visible in the dock, and you can always bring the hidden app back by clicking that icon. However, on Windows, there is no such mechanism—the app is literally hidden. I think the `hide` feature should be macOS-only. https://github.com/user-attachments/assets/65c8a007-eedb-4444-9499-787b50f2d1e9 Release Notes: - N/A
Junkui Zhang created
7ce8797
ssh remoting: Add infrastructure to handle reconnects (#18572)
This restructures the code in `remote` so that it's easier to replace the current SSH connection with a new one in case of disconnects/reconnects. Right now, it successfully reconnects, BUT we're still missing the big piece on the server-side: keeping the server process alive and reconnecting to the same process that keeps the project-state. Release Notes: - N/A --------- Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball and Bennet created
527c909
linux: Various X11 scroll improvements (#18484)
Closes #14089, #14416, #15970, #17230, #18485 Release Notes: - Fixed some cases where Linux X11 mouse scrolling doesn't work at all (#14089, ##15970, #17230) - Fixed handling of switching between Linux X11 devices used for scrolling (#14416, #18485) Change details: Also includes the commit from PR #18317 so I don't have to deal with merge conflicts. * Now uses valuator info from slave pointers rather than master. This hopefully fixes remaining cases where scrolling is fully broken. https://github.com/zed-industries/zed/issues/14089, https://github.com/zed-industries/zed/issues/15970, https://github.com/zed-industries/zed/issues/17230 * Per-device recording of "last scroll position" used to calculate deltas. This meant that swithing scroll devices would cause a sudden jump of scroll position, often to the beginning or end of the file (https://github.com/zed-industries/zed/issues/14416). * Re-queries device metadata when devices change, so that newly plugged in devices will work, and re-use of device-ids don't use old metadata with a new device. * xinput 2 documentation describes support for multiple master devices. I believe this implementation will support that, since now it just uses `DeviceInfo` from slave devices. The concept of master devices is only used in registering for events. * Uses popcount+bit masking to resolve axis indexes, instead of iterating bit indices. --------- Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Michael Sloan and Thorsten Ball created
72be8c5
gpui: Fix `hide`, `activate` method on Windows to hide/show application (#18164)
Release Notes: - N/A Continue #18161 to fix `cx.hide`, `cx.activate` method on Windows to hide/show application. ## After https://github.com/user-attachments/assets/fe0070f9-7844-4c2a-b859-3e22ee4b8d22 --------- Co-authored-by: Mikayla Maki <mikayla@zed.dev>
Jason Lee and Mikayla Maki created
8d795ff
Fix file watching for symlinks (#17609)
Closes #17605 Watches for target paths if file watched is a symlink in Linux. This will check if the generated `notify::Event` has any paths matching the `root_path` and if the file is a symlink it will also check if the path matches the `target_root_path` (the path that the symlink is pointing to) Release Notes: - Added file watching for symlinks
Alvaro Parker created
39be9e5
gpui: Fix `show: false` support on Windows to create an invisible window (#18161)
Release Notes: - N/A - The `show` of WindowOptions is valid on macOS but not on Windows, this changes to fix it to support create an invisible window. ```bash cargo run -p gpui --example window ``` ## Before https://github.com/user-attachments/assets/4157bdaa-39a7-44df-bbdc-30b00e9c61e9 ## After https://github.com/user-attachments/assets/d48fa524-0caa-4f87-932d-01d7a468c488 https://github.com/user-attachments/assets/dd052f15-c8db-4a2a-a6af-a7c0ffecca84
Jason Lee created
1d2172a
docs: Correct glibc requirements (#18554)
Peter Tripp created
a752bbc
Fix linux double click (#18504)
Closes #17573 Release Notes: - Check that double clicks on Linux are triggered by same button.
Patrick MARIE created
938a067
gpui: Fix img element to auto size when only have width or height (#17994)
Release Notes: - N/A --- We may only want to set the height of an image to limit the size and make the width adaptive. In HTML, we will only set width or height, and the other side will adapt and maintain the original image ratio. I changed this because I had a logo image that only to be limited in height, and then I found that setting the height of the `img` alone would not display correctly. I also tried to set `ObjectFit` in this Demo, but it seems that none of them can achieve the same effect as "After". ## Before <img width="809" alt="before 2024-09-18 164029" src="https://github.com/user-attachments/assets/7ba559ed-e53b-43e6-a072-93c8ba5b14ee"> ## After <img width="749" alt="after 2024-09-18 172003" src="https://github.com/user-attachments/assets/51ee2eba-76b3-400a-abbf-de0e9c4021e2">
Jason Lee created
77506af
windows: Implement copy/paste images (#17852)
**Clipboard Behavior on Windows Under This PR:** | User Action | Zed’s Behavior | | ------------------- | -------------------------------------------------- | | Paste PNG | Worked | | Paste JPEG | Worked | | Paste WebP | Worked, but not in the way you expect (see Issue section below) | | Paste GIF | Partially worked (see Issue section below) | | Paste SVG | Partially worked (see Issue section below) | | Paste BMP | Worked, but not in the way you expect (see Issue section below) | | Paste TIFF | Worked, but not in the way you expect (see Issue section below) | | Paste Files | Worked, same behavior as macOS | | Copy image in Zed | Not tested, as I couldn’t find a way to copy images | --- **Differences Between the Windows and macOS Clipboard** The clipboard functionality on Windows differs significantly from macOS. On macOS, there can be multiple items in the clipboard, whereas, on Windows, the clipboard holds only a single item. You can retrieve different formats from the clipboard, but they are all just different representations of the same item. For example, when you copy a JPG image from Microsoft Word, the clipboard will contain data in several formats: - Microsoft Office proprietary data - JPG format data - PNG format data - SVG format data Please note that these formats all represent the same image, just in different formats. This is due to compatibility concerns on Windows, as various applications support different formats. Ideally, multiple formats should be placed on the clipboard to support more software. However, in general, supporting PNG will cover 99% of software, like Chrome, which only supports PNG and BMP formats. Additionally, since the clipboard on Windows only contains a single item, special handling is required when copying multiple objects, such as text and images. For instance, if you copy both text and an image simultaneously in Microsoft Word, Microsoft places the following data on the clipboard: - Microsoft Office proprietary data containing a lot of content such as text fonts, sizes, italics, positioning, image size, content, etc. - RTF data representing the above content in RTF format - HTML data representing the content in HTML format - Plain text data Therefore, for the current `ClipboardItem` implementation, if there are multiple `ClipboardEntry` objects to be placed on the clipboard, RTF or HTML formats are required. This PR does not support this scenario, and only supports copying or pasting a single item from the clipboard. --- **Known Issues** - **WebP, BMP, TIFF**: These formats are not explicitly supported in this PR. However, as mentioned earlier, in most cases, there are corresponding PNG format data on the clipboard. This PR retrieves data via PNG format, so users copying images in these formats from other sources will still see the images displayed correctly. - **GIF**: In this PR, GIFs are displayed, but for GIF images with multiple frames, the image will not animate and will freeze on a single frame. Since I observed the same behavior on macOS, I believe this is not an issue with this PR. - **SVG**: In this PR, only the top-left corner of the SVG image is displayed. Again, I observed the same behavior on macOS, so I believe this issue is not specific to this PR. --- I hope this provides a clearer understanding. Any feedback or suggestions on how to improve this are welcome. Release Notes: - N/A
Junkui Zhang created
ecb7144
windows: Fix can not set folder for `FileSaveDialog` (#17708)
Closes #17622 Closes #17682 The story here is that `SHCreateItemFromParsingName` dose not accept UNC path. Video: https://github.com/user-attachments/assets/f4f7f671-5ab5-4965-9158-e7a79ac02654 Release Notes: - N/A
Junkui Zhang created
8377561
linux/wayland: Add support for pasting images (#17671)
Release Notes: - You can now paste images into the Assistant Panel to include them as context on Linux wayland
maan2003 created
eb9fd62
Fix rendering of markdown tables (#18315)
- Closes: https://github.com/zed-industries/zed/issues/11024 ## Release Notes: - Improved Markdown Preview rendering of tables ## Before:  <img width="2035" alt="Screenshot 2024-09-25 at 05 47 19" src="https://github.com/user-attachments/assets/a30c56f5-4793-44c2-8527-294189f9e724"> ## Now:  <img width="2040" alt="Screenshot 2024-09-25 at 05 47 48" src="https://github.com/user-attachments/assets/76e5d217-9110-4c5d-9fad-dc63ae0b75f4"> ## Note: I'm not a Rust programmer and this is my first PR in Zed (because i just want to fix this, so i can view my notes in Markdown in Zed, not slow Visual Studio Code) - so there may be errors. I'm open for critic a
Andrey Arutiunian created
3010dfe
Support More Linux (#18480)
- Add `script/build-docker` - Add `script/install-cmake` - Add `script/install-mold` - Improve `script/linux` - Add missing dependencies: `jq`, `git`, `tar`, `gzip` as required. - Add check for mold - Fix Redhat 8.x derivatives (RHEL, Centos, Almalinux, Rocky, Oracle, Amazon) - Fix perl libs to be Fedora only - Install the best `libstdc++` available on apt distros - ArchLinux: run `pacman -Syu` to update repos before installing. - Should work on Raspbian (untested) This make it possible to test builds on other distros using docker: ``` ./script/build-docker amazonlinux:2023 ```
Peter Tripp created
432de00
ci: Use BuildJet Ubuntu 20.04 runners for better glibc compatibility (#18442)
Use BuildJet Ubuntu 20.04 runners. - Linux arm64 unchanged (glibc >= 2.35) - Linux x64 glibc requirement becomes to >= 2.31 (from glibc >= 2.35). Note: Ubuntu 20.04 repo cmake (3.16.3) is normally too old to build Zed, but `ubuntu-2004` [includes cmake 3.30.3](https://github.com/actions/runner-images/blob/main/images/ubuntu/Ubuntu2004-Readme.md#tools).
Peter Tripp created
09424ed
ci: Add script/determine-release-channel (#18476)
- Refactor duplicated inline script from ci.yml to `script/determine-release-channel` - Remove references to non-existent '-nightly' release tags Release Notes: - N/A
Peter Tripp created
74cba24
ci: Move collab to Dockerfile-collab (#18515)
This makes it possible to have multiple Dockerfiles, each with their own `.dockerignore`. Previously any docker builds would always include anything inside `.dockerignore`. I believe this feature may require `export DOCKER_BUILDKIT=1` but we use that in CI already.
Peter Tripp created
053e319
Fine-tune hunk controls block (#18543)
This PR changes the undo icon and adds a background color so that indent lines don't bleed through the control block. <img width="900" alt="Screenshot 2024-09-30 at 5 38 44 PM" src="https://github.com/user-attachments/assets/4955f0f6-50ce-432f-85b9-1da0172d5e51"> Release Notes: - N/A
Danilo Leal created
69e698c
terminal: Fix blinking settings & blinking with custom shape (#18538)
This is a follow-up to #18530 thanks to this comment here:
https://github.com/zed-industries/zed/pull/18530#issuecomment-2382870564
In short: it fixes the `blinking` setting and the `cursor_shape` setting
as it relates to blinking.
Turns out our `blinking` setting was always the wrong value when using
`terminal_controlled` and the terminal _would_ control the blinking.
Example script to test with:
```bash
echo -e "0 normal \x1b[\x30 q"; sleep 2
echo -e "1 blink block \x1b[\x31 q"; sleep 2
echo -e "2 solid block \x1b[\x32 q"; sleep 2
echo -e "3 blink under \x1b[\x33 q"; sleep 2
echo -e "4 solid under \x1b[\x34 q"; sleep 2
echo -e "5 blink vert \x1b[\x35 q"; sleep 2
echo -e "6 solid vert \x1b[\x36 q"; sleep 2
echo -e "0 normal \x1b[\x30 q"; sleep 2
echo -e "color \x1b]12;#00ff00\x1b\\"; sleep 2
echo -e "reset \x1b]112\x1b\\ \x1b[\x30 q"
```
Before the changes in here, this script would set the cursor shape and
the blinking, but the blinking boolean would always be wrong.
This change here makes sure that it works consistently:
- `terminal.cursor_shape` only controls the *default* shape of the
terminal, not the blinking.
- `terminal.blinking = on` means that it's *always* blinking, regardless
of what terminal programs want
- `terminal.blinking = off` means that it's *never* blinking, regardless
of what terminal programs want
- `terminal.blinking = terminal_controlled (default)` means that it's
blinking depending on what terminal programs want. when a terminal
program resets the cursor to default, it sets it back to
`terminal.cursor_shape` if that is set.
Release Notes:
- Fixed the behavior of `{"terminal": {"blinking":
"[on|off|terminal_controlled]"}` to work correctly and to work correctly
when custom `cursor_shape` is set.
- `terminal.cursor_shape` only controls the *default* shape of the
terminal, not the blinking.
- `terminal.blinking = on` means that it's *always* blinking, regardless
of what terminal programs want
- `terminal.blinking = off` means that it's *never* blinking, regardless
of what terminal programs want
- `terminal.blinking = terminal_controlled (default)` means that it's
blinking depending on what terminal programs want. when a terminal
program resets the cursor to default, it sets it back to
`terminal.cursor_shape` if that is set.
Demo:
https://github.com/user-attachments/assets/b3fbeafd-ad58-41c8-9c07-1f03bc31771f
Co-authored-by: Bennet <bennet@zed.dev>
Thorsten Ball and Bennet created
215bce1
Make direct direnv loading default (#18536)
I've been running with direct direnv loading for a while now and haven't experienced any significant issues other than #18473. Making it default would make direnv integration more reliable and consistent. I've also updated the docs a bit to ensure that they represent current status of direnv integration Release Notes: - Made direnv integration use direct (`direnv export json`) mode by default instead of relying on a shell hook, improving consistency and reliability of direnv detection
Stanislav Alekseev created
e64a86c
Fix a typo in the multi buffers documentation (#18535)
Closes https://github.com/zed-industries/zed/issues/18533 Release Notes: - N/A
Kirill Bulatov created
8ae74bc
gpui: Fix pre-edit position after applying scale factor (#18214)
before:  after:  Release Notes: - N/A
wannacu created
65f6a7e
linux/x11: Give title bar inactive bg on mouse down (#18529)
This fixes something that I felt was off for a while. Previously, when you'd click on the titlebar to move the window, the titlebar would only change its background once the moving starts, but not on mouse-down. That felt really off, since the moving is down with mouse-down and move, so I think giving the user feedback about the mouse-down event makes more sense. I know there's a subjectivity to this change, so I'm ready to hear other opinions, but for now I want to go with this. Release Notes: - N/A
Thorsten Ball created
533416c
terminal: Make CursorShape configurable (#18530)
This builds on top of @Yevgen's #15840 and combines it with the settings
names introduced in #17572.
Closes #4731.
Release Notes:
- Added a setting for the terminal's default cursor shape. The setting
is `{"terminal": {"cursor_shape": "block"}}``. Possible values: `block`,
`bar`, `hollow`, `underline`.
Demo:
https://github.com/user-attachments/assets/96ed28c2-c222-436b-80cb-7cd63eeb47dd
Thorsten Ball created
57ad577
Add a way to explicitly specify RC toolkit path (#18402)
Closes #18393 Release Notes: - Added a `ZED_RC_TOOLKIT_PATH` env variable so `winresource` crate can fetch the RC executable path correctly on some configurations
0hDEADBEAF created
707ccb0
Restore paste on middle-click on linux (#18503)
This is a partial revert of e6c1c51b37a, which removed the middle-click pasting on linux (both x11 & wayland). It also restores the `middle_click_paste` option behavior which became unexistent. Release Notes: - Restore Linux middle-click pasting.
Patrick MARIE created