2d63f76
Remove cmd-g for `git::Commit` (#25524)
Click to expand commit body
Conflicts with `search::SelectNextMatch`
Peter Tripp created
2d63f76
Remove cmd-g for `git::Commit` (#25524)
Conflicts with `search::SelectNextMatch`
Peter Tripp created
52f73e0
vim: Refactor and fix multiline operations (#25055)
Changes:
- [x] Cursor at the start during yank operations on objects (`yip`,
`yab` etc).
- [x] Refactors this: Trim all leading and trailing whitespace from
inner multiline bracket selection.
- This leaves a nicely indented line when doing `ci{` `vi{d` etc
- [x] Checks for empty selection
- [x] Removed moving cursor to the start in visual bracket operations
This cleans up the previous implementation by providing a simpler check
in `surrounding_markers`, instead of calling a new function in
`expand_object`. No functionality was changed there except for handling
the empty selection and removing some cursor adjustments that should not
have been there after further testing.
Release Notes:
- N/A
5brian created
980e1b5
Fix missing selection range in Vim visual line mode in the assistant panel (#25133)
Closes #25132 Release Notes: - Fixed issues with `assistant: insert into editor` and `editor: copy` not inserting/copying the correct text inside of the assistant panel when selected using line-wise selection in Vim mode --------- Co-authored-by: Ben Kunkle <ben.kunkle@gmail.com>
RieN 7z and Ben Kunkle created
2ea3324
Update bug template (#25499)
Beniamin Zagan created
4edecfe
docs: Update rust-analyzer doc links (#25521)
The rust-analyzer documentation has moved to mdbook. This fixes a few of the links in the Rust documentation that point to the old manual. Release Notes: - N/A
josh rotenberg created
113c471
rust: Restore and update attribute highlighting (#25501)
#25333 added broader highlighting for identifiers, which broke the generic query for attribute queries, resulting in these being highlighted the same as identifiers. To accomodate for this change, this PR updates the attribute matches to be more specific. Additionally, path matches in scoped identifiers are no longer highlighted as attributes, as seen in the comparison screenshot. Can revert this if requested. | Zed Preview | <img width="750" alt="preview" src="https://github.com/user-attachments/assets/2cd2e830-f510-4adf-8ce9-c41ed6fb157c" /> | | --- | --- | | `main` | <img width="750" alt="main" src="https://github.com/user-attachments/assets/cbe93186-9afd-4515-bc06-e519fd4ee6af" /> | | This PR | <img width="750" alt="pr" src="https://github.com/user-attachments/assets/68270de8-e083-4fc6-a45e-25d3151acd87" /> | The generic match for `token_tree` is needed to recursively match patterns like `#[cfg(any(test, feature = "test-support"))]` (or at least I was unable to find a better query here). I tried to validate that this does not break any other highlights and I believe it does not. However, I might have still missed something. Release Notes: - N/A
Finn Evers created
10fef92
Dismiss git commit modal when it's out of focus (#25518)
Release Notes: - Fix git commit modal not being dismissed when pressing esc key or clicking outside the modal
Anthony Eid created
3ee4edc
Fix go to definition split (#24990)
Closes #24982 Release Notes: - Fix `GoToDefinitionSplit` action bug where split wouldn't happen if definition was in the same active editor --------- Co-authored-by: Dylan <dylwil3@gmail.com>
Anthony Eid and Dylan created
eda2333
assistant: Add Bedrock support (#21092)
Closes #16544 Release Notes: - Added support for AWS Bedrock to the Assistant. --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Shardul Vaidya , Marshall Bowers , Anthony , and Anthony Eid created
17a483c
Make generate-licenses scripts pass shellcheck (#25516)
Release Notes: - N/A
Michael Sloan created
7b277d2
Fix run indicators jumping when buffer content changes. (#25507)
Co-authored-by: Anthony Eid <hello@anthonyeid.me> Release Notes: - Fix run indicators jumping when content changes --------- Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Conrad Irwin and Anthony Eid created
63cfcc2
Fix jumping to multibuffer excerpts from deleted hunks (#25512)
Co-authored-by: Anthony Eid <hello@anthonyeid.me> Release Notes: - N/A Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Conrad Irwin and Anthony Eid created
53a5145
Fix performance of GitPanel::update_visible_entries (#25504)
Co-authored-by: Anthony Eid <hello@anthonyeid.me> Closes #19022 Release Notes: - Fixes pessimal performance with the new git panel when a very large number of files are untracked Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Conrad Irwin and Anthony Eid created
def342e
Remove dependents of `language_models` (#25511)
This PR removes the dependents of the `language_models` crate. The following types have been moved from `language_models` to `language_model` to facilitate this: - `LlmApiToken` - `RefreshLlmTokenListener` - `MaxMonthlySpendReachedError` - `PaymentRequiredError` With this change only `zed` now depends on `language_models`. Release Notes: - N/A
Marshall Bowers created
bbb8d63
vim: Register backquote object (#25502)
Closes #25496 Release Notes: - vim: Fixed operations on backtick quotes
5brian created
e5b97a5
Move `report_assistant_event` into `language_model` crate (#25508)
This PR moves the `report_assistant_event` function from the `language_models` crate to the `language_model` crate. This allows us to drop some dependencies on `language_models`. Release Notes: - N/A
Marshall Bowers created
e066667
Improve performance of project panel with many git statuses (#25465)
Closes #ISSUE Release Notes: - Improved performance of project panel in large git repositories
Cole Miller created
a78f3cf
Notarize with a team key (#25479)
Should make it less likely that notorization fails when nathan changes his passwords. (though probably no less likly to fail beacuse apple forces us to resign new agreements on the regular) Release Notes: - N/A --------- Co-authored-by: Peter Tripp <peter@zed.dev>
Conrad Irwin and Peter Tripp created
0acd556
language_model: Remove dependencies on individual model provider crates (#25503)
This PR removes the dependencies on the individual model provider crates from the `language_model` crate. The various conversion methods for converting a `LanguageModelRequest` into its provider-specific request type have been inlined into the various provider modules in the `language_models` crate. The model providers we provide via Zed's cloud offering get to stay, for now. Release Notes: - N/A
Marshall Bowers created
2f7a627
edit predictions: Refine leading whitespace behavior (#25491)
Closes https://github.com/zed-industries/zed/issues/25406 ### Problem Users have been confused about requiring `alt-tab` instead of just `tab` in cases where they don't have a completions menu open (see issue above). When they insert a newline and are in leading whitespace, they expect to be able to accept a prediction with just `tab`, but doing so increasing the indentation instead. This PR changes the behavior in so a modifier is only required if the cursor isn't already at the right indentation level based on the surrounding block. In this case, `tab` would increase the indentation and the prediction would get interpolated, allowing the user to press `tab` again to accept it. We also updated the docs to break down this behavior: https://github.com/zed-industries/zed/pull/25493 ### Before https://github.com/user-attachments/assets/91fe6193-dddd-43c1-8c26-0f4648bdc3fa ### After https://github.com/user-attachments/assets/671041bf-bf22-46a3-8466-b19b3e7dd6a0 Release Notes: - edit predictions: Do not require a modifier key when indentation is correct according to its surrounding block Co-authored-by: Danilo Leal <daniloleal09@gmail.com>
Agus Zubiaga and Danilo Leal created
f1e6b14
Git: Add hotkey to open file from changes list (#25500)
Release Notes: - N/A
João Marcos created
10a4760
Add Anthropic Claude 3.7 support (#25497)
Peter Tripp created
cdd07fd
Add `aws_http_client` and `bedrock` crates (#25490)
This PR adds new `aws_http_client` and `bedrock` crates for supporting AWS Bedrock. Pulling out of https://github.com/zed-industries/zed/pull/21092 to make it easier to land. Release Notes: - N/A --------- Co-authored-by: Shardul Vaidya <cam.v737@gmail.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me>
Marshall Bowers , Shardul Vaidya , and Anthony Eid created
8a3fb89
Document why `ForegroundExecutor` is `!Send` (#25492)
Release Notes: - N/A
Michael Sloan created
30af8d0
git_ui: Commit modal refinement (#25484)
Closes #ISSUE Release Notes: - N/A *or* Added/Fixed/Improved ... --------- Co-authored-by: Mikayla Maki <mikayla.c.maki@gmail.com>
Nate Butler and Mikayla Maki created
ceb7fc2
edit predictions: Split `layout_edit_prediction` popover (#25463)
This function has grown a lot and it was getting really hard to navigate. This PR splits it into smaller methods and moves it into `Editor` with the rest of the edit prediction popovers' code. I think there are opportunities to consolidate the many popovers we have, but we'll do that separately. Release Notes: - N/A
Agus Zubiaga created
d869451
emacs: Add support for paragraph navigation (#25284)
- emacs: Added support for `alt-{` and `alt-}` paragraph navigation
Peter Tripp created
ec7ce41
Git: Fix Linux bindings (#25486)
- Tooltip with binding wasn't showing up - Missing Linux bindings - Commit modal wasn't opening when binding was pressed Release Notes: - N/A --------- Co-authored-by: Conrad Irwin <conrad.irwin@gmail.com>
João Marcos and Conrad Irwin created
b2921bd
Disable edit predictions in diff/patch files by default (#25291)
Peter Tripp created
64756fa
Fix tmux being broken by default on Linux (#25476)
Tmux uses `ctrl-b` as default prefix. Prior to this tmux was basically useless in the default zed configuration. (ctrl-b would toggle the left dock).
Peter Tripp created
ff68443
Git push/pull/fetch (#25445)
Release Notes: - N/A --------- Co-authored-by: Michael Sloan <mgsloan@gmail.com>
Mikayla Maki and Michael Sloan created
b1b6401
gpui: Don’t hide `Window` in docs (#25449)
Release Notes: - N/A This side effect is only appearing in outside project. ## Before <img width="414" alt="image" src="https://github.com/user-attachments/assets/73d215d2-20e4-4337-82f4-74daa88a1bae" /> ## After <img width="453" alt="image" src="https://github.com/user-attachments/assets/030d34d7-c425-44f6-9cc5-0f2f6fd0a1ac" /> --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Jason Lee and Marshall Bowers created
07ba7c8
gpui: Add `underline` style method (#24784)
Release Notes: - N/A Add a shorter method to apply underline style. https://tailwindcss.com/docs/text-decoration-line#underling-text --------- Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Jason Lee and Marshall Bowers created
6516249
Fix conflict state (was broken by merge conflict) (#25354)
Closes #ISSUE Release Notes: - N/A
Conrad Irwin created
fc8218d
project panel: Change marked entries behavior and improve state colors (#25457)
Follow up to @0xtimsb's PR https://github.com/zed-industries/zed/pull/22658. - We're now changing the marked entry as we change the active buffer via the pane tabs. If all tabs are closed, we clear all marked entries, too. That means: if we have no open buffer, we don't have any highlighted entry (i.e., background color) in the project panel. - Also, now only marked entries have a different, more distinct background color. The `is_active` state doesn't change an item's background color anymore. - This improves an edge case where you could have multiple entries marked—where all of them would have a background color—and upon unmarking one of them, that entry would continue to have a bg color. Now, once you click or move your focus to unmark that entry, the bg color goes away. We discovered some new problems by doing these changes that we want to fix: 1. If you open a project without any open buffer, focus on the project panel, navigate with arrows to a given entry, and hit space, you will mark and open the file in the buffer. This is all correct. If you then hit `escape` to clear the marked entries, nothing happens to the open buffer, and the marked styled in the project panel entry go away. This is all correct. The wrong behavior happens if you now hit space _again_ on the active entry. That should mark it, and thus change its styles, but it doesn't happen. You just see it upon moving to a different entry with arrow up/down. 2. If you mark multiple entries on the project panel and then click on an open buffer, we still see all the multiple entries marked. This feels incorrect. We should only allow one marked entry at a time. These fixes should happen in follow up PRs, though. Release Notes: - Improved the scenario where there'd be a project panel entry highlighted/marked even if there is no open buffer. --------- Co-authored-by: smit <0xtimsb@gmail.com>
Danilo Leal and smit created
a8d5687
copilot: Support HTTP/HTTPS proxy for Copilot language server (#24364)
Closes #6701 (one of the top ranking issues as of writing)
Adds the ability to specify an HTTP/HTTPS proxy to route Copilot code
completion API requests through. This should fix copilot functionality
in restricted network environments (where such a proxy is required) but
also opens up the ability to point copilot code completion requests at
your own local LLM, using e.g.:
- https://github.com/jjleng/copilot-proxy
- https://github.com/bernardo-bruning/ollama-copilot/tree/master
External MITM-proxy tools permitting, this can serve as a stop-gap to
allow local LLM code completion in Zed until a proper OpenAI-compatible
local code completions provider is implemented. With this in mind, in
this PR I've added separate `settings.json` variables to configure a
proxy server _specific to the code completions provider_ instead of
using the global `proxy` setting, to allow for cases like this where we
_only_ want to proxy e.g. the Copilot requests, but not all outgoing
traffic from the application.
Currently, two new settings are added:
- `inline_completions.copilot.proxy`: Proxy server URL (HTTP and HTTPS
schemes supported)
- `inline_completions.copilot.proxy_no_verify`: Whether to disable
certificate verification through the proxy
Example:
```js
"features": {
"inline_completion_provider": "copilot"
},
"show_completions_on_input": true,
// New:
"inline_completions": {
"copilot": {
"proxy": "http://example.com:15432",
"proxy_no_verify": true
}
}
```
Release Notes:
- Added the ability to specify an HTTP/HTTPS proxy for Copilot.
---------
Co-authored-by: Marshall Bowers <git@maxdeviant.com>
Eli Kaplan and Marshall Bowers created
dd0de3c
Git panel: Fix commit binding tooltip not showing up (#25472)
Co-authored by: Conrad <conrad@zed.dev> Release Notes: - N/A
João Marcos created
198c368
Change `@variable` color in Gruvbox themes to be less intense (#25464)
This PR changes the color used for `@variable` syntax highlights in the Gruvbox themes to be less intense. We now use the same color as `editor.foreground`. | Language | Before | After | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | Rust | <img width="1410" alt="Screenshot 2025-02-24 at 10 08 41 AM" src="https://github.com/user-attachments/assets/9a34964d-9fdc-4deb-ac30-4a1c9e6fb531" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 55 18 AM" src="https://github.com/user-attachments/assets/c245d0fd-28af-42b8-93f6-48cb14671d94" /> | | Python | <img width="1410" alt="Screenshot 2025-02-24 at 10 08 38 AM" src="https://github.com/user-attachments/assets/8f8d111e-1d50-4229-a333-eb29b6ce9f4f" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 55 20 AM" src="https://github.com/user-attachments/assets/010b661e-dc9e-4ccb-8e52-ee10c8eb8342" /> | In #25333 and #25331 the highlight used for identifiers in Rust and Python, respectively, was changed to `@variable`, which resulted in the intense colors you see in the "Before" screenshots above. We considered reverting the highlight query changes to those languages, but after taking a look at our other languages, they already use similar queries. Instead we're adjusting the theme to make these cases less visually intense. Release Notes: - Gruvbox themes: Changed the color used for `@variable` syntax highlights to be less intense.
Marshall Bowers created
133704a
Adjust `@variable` color in One Dark theme (#25468)
This PR adjusts the color used for `@variable`s in One Dark to use the `editor.foreground` color. | Language | Before | After | | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | | Rust | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 04 AM" src="https://github.com/user-attachments/assets/3e1de7d2-03f6-45cc-87bb-93b86b5b1cb2" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 15 AM" src="https://github.com/user-attachments/assets/da6129aa-6886-4655-b305-c283e23bfd1e" /> | | Python | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 10 AM" src="https://github.com/user-attachments/assets/f60833f9-d306-44b6-a0b0-42b447e60498" /> | <img width="1410" alt="Screenshot 2025-02-24 at 10 46 19 AM" src="https://github.com/user-attachments/assets/256aa6b3-b798-46e4-9943-f21469e7d8bb" /> | Release Notes: - One Dark theme: Adjusted the color used for `@variable` syntax highlights.
Marshall Bowers created
d1302a7
Diff view: Fold excerpts of deleted files by default (#25436)
Release Notes: - N/A
João Marcos created
2b28b59
Remove unused variable `distinguish_unstaged_diff_hunks` (#25462)
Release Notes: - N/A
João Marcos created
bc941bf
assistant_tools: Rename `FileToolInput` to `NowToolInput` (#25456)
Renamed the `FileToolInput` structure to `NowToolInput` to better reflect its purpose, as the tool is related to time-based operations. Release Notes: - N/A Signed-off-by: Nikita Pivkin <nikita.pivkin@smartforce.io>
Nikita Pivkin created
72a9429
edit predictions: Always position jump/accept popovers inside viewport (#25348)
https://github.com/user-attachments/assets/345961c5-9bcb-4ee5-80f2-03d5fd0741d3 Release Notes: - edit prediction: Fixed jump/accept popover position for long lines --------- Co-authored-by: Danilo <danilo@zed.dev>
Agus Zubiaga and Danilo created
f020291
assistant: Rename action from New Context to New Chat (#25455)
If you looked that up via the Command Palette, we were showing an
outdated action name ("new context") which causes confusion given the
panel says "New Chat".
Release Notes:
- N/A
Danilo Leal created
4b3a2a3
vim: Fix `auto_indent_on_paste` not being respected (#25447)
Closes #12236 This PR fixes an issue where the `auto_indent_on_paste` setting was not being applied for pasting in Vim mode. It was correctly used for normal paste behavior. Also includes tests. Release Notes: - Fixed yank + paste indenting incorrectly when `auto_indent_on_paste` is set to `false` in certain languages.
smit created
1f257f4
fs: Fix `copy_recursive` (#25317)
Closes #24746 This PR modifies the implementation of `copy_recursive`. Previously, we were copying and pasting simultaneously, which caused an issue when a user copied a folder into one of its subfolders. This resulted in new content being created in the folder while copying, and subsequent recursive calls to `copy_recursive` would continue this process, leading to an infinite loop. In this PR, the approach has been changed: we now first collect the paths of the files to be copied, and only then perform the copy operation. Additionally, I have added corresponding tests. On the main branch, this test would previously run indefinitely. Release Notes: - Fixed `copy_recursive` runs infinitely when copying a folder into its subfolder.
张小白 created
f517050
Partially fix assistant onboarding (#25313)
While investigating #24896, I noticed two issues: 1. The default configuration for the `zed.dev` provider was using the wrong string for Claude 3.5 Sonnet. This meant the provider would always result as not configured until the user selected it from the model picker, because we couldn't deserialize that string to a valid `anthropic::Model` enum variant. 2. When clicking on `Open New Chat`/`Start New Thread` in the provider configuration, we would select `Claude 3.5 Haiku` by default instead of Claude 3.5 Sonnet. Release Notes: - Fixed some issues that caused AI providers to sometimes be misconfigured.
Antonio Scandurra created
535ba75
Do not indent on enter in python comments ending in colon (#25437)
Closes https://github.com/zed-industries/zed/issues/25416 Release Notes: - Fixed a bug where indentation was applied when adding a newline to a Python comment ending in `:`.
Joseph T. Lyons created
ee280b0
Resurrect top-ranking issues script (#25433)
Release Notes: - N/A
Joseph T. Lyons created
a437934
docs: Remove empty Tree-sitter grammar link in the Tailwind docs (#25426)
This PR removes the empty Tree-sitter grammar link in the Tailwind docs. Tailwind does not use a Tree-sitter grammar. Release Notes: - N/A
Marshall Bowers created