5b0fa6e
Hide AI hints on line ends so we can discuss more (#21128)
Click to expand commit body
@bennetbo @as-cii @mrnugget I'm really not liking the hints about AI on
every line. It feels too distracting to me and damaging to the user
experience. I'm wondering if we can hide them and work with design for
other ideas. Or at least talk it through.
Release Notes:
- N/A
Nathan Sobo
created
e85848a
pylsp: Prefer version from user venv (#21069)
Click to expand commit body
Closes #ISSUE
Release Notes:
- pylsp will now use version installed in user venv, if one is
available.
Piotr Osiewicz
created
20bffaf
python: Highlight docstrings for classes and modules (#20486)
Click to expand commit body
Release Notes:
- Add `string.doc` python syntax highlighting to class and module-level
docstrings.
Previously, only docstrings inside python functions were labeled as
`string.doc`, but docstrings can exist at the class or module level too.
This adds the more specific string type for each of those.
*Before*:
<img width="288" alt="image"
src="https://github.com/user-attachments/assets/5a6c4c9d-709c-40e2-8316-31c95084a1a9">
*After*:
<img width="294" alt="image"
src="https://github.com/user-attachments/assets/8212bfa2-2288-4623-aa63-f748a2295ada">
Carroll Wainwright
created
3dcb94c
Correct more app event inconsistencies (#21129)
Click to expand commit body
- Unify welcome page event type string structure
- Differentiate between metric telemetry event and diagnostic telemetry
event
Release Notes:
- N/A
Joseph T. Lyons
created
0395d1b
Clean up app event transformations (#21115)
Click to expand commit body
This needs scrutinized. Detailed breakdown of what events I kept and
threw out here:
https://zed.dev/channel/app-events-17178/notes
I also removed a few fake events and tossed out json properties that
were being inserted for things we don't have logic to track. See PR
review comments below.
I think the only bad data we have are that we were identifying all node,
pnpm, and yarn projects as 'node' in the `project_type` property, so a
few days of lost data there.
Release Notes:
- N/A
Joseph T. Lyons
created
628b96f
assistant2: Sketch in chat editor (#21116)
Click to expand commit body
This PR sketches in the chat editor for `assistant2`.
<img width="1136" alt="Screenshot 2024-11-23 at 1 56 23β―PM"
src="https://github.com/user-attachments/assets/6e979995-c0cf-4a46-8694-fc4a8646336f">
Release Notes:
- N/A
This PR sketches in the toolbar for `assistant2`.
<img width="1136" alt="Screenshot 2024-11-23 at 12 39 49β―PM"
src="https://github.com/user-attachments/assets/ed56fc36-54c8-48d4-8446-6c1f182fcef2">
Release Notes:
- N/A
Marshall Bowers
created
3a04089
Factor out language model selector into its own crate (#21113)
Click to expand commit body
This PR factors the language model selector out into its own
`language_model_selector` crate so that it can be reused in
`assistant2`.
Also renamed it from `ModelSelector` to `LanguageModelSelector` to be a
bit more specific.
Release Notes:
- N/A
This PR breaks ground on a new `assistant2` crate.
In order to see this new version of the assistant, both of the following
must be true:
1. The `assistant2` feature flag is enabled for your user
- It is **not** currently enabled for all staff.
2. You are running a development build of Zed
The intent here is to enable the folks working on `assistant2` to
incrementally land work onto `main` without breaking use of the current
Assistant for anyone.
<img width="1136" alt="Screenshot 2024-11-23 at 10 46 08β―AM"
src="https://github.com/user-attachments/assets/5723a13f-5be1-4486-9460-ead7329ba78e">
Release Notes:
- N/A
Marshall Bowers
created
f30de48
docs: Proto Language is by extension not native (#21096)
Click to expand commit body
Fixes docs to reflect that Protobuf support is via extension.
Comment out references ProtoLS formatter.
Need to test both protols and protobuf-language-server to ensure both work.
Closes https://github.com/zed-industries/zed/issues/21077
* BREAKING: rename `file_finder::OpenMenu` into
`file_finder::ToggleMenu`
* Display the keybinding for menu toggling when the menu is open
* Fix `enter` not working in the menu
Release Notes:
- Fixed enter not working and menu toggle binding not shown in the file
finder menu
This PR overhauls extension registration in order to make it more
modular.
The `extension` crate now contains an `ExtensionHostProxy` that can be
used to register various proxies that the extension host can use to
interact with the rest of the system.
There are now a number of different proxy traits representing the
various pieces of functionality that can be provided by an extension.
The respective crates that provide this functionality can implement
their corresponding proxy trait in order to register a proxy that the
extension host will use to register the bits of functionality provided
by the extension.
Release Notes:
- N/A
Marshall Bowers
created
c9f2c27
Improve error handling and resource cleanup in `linux/x11/window.rs` (#21079)
Click to expand commit body
* Fixes registration of event handler for xinput-2 device changes,
revealed by this improvement.
* Pushes `.unwrap()` panic-ing outwards to callers.
* Includes a description of what the X11 call was doing when a failure
was encountered.
* Fixes a variety of places where the X11 reply wasn't being inspected
for failures.
* Destroys windows on failure during setup. New structure makes it
possible for the caller of `open_window` to carry on despite failures,
and so partially initialized window should be removed (though all calls
I looked at also panic currently).
Considered pushing this through `linux/x11/client.rs` too but figured
it'd be nice to minimize merge conflicts with #20853.
Release Notes:
- N/A
Michael Sloan
created
8240a52
Prevent panels from being resized past the edge of the workspace (#20637)
Click to expand commit body
Closes #20593
Release Notes:
- Fixed a bug where it is possible to get in near-unrecoverable panel
state by resizing the panel past the edge of the workspace.
Co-authored-by: Trace <violet.white.batt@gmail.com>
Mikayla Maki
and
Trace
created
c28f5b1
Allow overrides for json-language-server settings (#20748)
Click to expand commit body
Closes #20739
The JSON LSP adapter now merges user settings with cached settings, and
util::merge_json_value_into pushes array contents from source to target.
Closes https://github.com/zed-industries/zed/issues/13246
Supersedes: https://github.com/zed-industries/zed/pull/16192
I couldn't push to the git fork this user was using, so here's the exact
same PR but with some style nits implemented.
Release Notes:
- Added image rendering to the Markdown preview
---------
Co-authored-by: dovakin0007 <dovakin0007@gmail.com>
Co-authored-by: dovakin0007 <73059450+dovakin0007@users.noreply.github.com>
Mikayla Maki
,
dovakin0007
, and
dovakin0007
created
becc363
Cleanup file_scan_inclusions in default.json (#21073)
Peter Tripp
created
1a0a8a9
Fix picker new_path_prompt throwing "file exists" when saving (#21080)
Click to expand commit body
Fix for getting File exists "os error 17" with `"use_system_path_prompts": false,`
This was reproducible when the first worktree is a non-folder worktree
(e.g. setting.json) so we were trying to create the new file with a path
under ~/.config/zed/settings.json/newfile.ext
Co-authored-by: Conrad Irwin <conrad@zed.dev>
659b1c9
Add the option to hide both the task and command lines in the task output (#20920)
Click to expand commit body
The goal is to be able to hide these lines from a task output:
```sh
β΅ Task `...` finished successfully
β΅ Command: ...
```
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
Hugo Cardante
and
Peter Tripp
created
cb8028c
Use `Extension` trait when registering extension context servers (#21070)
Click to expand commit body
This PR updates the extension context server registration to go through
the `Extension` trait for interacting with extensions rather than going
through the `WasmHost` directly.
Release Notes:
- N/A
This PR adds a function, WindowContext::drop_image, to manually remove a
RenderImage from the sprite atlas. In addition, PlatformAtlas::remove
was added to support this behavior. Previously, there was no way to
request a RenderImage to be removed from the sprite atlas, and since
they are not removed automatically the sprite would remain in video
memory once added until the window was closed. This PR allows a
developer to request the image be dropped from memory manually, however
it does not add automatic removal.
Release Notes:
- N/A
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Co-authored-by: Mikayla Maki <mikayla@zed.dev>
william341
,
Piotr Osiewicz
, and
Mikayla Maki
created
852fb51
Canonicalize paths when opening workspaces (#21039)
Click to expand commit body
Closes #17161
Release Notes:
- Added symlink resolution when opening projects from within Zed.
Previously this only happened within zed's cli, but that broke file
watching on Linux when opening a symlinked directory.
Conrad Irwin
created
d489f96
Don't name `ExtensionLspAdapter` in `ExtensionRegistrationHooks` (#21064)
Click to expand commit body
This PR updates the `ExtensionRegistrationHooks` trait to not name the
`ExtensionLspAdapter` type.
This helps decouple the two.
Release Notes:
- N/A
Marshall Bowers
created
b4659bb
Fix inaccurate Ollama context length for qwen2.5 models (#20933)
Click to expand commit body
Since Ollama/llama.cpp do not currently YARN for context length
extension, the context length is limited to `32768`. This can be
confirmed by the Ollama model card.
See corresponding issue on Ollama repo :
https://github.com/ollama/ollama/issues/6865
Co-authored-by: Patrick Samson <1416027+patricksamson@users.noreply.github.com>
Peter Tripp
and
Patrick Samson
created
d5f2bca
Filter LSP code actions based on the requested kinds (#20847)
Click to expand commit body
I've observed that Zed's implementation of [Code Actions On
Format](https://zed.dev/docs/configuring-zed#code-actions-on-format)
uses the
[CodeActionContext.only](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionContext)
parameter to request specific code action kinds from the server. The
issue is that it does not filter out code actions from the response,
believing that the server will do it.
The [LSP
specification](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#codeActionContext)
says that the client is responsible for filtering out unwanted code
actions:
```js
/**
* Requested kind of actions to return.
*
* Actions not of this kind are filtered out by the client before being
* shown. So servers can omit computing them.
*/
only?: CodeActionKind[];
```
This PR will filter out unwanted code action on the client side.
I have initially encountered this issue because the [ZLS language
server](https://github.com/zigtools/zls) (until
https://github.com/zigtools/zls/pull/2087) does not filter code action
based on `CodeActionContext.only` so Zed runs all received code actions
even if they are explicitly disabled in the `code_actions_on_format`
setting.
Release Notes:
- Fix the `code_actions_on_format` setting when used with a language
server like ZLS
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Techatrix
and
Piotr Osiewicz
created
114c462
Maintain selection on file/dir deletion in project panel (#20577)
Click to expand commit body
Closes #20444
- Focus on next file/dir on deletion.
- Focus on prev file/dir in case where it's last item in worktree.
- Tested when multiple files/dirs are being deleted.
Release Notes:
- Maintain selection on file/dir deletion in project panel.
---------
Co-authored-by: Kirill Bulatov <kirill@zed.dev>
14ea462
Add `fs::MTime` newtype to encourage `!=` instead of `>` (#20830)
Click to expand commit body
See ["mtime comparison considered
harmful"](https://apenwarr.ca/log/20181113) for details of why
comparators other than equality/inequality should not be used with
mtime.
Release Notes:
- N/A
This PR removes the `#[allow(non_snake_case)]` attribute from the `zed`
crate, as it wasn't actually doing anything.
Release Notes:
- N/A
Marshall Bowers
created
e0245b3
Merge `quick_action_bar` into `zed` (#21026)
Click to expand commit body
This PR merges the `quick_action_bar` crate into the `zed` crate.
We weren't really gaining anything by having it be a separate crate, and
it was introducing an additional step in the dependency graph that was
getting in the way.
It's only ~850 LOC, so the impact on the compilation speed of the `zed`
crate itself is negligible.
Release Notes:
- N/A
Marshall Bowers
created
9211e69
Follow-up on #18447: Unintentional deletion during merge-conflicts resolution (#20991)
Click to expand commit body
After #18447 was merged, I reviewed the PR code as usual. During this
review, I realized that some code was unintentionally removed when I was
resolving merge conflicts in #18447.
Sorry!
Release Notes:
- N/A
εΌ ε°η½
created
0663bf2
pylsp: Tweak default user settings (#21025)
Click to expand commit body
I've also looked into not creating temp dirs in project directories and
succeeded at that for Mypy; no dice for rope though, I'll have to send a
patch to pylsp to fix that.
Closes #20646
Release Notes:
- Python: tweaked default pylsp settings to be less noisy (mypy and
pycodestyle are no longer enabled by default).
Piotr Osiewicz
created
9d95da5
welcome: Remove dependency on `theme_selector` (#21024)
Click to expand commit body
This PR removes the dependency on `theme_selector` from `welcome`, as we
can just dispatch the action instead.
Release Notes:
- N/A
Marshall Bowers
created
5ee5a1a
chore: Do not produce universal binaries for our releases (#21014)
Click to expand commit body
Closes #ISSUE
Release Notes:
- We no longer provide universal binaries for our releases on macOS.
Piotr Osiewicz
created
72613b7
Implement RunningKernel trait for native and remote kernels (#20934)
Click to expand commit body
This PR introduces a unified interface for both native and remote
kernels through the `RunningKernel` trait. When either the native kernel
or the remote kernels are started, they return a `Box<dyn
RunningKernel>` to make it easier to work with the session. As a bonus
of this refactor, I've dropped some of the mpsc channels to instead opt
for passing messages directly to `session.route(message)`. There was a
lot of simplification of `Session` by moving responsibilities to
`NativeRunningKernel`.
No release notes yet until this is finalized.
* [x] Detect remote kernelspecs from configured remote servers
* [x] Launch kernel on demand
For now, this allows you to set env vars `JUPYTER_SERVER` and
`JUPYTER_TOKEN` to access a remote server. `JUPYTER_SERVER` should be a
base path like `http://localhost:8888` or
`https://notebooks.gesis.org/binder/jupyter/user/rubydata-binder-w6igpy4l/`
Release Notes:
- N/A
Kyle Kelley
created
f74f670
Fix panics from spawn_local tasks dropped on other threads in remote server (#21022)
Click to expand commit body
Closes #21020
Release Notes:
- Fixed remote server panic of "local task dropped by a thread that
didn't spawn it"
Michael Sloan
created
af34953
extensions_ui: Remove dependency on `theme_selector` (#21023)
Click to expand commit body
This PR removes the dependency on `theme_selector` from `extensions_ui`,
as we can just dispatch the action instead.
Release Notes:
- N/A
Marshall Bowers
created
b102a40
Extract `VimModeSetting` to its own crate (#21019)
Click to expand commit body
This PR extracts the `VimModeSetting` out of the `vim` crate and into
its own `vim_mode_setting` crate.
A number of crates were depending on the entirety of the `vim` crate
just to reference `VimModeSetting`, which was not ideal.
Release Notes:
- N/A
Marshall Bowers
created
790fdcf
collab_ui: Remove dependency on `vcs_menu` (#21016)
Click to expand commit body
This PR removes the `vcs_menu` dependency from `collab_ui`.
We were only depending on this to call `vcs_menu::init`, which isn't
necessary to do here.
Release Notes:
- N/A
Marshall Bowers
created
2868b67
title_bar: Remove dependency on `feedback` (#21013)
Click to expand commit body
This PR removes the `title_bar` crate's dependency on the `feedback`
crate.
The `feedback::GiveFeedback` action now resides at
`zed_actions::feedback::GiveFeedback`.
`title_bar` now no longer depends on `editor` π₯³
Release Notes:
- N/A
Marshall Bowers
created
614b3b9
macos: Add default keybind for ctrl-home / ctrl-end (#21007)
Click to expand commit body
This matches the default behavior on native macos apps.
ctrl-fn-left == ctrl-home == MoveToBeginning
ctrl-fn-right == ctrl-end == MoveToEnd