fb60f71
Make scrollbars auto-hide by default (#38340)
Click to expand commit body
With this, scrollbars across the app will now auto-hide unless it is
specified that they should follow a specific setting.
Optimally, we would just track the user preference by default. However,
this is currently not possible. because the setting we would need to
read lives in `editor` and we cannot read that from within the `ui`
crate.
Release Notes:
- N/A
Finn Evers
created
589e2c0
agent: Make settings view more consistent across different sections (#38419)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/37660
This PR makes sections in the AI settings UI more consistent with each
other and also just overall simpler. One of the main changes here is
adding the tools from a given MCP server in a modal (as opposed to in a
disclosure within the settings view). That's mostly an artifact of
wanting to make all of the items within sections look more of the same.
Then, in the process of doing so, also changed the logic that we were
using to display MCP servers; previously, in the case of extension-based
servers, we were only showing those that were _configured_, which felt
wrong because you should be able to see everything you have _installed_,
despite of its status (configured or not).
However, there's still a bit of a bug (to be solved in a follow-up PR),
which already existed but it was just not visible given we'd only
display configured servers: an MCP server installed through an extension
stays as a "custom server" until it is configured. If you don't
configure it, you can't also uninstall it from the settings view (though
it is possible to do so via the extensions UI).
Release Notes:
- agent: Improve settings view UI and solve issue where MCP servers
would get unsorted upon turning them on and off (they're all
alphabetically sorted now).
Danilo Leal
created
21d8b19
dap: Add more debug logs for child's stderr (#38418)
Click to expand commit body
Without this, I would never have converged on @cole-miller's patch
https://github.com/zed-industries/zed/pull/38380 when debugging codelldb
not spawning in WSL!
Release Notes:
- N/A
Jakub Konka
created
82686bf
Start working on refreshing Python docs (#37880)
Click to expand commit body
- Reflect that basedpyright is the new primary language server
- Discuss Ruff
- Deemphasize manual venv configuration for language servers
Release Notes:
- N/A
---------
Co-authored-by: Katie Geer <katie@zed.dev>
Co-authored-by: Piotr <piotr@zed.dev>
Release Notes:
- N/A
Co-authored-by: Agus <agus@zed.dev>
Co-authored-by: Oleksiy <oleksiy@zed.dev>
Co-authored-by: Finn <finn@zed.dev>
Michael Sloan
,
Agus
,
Oleksiy
, and
Finn
created
202dcb1
remote: Remove excess quoting in WSL `build_command` (#38380)
Click to expand commit body
The built-up command for the WSL remote connection looks like
```
wsl.exe --distribution Ubuntu --user cole --cd /home/cole -- bash -c SCRIPT
```
Where `SCRIPT` is a command itself. We don't need extra quotes around
`SCRIPT` because we already pass it whole as a separate argument to
`wsl.exe`.
This isn't yet enough to get ACP servers working in WSL projects
(#38332), but it removes one roadblock.
Release Notes:
- windows: Fixed an issue that could prevent running binaries in WSL
remote projects.
Cole Miller
created
b1aa272
editor: Reverse range of pending selection if required (#38410)
Click to expand commit body
cc https://github.com/zed-industries/zed/issues/38129
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
59a609c
Partially revert "project: Fix terminal activation scripts failing on Windows for new shells (#37986) (#38406)
Click to expand commit body
This partially reverts commit 4002602a8926b7fe799acf50fcee6bcffb36d376.
Specifically the parts that closes
https://github.com/zed-industries/zed/issues/38343
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
ca05ff8
agent2: More efficent read file tool (#38407)
Click to expand commit body
Before we were always reading the entire file into memory as a string.
Now we only read the range that is actually requested.
Release Notes:
- N/A
Ben Brandt
created
9f9e806
workspace: Pop a toast if manually spawning a task fails (#38405)
32c868f
acp: Fix behavior of read_text_file for ACP agents (#38401)
Click to expand commit body
We were incorrectly handling the line number as well as stripping out
line breaks when returning portions of files.
It also makes sure following is updated even when we load a snapshot
from cache, which wasn't the case before.
We also are able to load the text via a range in the snapshot, rather
than allocating a string for the entire file and then another after
iterating over lines in the file.
Release Notes:
- acp: Fix incorrect behavior when ACP agents requested to read portions
of files.
Ben Brandt
created
ed46e2c
helix: Apply modification (e.g. switch case) on a single character only in helix mode (#38119)
Click to expand commit body
Closes #34192
Without selection, only current character would be affected.
Also if #38117 is merged too, then transformations in SelectMode behave
correctly too and selection is not collapsed.
Release Notes:
- helix: Implemented `~`, `` ` ``, `` Alt-` `` correctly in normal and
select modes
---------
Co-authored-by: Jakub Konka <kubkon@jakubkonka.com>
Romans Malinovskis
and
Jakub Konka
created
d85a6db
git_ui: Use margin instead of padding for blame entries (#38397)
Click to expand commit body
This makes the hover background change keep a visible border element
between the gutter and blame entries
Release Notes:
- N/A *or* Added/Fixed/Improved ...
Lukas Wirth
created
4b1e78c
terminal: Fix COLORTERM regression for true color support (#38379)
Click to expand commit body
Closes #38304
Release Notes:
- Fixed true color detection regression by setting `COLORTERM=truecolor`
---
Reason:
The regression is possibly introduced in [pr#36576: Inject venv
environment via the
toolchain](https://github.com/zed-industries/zed/pull/36576/files#diff-6f30387876b79f1de44f8193401d6c8fb49a2156479c4f2e32bc922ec5d54d76),
where `alacritty_terminal::tty::setup_env();` is removed.
The `alacritty_terminal::tty::setup_env();` does 2 things, which sets
`TERM` & `COLORTERM` envvar.
```rs
/// Setup environment variables.
pub fn setup_env() {
// Default to 'alacritty' terminfo if it is available, otherwise
// default to 'xterm-256color'. May be overridden by user's config
// below.
let terminfo = if terminfo_exists("alacritty") { "alacritty" } else { "xterm-256color" };
unsafe { env::set_var("TERM", terminfo) };
// Advertise 24-bit color support.
unsafe { env::set_var("COLORTERM", "truecolor") };
}
```
Miao
created
eaa1cb0
acp: Add a basic test for ACP remoting (#38381)
Click to expand commit body
Tests that the downstream project can see custom agents configured in
the remote server's settings, and that it constructs an appropriate
`AgentServerCommand`.
Release Notes:
- N/A
Cole Miller
created
ea473ee
acp: Fix agent servers sometimes not being registered when Zed starts (#38330)
Click to expand commit body
In local projects, initialize the list of agents in the agent server
store immediately. Previously we were initializing the list only after a
delay, in an attempt to avoid sending the `ExternalAgentsUpdated`
message to the downstream client (if any) before its handlers were
initialized. But we already have a separate codepath for that situation,
in the `AgentServerStore::shared`, and we can insert the delay in that
place instead.
Release Notes:
- acp: Fixed a bug where starting an external agent thread soon after
Zed starts up would show a "not registered" error.
---------
Co-authored-by: Michael <michael@zed.dev>
Co-authored-by: Agus <agus@zed.dev>
Cole Miller
,
Michael
, and
Agus
created
4912096
collab: Remove unused feature flag queries (#38360)
Click to expand commit body
This PR removes the feature flag queries, as they were no longer used.
Release Notes:
- N/A
Marshall Bowers
created
3c69144
Update release URLs in release actions (#38361)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
96111c6
extension_host: Sanitize cwd path for ResolvedTask (#38357)
Click to expand commit body
Ensures build task's CWD paths use POSIX-friendly path separator on
Windows host so that `std::path::Path` ops work as expected within the
Wasm guest.
Release Notes:
- N/A
This PR removes the `/cargo-workspace` slash command.
We never fully shipped this—with it requiring explicit opt-in via a
setting—and it doesn't seem like the feature is needed in an agentic
world.
Release Notes:
- Removed the `/cargo-workspace` slash command.
Adds a shortcut to add a WSL distro for better wsl feature
discoverability.
- [x] Open wsl from open remote
- [x] Open local folder in wsl action
- [x] Open wsl shortcut (shortcuts to open remote)
Release Notes:
- N/A
localcc
created
43f40c6
rope: Fix spelling of `peek_with_bitmaps` (#38341)
Click to expand commit body
This PR fixes the spelling of the `peek_with_bitmaps` method.
Release Notes:
- N/A
Marshall Bowers
created
824f695
Rename Windows GitHub Issue template (#38339)
Click to expand commit body
Release Notes:
- N/A
Joseph T. Lyons
created
50326dd
project_panel: Collapse top-level entries in `Collapse all entries` command (#38310)
Click to expand commit body
Closes #11760
The command `project panel: collapse all entries` currently does not
collapse top-level entries (the workspaces themselves). I think this
should be expected behaviour if you only have a single workspace in your
project. However, if you have multiple workspaces, we should collapse
their top-level folders as well. This is the expected behaviour in the
screenshots in #11760.
For more context: Atm the `.retain` function empties the
`self.expanded_dir_ids` Hash Map, because the `expanded_entries` Vec is
(almost) never empty - it contains the id of the `root_entry` of the
workspace.
https://github.com/zed-industries/zed/blob/d48d6a745409a8998998ed59c28493a1aa733ebb/crates/project_panel/src/project_panel.rs#L1148-L1152
We then update the `self.expanded_dir_ids` in the
`update_visible_entries` function, and since the Hash Map is empty, we
execute the `hash_map::Entry::Vacant` arm of the following match
statement.
https://github.com/zed-industries/zed/blob/d48d6a745409a8998998ed59c28493a1aa733ebb/crates/project_panel/src/project_panel.rs#L3062-L3073
This change makes sure that we do not clear the `expanded_dir_ids`
HashMap and always keep the keys for all visible workspaces and
therefore we run the `hash_map::Entry::Occupied` arm, which does not
override the `expanded_dir_ids` anymore.
https://github.com/user-attachments/assets/b607523b-2ea2-4159-8edf-aed7bca05e3a
cc @MrSubidubi
Release Notes:
- N/A *or* Added/Fixed/Improved ...
---------
Co-authored-by: Finn Evers <finn.evers@outlook.de>
Nils Koch
and
Finn Evers
created
52521ef
acp: update to v0.4 of Rust library (#38336)
Click to expand commit body
Release Notes:
- N/A
Ben Brandt
created
4a7784c
Allow opening a local folder inside WSL (#38335)
Click to expand commit body
This PR adds an option to allow opening local folders inside WSL
containers. (wsl_actions::OpenFolderInWsl). It is accessible via the
command palette and should be available to keybind.
- [x] Open wsl from open remote
- [x] Open local folder in wsl action
- [ ] Open wsl shortcut (shortcuts to open remote)
Release Notes:
- N/A
localcc
created
f3b8c61
editor: Fix `unwrap_syntax_node` panicking by not setting selections (#38329)
c54e294
Autosave files on close, when setting is `afterDelay` (#36929)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/12149
Closes #35524
Release Notes:
- Improved autosave behavior, to prevent a confirmation dialog when
quickly closing files and using the `afterDelay` setting
---------
Co-authored-by: MrSubidubi <finn@zed.dev>
itsaphel
and
MrSubidubi
created
8683488
editor: Fix completions menu flashes on every keystroke in TSX files with emmet (#38320)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/37774
Bug in https://github.com/zed-industries/zed/pull/32927
Instead of using trigger characters to clear cached completions items,
now we check if the query is empty to clear it. Turns out Emmet defines
whole [alphanumeric as trigger
characters](https://github.com/olrtg/emmet-language-server/blob/279be108725fb391c167690b697ce154fd32657b/index.ts#L116)
which causes flickering.
Clear on trigger characters was introduced to get rid of cached
completions like in the case of "Parent.Foo.Bar", where "." is one of
the trigger characters. This works still since "." is not part of
`completion_query_characters` and hence we use it as a boundary while
building the current query. i.e in this case, the query would be empty
after typing ".", clearing cached completions.
Release Notes:
- Fixed issue where completions menu flashed on every keystroke in TSX
files with emmet extension installed.
This PR adds an option to open WSL machines from the UI.
- [x] Open wsl from open remote
- [ ] Open local folder in wsl action
- [ ] Open wsl shortcut (shortcuts to open remote)
Release Notes:
- N/A
localcc
created
c5ac1e6
editor: Fix `select_larget_syntax_node` overflowing in multibuffers (#38308)
The crash occured because we raced against the platform windowing
backend to render a frame, and if we lost the race there would be no
frame on a window that we return, which breaks most of gpui
Release Notes:
- N/A
localcc
created
a2de918
agent_ui: Fix panic on editor changes in inline_assistant (#38303)
5d561aa
agent_ui: Fix agent panel insertion to use cursor position (#38253)
Click to expand commit body
Fix agent panel insertion to use cursor position
Closes #38216
Release Notes:
- Fixed agent panel text insertion to respect cursor position instead of
always appending to the end
## Before
[before.webm](https://github.com/user-attachments/assets/684d3cbe-4710-4724-8d2d-ac08f430dea8)
## After
[output.webm](https://github.com/user-attachments/assets/d1122d99-4efb-4a24-a408-db128814f98c)
Kyrilasa
created
4ee2dae
markdown: Fix indented codeblocks having incorrect content ranges (#38225)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/37743
Release Notes:
- Fixed agent panel panicking when streaming indented codeblocks from
agent output
Lukas Wirth
created
c27d8e0
editor: Don't pull diagnostics on excerpts change in diagnostics editors (#38212)
Click to expand commit body
This can lead to an infinite regress when using a language server that
supports pull diagnostics, since the excerpts for the diagnostics editor
are set based on the project's diagnostics.
Closes #36772
Release Notes:
- Fixed a bug that could cause duplicated diagnostics with some language
servers.