225f0c4
Fix input example (#24165)
Click to expand commit body
Release Notes: - N/A
Conrad Irwin created
225f0c4
Fix input example (#24165)
Release Notes: - N/A
Conrad Irwin created
daf09fa
Fix issue where changing the case of a vim object would be clipped at the end of the line (#24163)
Co-authored-by: Conrad Irwin <conrad@zed.dev> Closes #24124 Release Notes: - Fixed an issue in vim mode where changing the case of an object at the end of the line would not change the case of the last character in the object Co-authored-by: Conrad Irwin <conrad@zed.dev>
Ben Kunkle and Conrad Irwin created
8742c18
Allow auto-indenting with syntax errors when using regex-based indent matches to improve bash auto-indent behavior (#24160)
- Fixes auto-indent issues around `elif` caused by auto-indent being prevented due to syntax errors generated before `elif` clause completed Release Notes: - Fixed an issue where inserting an elif before an else in bash would not properly auto-indent --------- Co-authored-by: Conrad Irwin <conrad@zed.dev>
Ben Kunkle and Conrad Irwin created
66d0cdf
vim: Add ctrl-w a (#24162)
Closes #ISSUE Release Notes: - vim: Add `ctrl-w a` to close all items in the current pane
Conrad Irwin created
e17f307
vim: Load keymap after base keymap (#24161)
Closes #22562 Release Notes: - vim: Load vim keymap after a user-configured keymap
Conrad Irwin created
3d3ac2c
vim: Fix `ctrl-w ctrl-q` and `ctrl-w ctrl-c` to close active pane instead of all panes (#24018)
According to vim `ctrl-w ctrl-q` should close the active tab or pane similar to :q  Release Notes: - vim: fix `ctrl-w ctrl-q` to close active pane instead of all panes
Saurabh created
0919f10
chore: Remove moot file from #23901 (#24159)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
2442c49
ci: Use ReFS for our Windows CI (#23901)
Based on uv's CI setup. Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
4c29e1f
zeta: Improve UX for simultaneous LSP and prediction completions (#24024)
Release Notes: - N/A --------- Co-authored-by: Michael Sloan <michael@zed.dev> Co-authored-by: Danilo <danilo@zed.dev> Co-authored-by: Richard <richard@zed.dev>
Agus Zubiaga , Michael Sloan , Danilo , and Richard created
b6e680e
Support bash autoindenting (#24156)
Creates an indents.scm file for bash and adds regexes for
`{increase,decrease}_indent_pattern` in
`crates/languages/src/bash/config.toml`
so that autoindent works as expected in bash
Note that this PR does not attempt to handle all cases where indenting
might be desired in bash. I am aiming to support ~80% of what people
want while avoiding the more gnarly/edge cases like indented blocks in
case statements and indenting for associative arrays.
This is done with the explicit hope that someone (possibly from the
community) more familiar with and passionate about bash can come through
at a later date and handle those cases
Closes #23628
Release Notes:
- Add basic support for autoindent functionality in bash/shell files
Ben Kunkle created
dfd11c3
docs: Add docs for icon theme extensions (#24155)
This PR adds docs for icon themes. Release Notes: - N/A
Marshall Bowers created
28b8045
Fix missing modifier changed events on Linux X11 (#24154)
Release Notes: - Fixed some modifier changed events not being present on Linux X11. This affected things like the project search palette, where holding ctrl would not cause the split options to appear.
Michael Sloan created
13b7be1
themes: Make background colors partly transparent by default (#24151)
Certain themes define the `created` and `deleted` status colors, but not `created_background` and `deleted_background`. Previously, Zed would use `created` and `deleted` colors, and apply a hard-coded opacity change, but *not* use `created_background` and `deleted_background`, but that behavior was inadvertently changed in https://github.com/zed-industries/zed/pull/22994. This PR restores the old behavior as a fallback. If a theme defines a status color, but not the corresponding background color, we'll use a 75% transparent version of the foreground color as a fallback. Release Notes: - Fixed an issue in certain themes where diffs would render with the wrong red and green colors for deletions and insertions.
Max Brunsfeld created
e2d6d4b
docs: Update link to Scheme extension (#24148)
This PR updates the link to the Scheme extension in the docs, as it was moved to a separate repo in #24078. Release Notes: - N/A
Marshall Bowers created
1ec91a8
Clip points when searching for `@` in the Assistant 2 panel (#24147)
Release Notes: - N/A
Kirill Bulatov created
11e095b
Fix editor edited event property field name (#24145)
Release Notes: - N/A
Joseph T. Lyons created
45708d2
Project Diff 2 (#23891)
This adds a new version of the project diff editor to go alongside the new git panel. The basics seem to be working, but still todo: * [ ] Fix untracked files * [ ] Fix deleted files * [ ] Show commit message editor at top * [x] Handle empty state * [x] Fix panic where locator sometimes seeks to wrong excerpt Release Notes: - N/A
Conrad Irwin created
27a413a
linux: Remove openssl dependency (#24141)
Release Notes: - linux: Move from using openssl for collaboration to rustls/ring
Conrad Irwin created
a47a7fb
Reformat Zed Terms of Use with Prettier (no changes) (#24143)
No-op white-space only change. Converts two spaces after periods to one space. Enables using Prettier going forward.
Peter Tripp created
4f63423
Upgrade to rustls v0.23.22 (#24138)
This will help us debug a panic we're seeing in their internals. In order to make this work, I've temporarily forked async-tls with: https://github.com/async-rs/async-tls/pull/59/files Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
a8741dc
Migrate more events to telemetry::event! macro (#24102)
I believe this takes care of the remaining events running through the old flow that requires transformation at the collab server level. I think all events are now going through `telemetry::event!()`. For anyone curious where the new telemetry names are coming from, you can check the `for_snowflake` function within `crates/collab/src/api/events.rs`, to see how collab is currently transforming the events going through the old flow. Release Notes: - N/A
Joseph T. Lyons created
a864168
Enable collaborating editing of the commit message input inside the git panel (#24130)
https://github.com/user-attachments/assets/200b88b8-249a-4841-97cd-fda8365efd00 Now all users in the collab/ssh session can edit the commit input collaboratively, observing each others' changes live. A real `.git/COMMIT_EDITMSG` file is opened, which automatically enables its syntax highlight, but its original context is never used or saved on disk — this way we avoid stale commit messages from previous commits that git places there. A caveat: previous version put some effort into preserving unfinished commit messages on repo swtiches, but this version would not do that — instead, it will be blank on startup, and use whatever `.git/COMMIT_EDITMSG` contents on repo switch Release Notes: - N/A --------- Co-authored-by: Cole Miller <cole@zed.dev>
Kirill Bulatov and Cole Miller created
6b48a6e
workspace: Respect minimized state when deserializing workspaces (#24127)
Fixes a regression from #24015 pointed out in #24093 Closes #24093 Release Notes: - N/A
Piotr Osiewicz created
f45d58f
Add support for Go fuzz tests (#24107)
Add support for go fuzz tests. Closes #23809 Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Christian Borup and Piotr Osiewicz created
8edcaec
inline completion: Merge `disabled_globs` setting with default values (#24122)
This ensures that the following files are always ignored: ``` "**/.env*" "**/*.pem" "**/*.key" "**/*.cert" "**/*.crt" "**/secrets.yml" ``` Release Notes: - N/A
Bennet Bo Fenner created
eb820ab
inline completion: Respect `disabled_globs` when manually requesting completions (#24121)
When requesting completions manually with `editor: Show inline completion`, we did not check if completions are actually disabled for the current file (`inline_completions > disabled_globs`) Release Notes: - Fixed an issue where the `inline_completions > disabled_globs` setting would not be respected when manually requesting a completion (`editor: Show inline completion`)
Bennet Bo Fenner created
08c834c
cli: Instruct in `--help` how to run to see all logs (#24112)
Release Notes: - N/A
João Marcos created
52aed48
Use `prettier` to fix formatting in `docs/src/languages/lua.md` + fix typo (#24118)
Release Notes: - N/A
Michael Sloan created
f14ef40
Conditionally render divider between button groups in the status bar (#24114)
In the left hand status bar, there are two groups of buttons. There was
a border between the two hardcoded on the first button of the second
group, however, if all buttons in the first group are hidden, the border
doesn't need to be rendered.
(Not handled in this PR) A potentially better approach would be to
change StatusBar's definition from `left_items` and `right_items` to
`left_groups` and `right_groups`, and render dividers between each group
of items. That seemed like a bigger refactor than I wanted to handle for
now, but is an option for the future.
If you use these settings on `main`, the border will show, but with
nothing to the left of it.
```json
{
"collaboration_panel": {
"button": false
},
"outline_panel": {
"button": false
},
"project_panel": {
"button": false,
},
}
```
Screenshots:
Before:
<img width="117" alt="Screenshot 2025-02-02 at 6 19 24 PM"
src="https://github.com/user-attachments/assets/b3401b47-6172-4392-9277-31aa1affaf7a"
/>
<img width="134" alt="Screenshot 2025-02-02 at 6 20 12 PM"
src="https://github.com/user-attachments/assets/1e8caee6-1da8-47f6-8499-9a93b6d8fa27"
/>
After:
<img width="125" alt="Screenshot 2025-02-02 at 6 19 58 PM"
src="https://github.com/user-attachments/assets/9b9f421c-660b-41cb-80e0-acb774c66054"
/>
<img width="132" alt="Screenshot 2025-02-02 at 6 20 20 PM"
src="https://github.com/user-attachments/assets/87e0e475-084b-44df-b820-573c68728c1a"
/>
Release Notes:
- Conditionally render divider in status bar
---------
Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Kevin Sweet and Danilo Leal created
1d3e9b2
docs: Update completion keybindings and fix typos (#24113)
Release Notes: - N/A --------- Co-authored-by: Danilo Leal <67129314+danilo-leal@users.noreply.github.com>
Billy and Danilo Leal created
1301c41
Add direnv `.envrc` to `.gitignore` (#24115)
Release Notes: - N/A
Michael Sloan created
1dd2bbe
docs: Add lua-language-server formatter example (#24105)
Peter Tripp created
4885ace
workspace: Prevent clicks from falling through on some notifications (#24104)
Closes #ISSUE Release Notes: - N/A
Piotr Osiewicz created
691de6b
Add `#[track_caller]` to gpui foreground executor spawn methods (#24103)
Use of this location info was added in #21758 to help with diagnosing remote_server panics on drop of tasks on a different thread. Release Notes: - N/A
Michael Sloan created
422d57e
docs: Add Lua formatters section (stylua) (#24101)
Peter Tripp created
aa42e20
gpui: Add text alignment (#24090)
Adds a text property for controlling left, center, or right text alignment. #8792 should stay open since this doesn't add support for `justify` (which would require a much bigger change since this can just alter the origin of each line, but justify requires changing spacing, whereas justify requires changes to each platform's shaping code). Release Notes: - N/A
someone13574 created
4a65315
gpui: Switch from `linkme` to `inventory` for action registration (#24087)
This switches how actions are registered in GPUI from [dtolnay/linkme](https://github.com/dtolnay/linkme) to [dtolany/inventory](https://github.com/dtolnay/inventory), fixing the linking error seen in #15902, which also occurs on nightly toolchains. I'm not sure if that issue should be closed or not given the other problems on Chimera though. This also fixes zed-industries/create-gpui-app#10 Release Notes: - N/A
someone13574 created
f4f51c1
Remove /workflow command as not existing anymore #2 (#24097)
Follow-up of https://github.com/zed-industries/zed/pull/24095 Release Notes: - N/A
Kirill Bulatov created
f7d2b53
Remove /workflow command as not existing anymore (#24095)
Based on https://github.com/zed-industries/zed/issues/16913#issuecomment-2629424808 Follow-up of https://github.com/zed-industries/zed/pull/19900 Release Notes: - N/A
Kirill Bulatov created
2f82374
Switch GitHub Copilot Chat from o1-mini to o3-mini (#24080)
Co-authored-by: SkywardSyntax <87048477+SkywardSyntax@users.noreply.github.com>
Peter Tripp and SkywardSyntax created
af461f8
assistant: Use GPT 4 tokenizer for `o3-mini` (#24068)
Sorry to dump an unsolicited PR for a hot feature! I'm sure someone else was taking a look at this. I noticed that token counting was disabled and I was getting error logs of the form `[2025-01-31T22:59:01-05:00 ERROR assistant_context_editor] No tokenizer found for model o3-mini` when using the new model. To fix the issue, this PR registers the `gpt-4` tokenizer for this model. Release Notes: - openai: Fixed Assistant token counts for `o3-mini` models
Roshan Padaki created
f6824e3
Move scheme extension to zed-extensions/scheme (#24078)
New home: https://github.com/zed-extensions/scheme - See also: https://github.com/zed-industries/extensions/pull/1981
Peter Tripp created
5bd7eaa
Solve 50+ `cargo doc` warnings (#24071)
Release Notes: - N/A
João Marcos created
39d45bc
Update docs for running collab locally (again) (#24069)
Release Notes: - N/A
João Marcos created
d0152f9
vim: Add keybindings for resizing docks (#23874)
Closes #23334 This does not follow the exact way that windows are resized in vim. Normally the command is `ctrl-w >` however this PR uses just `ctrl->`. This is because I could not find a good way to read in a count like `10 ctrl-w ctrl->`. This is not really a problem since `ctrl->` can be held down, which, in my opinion, speeds up resizing. I think this is a good compromise since it improves usability; however, I am concerned that this is not intuitive. I am looking forward to feedback. Release Notes: - Added the following commands - vim::ResizeLeftDock - vim::ResizeRightDock - vim::ResizeBottomDock - Added keybinds - `ctrl->` for widening left dock - `ctrl-<` for narrowing left dock
AidanV created
a3c7dc3
vim: Add textobject `e` for entire file (#24039)
Co-Authored-By: Thomas Heartman <zed@thomasheartman.com> Release Notes: - vim: Add `e` for entire file object. `yae` to copy entire file Co-authored-by: Thomas Heartman <zed@thomasheartman.com>
Conrad Irwin and Thomas Heartman created
66e2028
git_ui: More git panel refinement (#24065)
- Removes flakey keybindings from buttons - Moves git panel entries to use a standard ListItem - Show a repo selector in the panel when more than one repo is present - Remove temporary repo selector from title bar Release Notes: - N/A
Nate Butler created
52a3013
editor: Push `em` width calculations down into `EditorSnapshot::gutter_dimensions` (#24062)
This PR removes the `em_width` and `em_advance` parameters to `EditorSnapshot::gutter_dimensions` in favor of computing the values inside of it. In practice all of the callers were passing in the same values, and there isn't a circumstance where we would want to pass in different values. `gutter_dimensions` has also been modified to return `Option<GutterDimensions>` instead of `GutterDimensions` so that we can remove some `.unwrap`s when interacting with the text system. Release Notes: - N/A
Marshall Bowers created
1787226
Add `language::BufferSnapshot::highlighted_text_for_range` (#24060)
In support of work on https://github.com/zed-industries/zed/tree/new-ui-for-edit-prediction-with-lsp-completions, where we want to be able to extract a range of the buffer as `HighlightedText`. Release Notes: - N/A
Michael Sloan created
9a6b9e3
Use different commit author for collab project clients (#24058)
Follow-up of https://github.com/zed-industries/zed/pull/23869 * Retrieves user + email for collab project clients and use these when such users commit Same as in https://github.com/zed-industries/zed/pull/23329, "is it the right user name and e-mail" and "how to override these" questions apply. * If this data is unavailable, forbid committing to the remote client * Forbid running related actions in git panel, if committing/writing is not permitted Release Notes: - N/A
Kirill Bulatov created