5c5fb97
Handle setting git blame delay to 0 (#10626)
Click to expand commit body
Release Notes: - N/A
Thorsten Ball created
5c5fb97
Handle setting git blame delay to 0 (#10626)
Release Notes: - N/A
Thorsten Ball created
7928095
chore: parse cli args just once in zed crate (#10613)
Release Notes: - N/A
Piotr Osiewicz created
70c3ca4
Fix toggling of inline git blame when it's delayed (#10620)
Release Notes: - N/A
Thorsten Ball created
d49271a
Use project search action with the default keybinding in app menus (#10618)
Fixes https://github.com/zed-industries/zed/issues/10611 Zed has `workspace::NewSearch` (without a default keybinding) and `workspace::DeploySearch` (with the default keybinding for its `DeploySearch::find()` form). Use the one with the keybinding, as it's the whole point of the menu. Release Notes: - Fixed "Find In Project" app menu item having no keybinding ([10611](https://github.com/zed-industries/zed/issues/10611))
Kirill Bulatov created
e34c443
lsp: Do not set error/result fields if they're missing. (#10610)
We were previously not conforming to LSP spec, as we were setting **both** result field and error field on response fields, which could confuse servers. Excerpt from the spec: > * The result of a request. This member is REQUIRED on success. > * This member MUST NOT exist if there was an error invoking the method. Fixes #10595 Release Notes: - N/A
Piotr Osiewicz created
2630230
Show Zoom In/Out shortcuts in the labels (#10604)
Based on https://github.com/zed-industries/zed/discussions/10599 Does the same as the assistant tab with the Zoom In/Out labels.  Release Notes: - Adjusted Zoom In/Out for Pane and Terminal Pane to show keybinding labels
Kirill Bulatov created
7e1a184
Fix Markdown code rendering in tooltips ignoring languages (#10607)
Some code blocks that are returned in tooltips (returned by language
servers, for example) use the language file extension as the language in
the the triple-backtick code blocks.
Example:
```rs
fn rust_code() {}
```
```cpp
fn rust_code() {}
```
Before this change we only looked up the language with the
`rs`/`cpp`/... being interpreted as the language name. Now we also treat
it as a possible file extension.
Release Notes:
- Fixed Markdown code blocks in tooltips not having correct language
highlighting.
Before:

After:

Co-authored-by: Bennet <bennetbo@gmx.de>
Thorsten Ball and Bennet created
c834ea7
Fix `---` in Markdown docs not rendered correctly (#10606)
This fixes #10511 by turning off the YAML metadata block rendering in
the Markdown parser.
`clangd` uses `---` as dividers, but our parser interpreted it as a YAML
metadata block, even though it didn't contain any valid YAML.
Example Markdown from `clangd`:
### instance-method `format`
---
→ `void`
Parameters:
- `const int &`
- `const std::tm &`
- `int & dest`
---
```cpp
// In my_formatter_flag
public: void format(const int &, const std::tm &, int &dest)
```
What's between the two `---` is *not* valid YAML. Neovim, too,
interprets these as dividers and renders them as such.
And since we don't handle any possible metadata anyway, we can turn off
the metadata handling, which causes the parser to interpret the `---` as
dividers.
Release Notes:
- Fixed Markdown returned by `clangd` being rendered the wrong way.
([#10511](https://github.com/zed-industries/zed/issues/10511)).
Before:

After:

Co-authored-by: Bennet <bennetbo@gmx.de>
Thorsten Ball and Bennet created
4d8cba2
Fix long git author names/emails overflowing blame tooltip (#10605)
This fixes https://github.com/zed-industries/zed/issues/10581. Release Notes: - N/A Co-authored-by: Bennet <bennetbo@gmx.de>
Thorsten Ball and Bennet created
08aef19
Fix inline blame annotations handling wrapped lines (#10600)
Fixes inline blame not being displayed correctly for soft-wrapped lines. (Can't find the ticket)  Release Notes: - N/A
Thorsten Ball created
2cfb1ff
add a setting to control show/hide terminal button for status bar (#10593)
Release Notes:
- Added a setting to show/hide the terminal button in the status bar:
`{"terminal": {"button": false}}` to hide it. (#10513)
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Hans and Thorsten Ball created
f3192b6
Fix scrollbar marker settings (#10530)
Zed displays scrollbar markers of three types: git diffs, background highlights and diagnostics. At the moment, the "background highlights" markers are displayed for all the supported highlights: - Occurences of the symbol under cursor. - Search results. - Scope boundaries (only works when a symbol is selected). - Active hover popover position. They all use the same color, which leads to confusing results. For instance, in the following case I expect to see markers for the `new_anchor` occurences in lines 43 and 47. But besides them, there're also scope-markers for `ScrollAnchor` initialization block in lines 46 and 49, which makes me think that there're four places where `new_anchor` appears. <img width="740" alt="zed-scrollbar-markers" src="https://github.com/zed-industries/zed/assets/2101250/78700e6b-fdd1-4c2f-beff-e564d8defc13"> Existing settings `selection` and `symbol_selection` in the `scrollbar` section [don't work as expected](https://github.com/zed-industries/zed/pull/10080#discussion_r1552325493), which increases confusion. This PR only leaves two types of bg-highlight-markers and provides dedicated settings for them: - Occurences of the symbol under cursor. Setting: `selected_symbol`, default is `true`. - Search results. Setting: `search_results`, default is `true`. The `selection` and `symbol_selection` settings are not used anymore. Release Notes: - Breaking changes. Settings `selection` and `symbol_selection` in the `scrollbar` section renamed to `search_results` and `selected_symbol` respectively. Fixed the effect of these settings on which markers are displayed on the scrollbar. Optionally, include screenshots / media showcasing your addition that can be included in the release notes. - N/A /cc @mrnugget
Andrew Lygin created
33b9aca
Add a bump patch version workflow (#10588)
I'd like to make it less clunky to release a new patch version of preview/stable. Release Notes: - N/A
Conrad Irwin created
57b087e
On label conflict, prefer resolved tasks with never templates (#10586)
This way, static (and other) templates that change, e.g. env vars, will get the new template resolved task in the modal to run. Release Notes: - N/A
Kirill Bulatov created
2a9ce3c
Handle no active editor available (#10503)
Cleaned up a stray `.unwrap()` Release Notes: - N/A
Kyle Kelley created
f5c2483
Close the backticks in gpui geometry examples (#10579)
I noticed some of the examples in `crates/gpui/src/geometry.rs` were missing ending triple backticks. Release Notes: - N/A
Kyle Kelley created
4d314b2
Increase the context in other multibuffers (#10582)
This moves the diagnostics and find all references to be in line with the search pane. This also centralizes the constant into the editor code base. Release Notes: - Increased diagnostic context to match the project search context.
Mikayla Maki created
7a112b2
dart: Use upstream tree-sitter-dart (#10552)
Update `tree-sitter-dart` to the upstream package, there was an issue building Rust package which is resolved now. Release Notes: - N/A
Abdullah Alsigar created
575eb79
Remove stray word in `CONTRIBUTING.md`
Marshall Bowers created
4f776f9
Don't make -l imply -d in bundle-mac script (#10438)
If you want a debug build, you can easily pass `-ld`. Release Notes: - N/A
Nathan Sobo created
0c77e1c
Disable extension entries when the corresponding dev extension is installed (#10580)
This PR updates the extension list to disable remote entries when the corresponding dev extension is installed. Here is what this looks like: <img width="1189" alt="Screenshot 2024-04-15 at 4 09 45 PM" src="https://github.com/zed-industries/zed/assets/1486634/48bb61d4-bc85-4ca6-b233-716831dfa7d8"> Release Notes: - Disabled extension entries when there is a development copy of that extension installed.
Marshall Bowers created
904b740
More vim-like regexes (#10577)
Fixes: #10539 Release Notes: - vim: Use `\<` `\>` instead of `\b`
Conrad Irwin created
f2fc84a
Revert change to tracing (#10578)
Although we thought this fixed the bug, it just worked around it, and runnign two copies of tracing in one app is a bad idea. Simplify default RUST_LOG in development to avoid https://github.com/tokio-rs/tracing/issues/2927#issuecomment-2040080189 Release Notes: - N/A
Conrad Irwin created
fda3c91
bump libgit2 (#10561)
Although this probably doesn't fix anything by itself, it'll make it easier to fix https://github.com/libgit2/libgit2/issues/6795 Release Notes: - N/A
Conrad Irwin created
3eb8464
wayland: Improve cursor (#10516)
Fixes the cursor not updating when (a) switching windows from another program via a shortcut and (b) when cursor updates were triggered by something other than moving the mouse (e.g. when scrolling or pressing a key). Release Notes: - N/A
apricotbucket28 created
58f5749
windows: Remove `last_ime_input` (#10506)
It seems that windows always report IME composition string, so there is no need to store this string manually. Release Notes: - N/A
张小白 created
3e44e97
Install the latest compatible version of an extension when clicking "Install" (#10575)
This PR makes it so clicking "Install" will install the latest compatible version of an extension instead of disabling the button when the latest version is not compatible. The "Upgrade" button will still be disabled when the latest version is not compatible. We will also now display a tooltip to better indicate why the button is disabled: <img width="607" alt="Screenshot 2024-04-15 at 2 41 26 PM" src="https://github.com/zed-industries/zed/assets/1486634/16ad516e-1c0c-4505-b994-158ea655641b"> Related to https://github.com/zed-industries/zed/issues/10509. Release Notes: - Changed the "Install" button for extensions to always install the latest compatible version instead of becoming disabled when the latest version of an extension is incompatible with the current Zed version.
Marshall Bowers created
fda2123
Indicate which extension version is installed when on an older version (#10574)
This PR adds an indicator to show what extension version is currently installed when on an extension version that is not the latest. <img width="1156" alt="Screenshot 2024-04-15 at 2 10 33 PM" src="https://github.com/zed-industries/zed/assets/1486634/61c5e4cf-a0b8-48fc-8e52-f04f1c351794"> Release Notes: - Added an indicator to show the currently-installed extension version when not on the latest version.
Marshall Bowers created
57a736d
Fuse iterator supplied to `SumTree::from_iter` (#10571)
This fixes an issue that could cause `from_iter` to never finish if the underlying iterator restarted after returning `None` for the first time. We only saw this in development but I wanna cherry-pick it to stable and preview, just in case. Release Notes: - N/A Co-authored-by: Kyle <kylek@zed.dev>
Antonio Scandurra and Kyle created
015e2ec
Remove built-in Nu support in favor of extension (#10570)
Release Notes: - Removed built-in Nu language support in favor of an extension. --------- Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld and Marshall created
5037f46
Defer first update active buffer for conversation (#10564)
This fixes when the workspace is not actually available for a `.read(cx)`. Release Notes: - Fix a panic when quoting a selection before the assistant panel has been started Co-authored-by: Conrad Irwin <conrad@zed.dev>
Kyle Kelley and Conrad Irwin created
f28fde5
Move constraints to query parameters for `GET /extensions/:extension_id/download` (#10562)
This PR fixes a bug where the constraints provided when downloading the latest version of an extension were not being read properly. These constraints are passed in the query string, but `collab` was attempting to read them from the path. This should fix https://github.com/zed-industries/zed/issues/10484, once it is deployed. Release Notes: - N/A
Marshall Bowers created
d1928f0
Remove TODO by defining constant (#10556)
Release Notes: - N/A
Thorsten Ball created
ad22bdd
diagnostics: Update diagnostics more eagerly (#10560)
Here comes a lenghty explanation for a short commit: We've had feedback that our diagnostics tab often mismatches what's shown in the status bar. E.g: https://x.com/fasterthanlime/status/1778764747732594753 Let's dive into the lifetime of diagnostic tab first; it is actually spawned *just once per workspace*, the first time you click on the diagnostics status indicator. Even if you close this tab, we still reuse the same object under the hood later on. This has upsides, as it means that you can close a tab and then reopen it with your selections still in-tact and so on. However, this also leads to the perceived staleness. Crucially, the first time ever in a given session that you spawn the diagnostics tab, the status bar counts match the content of a tab. That is because we always call \`update_excerpts\` when we create diagnostics tab for the first time, but later on we have severe constraints on when we want to update the excerpts in diagnostics tab, mostly centered around presence of selections in an editor... but, since we reuse the diagnostic tab object under the hood, we're always gonna have at least one selection in an editor sans the first time you open it. The end result is that in order for diagnostic tab contents to be updated, we have to get a "on-disk-diagnostics-finished" notification from language server, which can take a long time. Another example of this property manifesting itself is that if you fix a diagnostic warning/error, it takes a while for diagnostic tab to reflect it. With this PR, I've afforded a bit of leniency in refreshing the contents of that tab. The old check that discarded updates when diagnostics editor had at least one selection has been updated to instead reject multicursors; this is still overly conservative, as I'm not yet sure how big of an issue is the cursor that's jumping around (as that's what the selections constraint is supposed to prevent). Release Notes: - Fixed diagnostics tab showing outdated entries before the language server is done with it's analysis.
Piotr Osiewicz created
da0d968
zig: Use env if using `zls` from shell env (#10559)
This fixes the problem of the Zig extension picking up `zls` from the shell env but `zls` then failing to launch because it cannot find `zig`. Scenario in which this happens: - `.envrc` in a project that sets `$PATH` up - in that `$PATH` there's `zls` and `zig` - Zed is started from Dock - Project is opened - Shell env from project directory is loaded and used to get to `zls` - `zls` is then started, without that environment set on the process - `zls` cannot find `zig` Release Notes: - N/A Co-authored-by: Marshall <marshall@zed.dev>
Thorsten Ball and Marshall created
200e363
Intersect content mask with hitbox bounds only during hit test (#10554)
This fixes a bug that caused the editor to be rendered incorrectly when its bounds extended outside the content mask. This is because the editor uses the returned `Hitbox` bounds to determine the origin of its elements. With this commit, we will now store a new `content_mask` field within the `Hitbox` struct which is captured when the hitbox is inserted. Then, the content mask is applied on the fly when performing a hit test to determine whether the hitbox is actually hovered. Release Notes: - N/A
Antonio Scandurra created
db48c75
Add basic bash and Python tasks (#10548)
Part of https://github.com/zed-industries/zed/issues/5141 * adds "run selection" and "run file" tasks for bash and Python. * replaces newlines with `\n` symbols in the human-readable task labels * properly escapes task command arguments when spawning the task in terminal Caveats: * bash tasks will always use user's default shell to spawn the selections, but they should rather respect the shebang line even if it's not selected * Python tasks will always use `python3` to spawn its tasks now, as there's no proper mechanism in Zed to deal with different Python executables Release Notes: - Added tasks for bash and Python to execute selections and open files in terminal
Kirill Bulatov created
1911a9f
Add a setting to control the vertical and horizontal scroll sensitivity (#10244)
Some people (like myself) use touchpads for development and I find Zed's default scroll sensitivity to be slower than I like. This change adds a scroll sensitivity multiplier that allows users to customize the speed of their scrolling. Release Notes: - Added a setting under "scroll_sensitivity" that allows user to control the scroll sensitivity. This value acts as a multiplier for the horizontal and vertical scroll speed.
Carter Olsen created
faebce8
Inline git blame (#10398)
This adds so-called "inline git blame" to the editor that, when turned
on, shows `git blame` information about the current line inline:

When the inline information is hovered, a new tooltip appears that
contains more information on the current commit:

The commit message in this tooltip is rendered as Markdown, is
scrollable and clickable.
The tooltip is now also the tooltip used in the gutter:

## Settings
1. The inline git blame information can be turned on and off via
settings:
```json
{
"git": {
"inline_blame": {
"enabled": true
}
}
}
```
2. Optionally, a delay can be configured. When a delay is set, the
inline blame information will only show up `x milliseconds` after a
cursor movement:
```json
{
"git": {
"inline_blame": {
"enabled": true,
"delay_ms": 600
}
}
}
```
3. It can also be turned on/off for the current buffer with `editor:
toggle git blame inline`.
## To be done in follow-up PRs
- [ ] Add link to pull request in tooltip
- [ ] Add avatars of users if possible
## Release notes
Release Notes:
- Added inline `git blame` information the editor. It can be turned on
in the settings with `{"git": { "inline_blame": "on" } }` for every
buffer or, temporarily for the current buffer, with `editor: toggle git
blame inline`.
Thorsten Ball created
573ba83
Merge Zed task context providing logic (#10544)
Before, `tasks_ui` set most of the context with `SymbolContextProvider` providing the symbol data part of the context. Now, there's a `BasicContextProvider` that forms all standard Zed context and it automatically serves as a base, with no need for other providers like `RustContextProvider` to call it as before. Also, stop adding `SelectedText` task variable into the context for blank text selection. Release Notes: - N/A
Kirill Bulatov created
97c5cff
Update contributing docs to point to extensions (#10537)
This PR updates the contributing docs to remove an outdated section about extension support and instead point to the extension authoring docs. Release Notes: - N/A
Marshall Bowers created
556ecd9
blade: Fix incorrect texture format (#10524)
Fixes image rendering Closes https://github.com/zed-industries/zed/issues/10505 Before:  After:  Release Notes: - N/A
apricotbucket28 created
3289188
linux: Simplify scrolling implementation (#10497)
This PR adjusts our scrolling implementation to delay the generation of ScrollWheel events until we receive a complete frame. Note that our implementation is still a bit off-spec, as we don't delay any other kind of events. But it's been working so far on a variety of compositors and the other events contain complete data; so I'll hold off on that refactor for now. Release Notes: - N/A
Mikayla Maki created
5e4f707
Change authors of lua extension
Max Brunsfeld created
5d7642d
Update netrw bindings for preview panes (#10492)
Release Notes: - N/A
Conrad Irwin created
e64ecdc
Add missing block.copy() (#10496)
https://crates.io/crates/block implies this is necessary, and we're still seeing segfaults in this method, so... Release Notes: - Fixed a panic when installing the CLI / registering for the zed:// protocol
Conrad Irwin created
ba9c592
Fix emojis when rendering with the system ui font (#10491)
Release Notes: - N/A
Conrad Irwin created
ad8dd17
lua: Fix extension version (#10490)
This PR fixes the Lua extension version to be v0.0.1 instead of v0.1.0 for the initial release. Release Notes: - N/A
Marshall Bowers created
cb6d063
Windows: Fix crash when trying to copy nothing to clipboard (#10405)
Release Notes: - N/A
usr created
065f15e
Use buffer font when rendering editor breadcrumbs and diagnostics (#10488)
Before: <img width="592" alt="Screenshot 2024-04-12 at 12 00 00 PM" src="https://github.com/zed-industries/zed/assets/2280405/3251743e-4f2c-4ca3-9bc5-88f37660f7b9"> After: <img width="673" alt="Screenshot 2024-04-12 at 12 11 37 PM" src="https://github.com/zed-industries/zed/assets/2280405/6a8ac597-261a-45d9-bf2a-a673b6f26b0e"> Release Notes: - N/A
Mikayla Maki created