6afb36f
Reorganize the context menu a bit (#16773)
Click to expand commit body
Follow up to #16080
The idea is that the current context menu became a bit top-heavy over
time. Let's reorganisze it into four sections:
1. Finding symbols
2. Editing using lsp and similar
3. Copy/Cut/Paste
4. Getting file location
Release Notes:
- Reorganized context menu to be a bit less top heavy and have more
logical parts
Before (a giant part on top and two small ones on the bottom):
<img width="248" alt="Screenshot 2024-08-23 at 21 02 33"
src="https://github.com/user-attachments/assets/87a136c7-df16-4032-ba02-dea087fd8445">
After (much more balanced):
<img width="250" alt="Screenshot 2024-08-23 at 21 01 28"
src="https://github.com/user-attachments/assets/4aa48b8a-99f3-4315-b325-625a47ecd5b8">
f417893
Avoid unwrap of Worktree::root_entry in resolve_path_in_worktrees (#16917)
Click to expand commit body
It looks like this unwrap was introduced in
https://github.com/zed-industries/zed/pull/16534.
I think a worktree's `root_entry` can be null if it represents a
non-existent file that has not yet been saved. I hit a panic due to the
`unwrap` a couple of times on nightly.
Release Notes:
- N/A
Co-Authored-By: Max <max@zed.dev>
Release Notes:
- ssh remoting: add project search
---------
Co-authored-by: Max <max@zed.dev>
Conrad Irwin
and
Max
created
0332eaf
Remove reference to Copilot plugin (#16916)
Peter Tripp
created
c2835df
Improve buffers used by Zed for discoverability/visibility (#16906)
Click to expand commit body
- Fixed Telemetry log being marked dirty.
- Fixed asset buffers (default settings and default keymap) showing 'untitled' in breadcrumbs
Peter Tripp
created
93a7682
collab: Count active users based on the tokens per minute measure (#16911)
Click to expand commit body
This PR fixes an issue where active user counts were being computed
across _all_ measures instead of the per-minute measures.
We now compute them using the tokens per minute measure, as we're
concerned with usage in recent minutes.
Release Notes:
- N/A
Marshall Bowers
created
3ddec48
Remove block step from delete comments workflow (#16910)
Click to expand commit body
The block step wasn't working, and it also appears that most of these
spam comments are coming from compromised accounts, so I think just
deleting the comments is okay for now.
Release Notes:
- N/A
jvmncs
created
e2635a6
Add command to copy current file:line for working with external tools (#14793)
Click to expand commit body
Closes #14787.
I made a quick draft implementation of this feature request:
https://github.com/zed-industries/zed/issues/14787
I know how to use use gdb well, so lacking a built-in debugger is OK.
BUT... Speaking personally, setting breakpoints is 50% of what I want an
IDE to do for me when debugging. Having a feature where I can click,
copy, "b [paste]", is a huge step up from typing the whole thing in
manually. I figure this must be useful for other external tools, or even
just regular-human-communication too.
Open Questions:
* Does this belong in the right click menu? (I put it next to "Copy
Permalink" which is similar.)
* Probably not useful enough to get a default keymap?
* Relative vs absolute path?
* Does this need tests?
Release Notes:
- Added `editor: copy file location` command to copy the current file
location (FILE:LINE) to the clipboard
([#14787](https://github.com/zed-industries/zed/issues/14787)).
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Scott Lembcke
and
Marshall Bowers
created
14d0f4f
ruby: Upgrade `zed_extension_api` to v0.1.0 (#16907)
Click to expand commit body
This pull request upgrades the Ruby extension to use v0.1.0 of the Zed
extension API.
Release Notes:
- N/A
Vitaly Slobodin
created
eb0a01e
Relax comment restrictions in delete_comments action (#16899)
Click to expand commit body
The script no longer triggers on harmless words like "Download".
Release Notes:
- N/A
jvmncs
created
635e7f6
docs: Remove reference to nonexistent vim key binding (#16884)
Click to expand commit body
That line was accidentally introduced in
https://github.com/zed-industries/zed/pull/12789.
Release Notes:
- N/A
This PR installs the development packages for `xkbcommon` and
`xkbcommon-x11` that are needed for building the `docs_preprocessor`.
Release Notes:
- N/A
Marshall Bowers
created
4c7c8b0
ruby: Update tree-sitter grammar for the Ruby language (#16892)
Click to expand commit body
Closes [#7776](https://github.com/zed-industries/zed/issues/7776)
Hi, this pull request updates the tree-sitter grammar for the Ruby
language.
The changes between two version do not have any breaking change:
https://github.com/tree-sitter/tree-sitter-ruby/compare/dc2d7d6b50f9975bc3c35bbec0ba11b2617b736b..7dbc1e2d0e2d752577655881f73b4573f3fe85d4
Release Notes:
- N/A
Vitaly Slobodin
created
5f6726a
ruby: Rename "rbs" language to "RBS" (#16893)
Click to expand commit body
Rename rbs to RBS. This is primarily a UX change, as the proper name for
the Ruby Type Signature language is RBS, not rbs.
Screenshots:
Before:

After:

Release Notes:
- N/A
Vitaly Slobodin
created
2f08a0a
Fix fifo files hanging the project wide search (#16039)
Click to expand commit body
Release Notes:
- Fixed the issue related to the project wide search being stuck when
project contains .fifo files
- Might potentially solve the following issue
https://github.com/zed-industries/zed/issues/7360
TheCub3
created
aaddb73
assistant: Refesh message headers only for dirty messages (#16881)
Click to expand commit body
We've noticed performance issues in long conversations with assistants;
the profiles pointed to slowiness in WrapMap (and indeed there were some
low hanging fruits that we picked up in
https://github.com/zed-industries/zed/pull/16761). That however did not
fully resolve the issue, as WrapMap still cracked through in profiles;
basically, the speedup I've landed has just moved the post elsewhere.
The higher level issue is that we were trying to refresh message headers
for all messages, irrespective of whether they've actually needed to be
updated. This PR fixes that by using `replace_blocks` API where
possible.
Release Notes:
- Improved performance of Assistant Panel with long conversations.
Still trying to work through issues building the docs.
Trying to see if using a simpler Cargo config (that doesn't use `mold`
flags) helps.
Release Notes:
- N/A
Marshall Bowers
created
afe4d8c
yaml: Add single quotes to list of brackets (#16859)
Click to expand commit body
Closes #16854
Release Notes:
- Single quotes are now auto-closable in YAML files
Thorsten Ball
created
73bde39
docs: Set up mold for `docs_preprocessor` (#16888)
Click to expand commit body
This PR sets up `mold` in the GitHub Action for deploying the docs,
since we need it to build `docs_preprocessor` due to the flags we use on
Linux.
Release Notes:
- N/A
Marshall Bowers
created
3b0eb60
Flatten `General` and `Assistant` navigation in docs (#16885)
Click to expand commit body
This PR flattens out the docs nav, so sections like General and
Assistant have a single level of navigation items.
Also renames the `Assistant` page -> `Overview` to be more consistent
with other sections.
| Before | After |
|--------|-------|
| 
| 
|
Release Notes:
- N/A
Nate Butler
created
7a964ff
Don't rely on relative path for docs preprocessor (#16883)
Click to expand commit body
Reapplies #16700 with a corrected command. Now it no longer relies on a
relative path.
Thanks @maxdeviant for the quick help 🙏
Release Notes:
- N/A
Nate Butler
created
a87076e
Add GH action to delete and block malware comments (#16886)
Click to expand commit body
Adds a GitHub action to detect, delete, and block comments linking to
mediafire malware campaign.
Release Notes:
- N/A
jvmncs
created
d67d44f
extension: Add more logging when building extensions (#16794)
Click to expand commit body
This helps debug what steps are taken and where
the compiled extension ended up.
Also remove duplicate "compiling Rust extension" / "compiling rust
extension" text - it's confusing.
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Berkus Decker
and
Marshall Bowers
created
093f131
Add `zed-editor` package and overlay to flake (#16783)
Click to expand commit body
Adds a `zed-editor` package to the flake, along with exported overlay.
Uses [`crane`](https://crane.dev) to avoid issues with updating
git-sourced dependencies' hashes. Crane will also be useful if we want
to export separate packages for `stable`, `preview`, and `nightly` in
the future.
Release Notes:
- Added a default package + overlay to Zed's Nix flake. This is useful
for users wanting to pilot nightly builds of Zed on NixOS.
jvmncs
created
7936fe4
ollama: Support model context_size (num_ctx) >2048 (#16877)
Peter Tripp
created
2a03dde
Revert "Add `docs_preprocessor` crate to support Zed Docs" (#16880)
Click to expand commit body
Temporarily revert #16700 to deal with this error:
`error: manifest path `../crates/docs_preprocessor/Cargo.toml` does not
exist` as it was causing the docs-preprocessor not to run, meaning
unexpanded templates were showing up in the public docs.
Reverts zed-industries/zed#16700
Release Notes:
- N/A
This PR bumps the Elixir extension to v0.0.9.
Changes:
- https://github.com/zed-industries/zed/pull/16819
Release Notes:
- N/A
Marshall Bowers
created
46bb04a
Add `docs_preprocessor` crate to support Zed Docs (#16700)
Click to expand commit body
This PR adds a mdbook preprocessor for supporting Zed's docs.
This initial version adds the following custom commands:
**Keybinding**
`{#kb prefix::action_name}` (e.g. `{#kb zed::OpenSettings}`)
Outputs a keybinding template like `<kbd
class="keybinding">{macos_keybinding}|{linux_keybinding}</kbd>`. This
template is processed on the client side through `mdbook` to show the
correct keybinding for the user's platform.
**Action**
`{#action prefix::action_name}` (e.g. `{#action zed::OpenSettings}`)
For now, simply outputs the action name in a readable manner. (e.g.
zed::OpenSettings -> zed: open settings)
In the future we'll add additional modes for this template, like create
a standard way to render `{action} ({keybinding})`.
## Example Usage
```
To open the assistant panel, toggle the right dock by using the {#action workspace::ToggleRightDock} action in the command palette or by using the
{#kb workspace::ToggleRightDock} shortcut.
```
Release Notes:
- N/A
Nate Butler
created
5ee4c03
assistant: Normalize line endings for prompts loaded from templates (#16808)
Click to expand commit body
Closes #16804
Similar to #15708, when reading prompts from a template, both Windows
and Linux might end up with `CRLF (\r\n)` line endings, which can result
in a panic.
Release Notes:
- N/A
张小白
created
a28700a
theme: Fallback to opaque color for `title_bar.inactive_background` (#16833)
Click to expand commit body
Fixes https://github.com/zed-industries/zed/issues/16699, fixes
https://github.com/zed-industries/zed/issues/15112, fixes
https://github.com/zed-industries/zed/issues/14955
| Before | After |
|--------|--------|
|

|

|
Release Notes:
- Linux: Fixed title bar becoming transparent when the window lost
focus.
* Linux Clippy lints fixed
* Zed local tasks are now simpler to rerun
* Zed's `release-fast` build profile keeps the debug info so it's
possible to properly debug things without altering the sources
Release Notes:
- N/A
Kirill Bulatov
created
1a2a538
Improve Linux terminal keymap and context menu (#16845)
Click to expand commit body
Follow-up https://github.com/zed-industries/zed/pull/16085 that fixes
the search deploy to be actually a part of the terminal-related
bindings.
Part of https://github.com/zed-industries/zed/issues/16839
Also
* fixes few other bindings to use `shift` and avoid conflicts with the
existing key bindings.
* adds terminal inline assist to the context menu and makes both the
menu and the button to dynamically adjust to `assist.enabled` settings
change
It is still unclear to me, why certain labels for certain bindings are
wrong (it's still showing `ctrl-w` for closing the terminal tab, and
`shift-insert` instead of `ctrl-shift-v` for Paste, while Insert is near
and has a `ctrl-shift-c` binding shown) but at least the keys work now.
Release notes:
- Improved Linux terminal keymap and context menu
Kirill Bulatov
created
28271a9
Display buffer/project search entries in the outline panel (#16589)
Click to expand commit body
Prototypes a way to display new entities in the outline panel, making it
less outline.
The design is not final and might be adjusted, but the workflow seems to
be solid enough to keep and iron it out.
* Now, when any project search buffer is activated (multi buffer mode),
or buffer search is open (singleton buffer mode, but is available for
search usages multi buffer too — in that case buffer search overrides
multi buffer's contents display), outline panel displays all search
matches instead of the outline items.
Outline items are not displayed at all during those cases, unless the
buffer search is closed, or a new buffer gets opened, of an active
buffer search matches zero items.
https://github.com/user-attachments/assets/4a3e4faa-7f75-4522-96bb-3761872c753a
* For the multi buffer mode, search matches are grouped under
directories and files, same as outline items

* For buffer search , search matches are displayed one under another

For both cases, the entire match line is taken and rendered, with the
hover tooltip showing the line number.
So far it does not look very bad, but I am certain there are bad cases
with long lines and bad indents where it looks not optimal — this part
most probably will be redesigned after some trial.
Or, maybe, it's ok to leave the current state if the horizontal
scrollbar is added?
Clicking the item navigates to the item's position in the editor.
Search item lines are also possible to filter with the outline panel's
filter input.
* Inline panel is now possible to "pin" to track a currently active
editor, to display outlines/search results for that editor even if
another item is activated afterwards:

This is useful in combination with project search results display: now
it's possible to leave the search results pinned in the outline panel
and jump to every search result and back.
If the item the panel was pinned to gets closed, the panel gets back to
its regular state, showing outlines/search results for a currently
active editor.
Release Notes:
- Added a way to display buffer/project search entries in the outline
panel
Kirill Bulatov
created
dd8d52f
elixir: Make files required by elixir-ls executable (#16819)
Click to expand commit body
Closes:
- #15802
This PR fixes an issue in the `elixir-ls` language server installation
where some of the required scripts was not being made executable when
installed from GitHub.
Release Notes:
- Fixed elixir-rs files not being executable ([#15802](https://github.com/zed-industries/zed/issues/15802))
Kai
created
5e55d55
language: Do not fetch diagnostics when iterating over text without language awareness (#16824)
Click to expand commit body
This PR fixes a regression from
https://github.com/zed-industries/zed/pull/15646 where we've started
fetching diagnostic spans unconditionally (whereas previously that
wasn't done when iterating over raw text).
Closes #16764
Release Notes:
- Fixed performance regression in handling buffers with large quantities
of diagnostics.
Piotr Osiewicz
created
14f8d3a
gpui: Send correct kill signal on Linux (#16797)
Click to expand commit body
should be kill -0 (zero) instead
Related to #14291 and #14310
Release Notes:
- N/A
340662e
collab: Add lifetime spending limit for LLM usage (#16780)
Click to expand commit body
This PR adds a lifetime spending limit on LLM usage.
Exceeding this limit will prevent further use of the Zed LLM provider.
Currently the cap is $1,000.
Release Notes:
- N/A
Marshall Bowers
created
77bb60f
Add default terminal binding for buffer search on Linux (#16085)
Click to expand commit body
Release Notes:
- N/A
Vitor Ramos
created
352c95c
Add injections for GraphQL template literals and function calls (#16368)
Click to expand commit body
This PR adds syntax highlighting support for `gql` and `graphql` tagged
literals. It also adds highlighting for `graphql()` and `gql()` function
calls, which are another common way to define queries.
Note: I am using the
[`graphql`](https://github.com/11bit/zed-extension-graphql) extension to
provide syntax highlighting
Before:
<img width="413" alt="image"
src="https://github.com/user-attachments/assets/114a98be-9790-4cdf-ba98-553f777ff08a">
After:
<img width="418" alt="image"
src="https://github.com/user-attachments/assets/98fc5dfd-d1a3-45c4-be8e-063cf68b6e6e">
Release Notes:
- Added syntax highlighting for `graphql` tagged template literals and
function calls in javascript, typescript and tsx languages.
Affan Shahid
created
938d93a
gpui: Add `truncate` and `text_ellipsis` to TextStyle (#14850)
12dda5f
Add `Format Buffer` action to mouse context menu (#16080)
Click to expand commit body
Closes #15891
Release Notes:
- Added "Format Buffer" action to the right-click menu within a buffer.
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Ihnat
and
Marshall Bowers
created
783cccf
WIP: Improve performance of Wrap Map (#16761)
Click to expand commit body
We've ran into performance issues when reinserting new blocks into the
assistant panel; in profiles WrapMap showed up, as we try to query wrap
boundaries over and over, which is a hidden O(n^2) - for each block, we
may potentially look at all of the Wraps. This PR alleviates this issue
by storing away previously resolved wrap range; consecutive iterations
can often reuse it.
This should help with performance of Assistant Panel with long
conversations.
Release Notes:
- Improved performance of assistant panel with large # of text.
Piotr Osiewicz
created
30a677e
theme: Change autocomplete value for `*_font_fallbacks` (#16759)
Click to expand commit body
This PR follows up #16466, changes the default value used when
autocompleting the `ui_font_fallbacks` and `ui_font_fallbacks` settings
from `null` to `[]`.
Special thanks to @maxdeviant for the guidance on writing better code!
Release Notes:
- N/A
张小白
created
a2dee8c
Add some permalinks to linux packaging docs (#16756)
Click to expand commit body
Release Notes:
- N/A
jvmncs
created
935cf54
Fix impersonation in local development (#16755)
Click to expand commit body
This PR fixes impersonation in local development by fetching the user
from the GitHub API so we can get their `github_user_id`.
The `github_user_id` is now required after #16704.
Since this is just a development flow, we're fetching the user on the
client as opposed to making changes on the server.
This request uses the `GITHUB_TOKEN` environment variable for
authentication, if it exists, or will make an unauthenticated GitHub API
request.
Release Notes:
- N/A
Marshall Bowers
created
5e869da
Fix ctrl-d/u issues with scroll_beyond_last_line off (#15395)
Click to expand commit body
Closes #15356
Release Notes:
- vim: Fixed issues with `ctrl-d`/`ctrl-u` when
`scroll_beyond_last_line` is set to `off`
([#15356](https://github.com/zed-industries/zed/issues/15356)).
https://github.com/user-attachments/assets/d3166393-4a4e-4195-9db6-3ff1d4aeec78
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Kevin Sweet
and
Marshall Bowers
created
518dd3e
activity indicator: Do not show indicators background when there's no state (#16737)
Click to expand commit body
Found by @SomeoneToIgnore :

Release Notes:
- N/A