This PR adds support for displaying file icons in tabs.
The `tabs.file_icons` setting controls whether the icons are displayed:
```json
{
"tabs": {
"file_icons": false
}
}
```
This setting defaults to `true`.
<img width="1566" alt="Screenshot 2024-07-15 at 6 17 26 PM"
src="https://github.com/user-attachments/assets/86dfc8c9-764c-453d-95e4-2ec95d6fe715">
<img width="1566" alt="Screenshot 2024-07-15 at 6 24 26 PM"
src="https://github.com/user-attachments/assets/4b4e8489-49d3-41bf-b4cb-59365bdd3e9d">
Release Notes:
- Added file icons to buffer tabs
([#12138](https://github.com/zed-industries/zed/issues/12138)).
- If desired, these icons can be removed using `"tabs": { "file_icons":
false }`.
Marshall Bowers
created
2ae1a47
Upsell built-in features on the extensions page (#14516)
Click to expand commit body
This PR extends the extensions page with support for upselling built-in
Zed features when certain keywords are searched for.
This should help inform users about features that Zed has out-of-the-box
when they go looking for them as extensions.
For example, when someone searches "vim":
<img width="1341" alt="Screenshot 2024-07-15 at 4 58 44 PM"
src="https://github.com/user-attachments/assets/b256d07a-559a-43c2-b491-3eca5bff436e">
Here are more examples of what the upsells can look like:
<img width="1341" alt="Screenshot 2024-07-15 at 4 54 39 PM"
src="https://github.com/user-attachments/assets/1f453132-ac14-4884-afc4-7c12db47ad1d">
Release Notes:
- Added banners for built-in Zed features when corresponding keywords
are used in the extension search.
Marshall Bowers
created
d7a25c1
Add an experimental, WIP diagnostics grouping panel (#14515)
Click to expand commit body
Provide a current, broken state as an experimental way to browse
diagnostics.
The diagnostics are grouped by lines and reduced into a block that, in
case of multiple diagnostics per line, could be toggled back and forth
to show more diagnostics on the line.
Use `grouped_diagnostics::Deploy` to show the panel.
Issues remaining:
* panic on warnings toggle due to incorrect excerpt manipulation
* badly styled blocks
* no key bindings to navigate between blocks and toggle them
* overall odd usability gains for certain groups of people
Due to all above, the thing is feature-gated and not exposed to regular
people.
Release Notes:
- N/A
Kirill Bulatov
created
2c6cb4e
Fix Cmd+\ for workspace::ToggleLeftDock for Atom base keymap (#14098)
Click to expand commit body
Release Notes:
- Fixed Left Dock in Atom keymap on Mac/Linux (`cmd-\`, `ctrl-\`)
([#14098](https://github.com/zed-industries/zed/pull/14098), thanks [@audionerd](https://github.com/audionerd)).
---------
Co-authored-by: Peter Tripp <peter@zed.dev>
This PR extracts a separate `border_style_methods` macro so that it can
be used independently from `style_helpers!`.
Release Notes:
- N/A
Marshall Bowers
created
fa3d290
Add REPL dropdown menu to toolbar (#14493)
Click to expand commit body
TODO:
- [x] Actions run from menu not firing
- [x] Menu differentiates idle and busy for running kernel
Menu States:
- [x] No session && no support known
No session && no kernel installed for languages of known support
- (TODO after) Intro to REPL
- [x] Link to docs
No session but can start one
- [x] Start REPL
- (TODO after) More info -> Docs?
Yes Session
- [x] Info: Kernel name, language
example: chatlab-3.7-adsf87fsa (Python)
example: condapy-3.7 (Python)
- [x] Change Kernel -> https://zed.dev/docs/repl#change-kernel
- ---
- [x] Run
- [x] Interrupt
- [x] Clear Outputs
- ---
- [x] Shutdown
(Release notes left empty as the change will be documented in the REPL
release!)
Reserved for a follow on PR:
```
- [ ] Status should update when the menu is open (missing `cx.notify`?)
- [ ] Shutdown all kernels action
- [ ] Restart action
- [ ] [Default kernel changed - restart (this kernel) to apply] // todo!(kyle): need some kind of state thing that says if this has happened
```
Release Notes:
- N/A
---------
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Co-authored-by: Kyle Kelley <rgbkrk@gmail.com>
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Nate Butler
,
Marshall Bowers
,
Kyle Kelley
, and
Piotr Osiewicz
created
1856320
Add mouse handling to gpui input example (#14350)
Click to expand commit body
Release Notes:
- N/A
---------
Co-authored-by: Jason Lee <huacnlee@gmail.com>
Conrad Irwin
and
Jason Lee
created
b58abb1
linux: Hide Install CLI from welcome (#14506)
Click to expand commit body
Release Notes:
- linux: Remove "Install CLI" from welcome, it is not necessary
Release Notes:
- linux: Fixed opening urls/directories on systems where the xdg desktop
portal doesn't handle those requests.
Conrad Irwin
created
0b0de8c
Display hint to add PATH for Fish shell too (#14504)
Click to expand commit body
tested on `fish 3.7.1 (released March 19, 2024)`
___
Release Notes:
- N/A
makeProjectGreatAgain
created
f3ddd18
linux: Show warning if file picker portal is missing (#14401)
Click to expand commit body
This PR adds a warning when the file chooser couldn't be opened on Linux
It's quite confusing when trying to open a file and apparently nothing
happens:
fixes https://github.com/zed-industries/zed/issues/11089,
https://github.com/zed-industries/zed/issues/14328,
https://github.com/zed-industries/zed/issues/13753#issuecomment-2225812703,
https://github.com/zed-industries/zed/issues/13766,
https://github.com/zed-industries/zed/issues/14384,
https://github.com/zed-industries/zed/issues/14353,
https://github.com/zed-industries/zed/issues/9209

Release Notes:
- N/A
apricotbucket28
created
5d860e2
Fix selectable popover dismissing on key press (#14368)
Click to expand commit body
Release Notes:
- Fixed dismissal bug included in #12918
Ephram
created
e26dbe2
Add linux Zed log location to crash report github issue template (#14373)
Click to expand commit body
Release Notes:
- N/A
Peter Tripp
created
3c38be5
Add keyboard shortcuts to center scrolling around current line (#14385)
Click to expand commit body
- MacOS: Center the cursor in the visible area. `ctrl-l` (matches MacOS)
- Linux JetBrains: Scroll so cursor is at the Middle `ctrl-m`
- `editor::NextScreen` is not longer bound in any keymap by default (was
`ctrl-l` on MacOS)
Fixes #5247
Peter Tripp
created
e50811c
Adjust list item & pickers spacing (#14250)
Danilo Leal
created
c1aa4d9
rust: Expose import names in completions for modules and functions (#14490)
Click to expand commit body
Release Notes:
- Improved accuracy of completion lists for Rust functions and modules.
98b95d9
Introduce `/symbols` command in assistant panel (#14360)
Click to expand commit body
Release Notes:
- Added `/symbols` command in assistant panel.
---------
Co-authored-by: Antonio <antonio@zed.dev>
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Nathan <nathan@zed.dev>
Max Brunsfeld
,
Antonio
,
Antonio Scandurra
, and
Nathan
created
decdd3b
Introduce following for assistant panel (#14479)
Click to expand commit body
Release Notes:
- Added support for following into the assistant panel.
---------
Co-authored-by: Max <max@zed.dev>
Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
Co-authored-by: Nathan <nathan@zed.dev>
Antonio Scandurra
,
Max
,
Max Brunsfeld
, and
Nathan
created
977a1b7
Support dynamic formatting capabilities [un]registration (#14478)
This PR provides a similar implementation to the macOS clipboard
implementation, adds support for metadata and includes tests.
Release Notes:
- N/A
张小白
created
ba09eab
windows: Make window creation failable (#14395)
Click to expand commit body
Release Notes:
- N/A
张小白
created
70d983a
Include stable package in docs, mention UM, and link to sources for the Fedora package (#14432)
Click to expand commit body
Hello, I'm one of the maintainers of the Zed package on Terra. I made
the following changes:
- Mention the Terra stable package, instead of only preview and nightly.
- Link to sources for Terra packages instead of pkgs.org.
- Mention Ultramarine in addition to Fedora (one of Terra's targets).
Release Notes:
- N/A
lea
created
4a3097d
x11: Fix capitalization with neo 2 (#14466)
Click to expand commit body
Fixed #14282
Release Notes:
- N/A
Fernando Tagawa
created
59ce353
Turn off `use_on_type_format` too, for languages that have `format_on_save` disabled (#14413)
Click to expand commit body
Based on the discussion in
https://github.com/zed-industries/zed/issues/14400
Release Notes:
- N/A
Kirill Bulatov
created
f8b5e42
Do not send `textDocument/didSave` message if server does not declare its support (#14412)
Do not require the `prettier` dependency name to be in package.json's
[dev]Dependencies, instead just checking the `node_modules` contents.
Release Notes:
- Improved `prettier` detection to pick up its installation from
transitive dependencies
([12731](https://github.com/zed-industries/zed/issues/12731)
Currently deno lsp only works because deno have a workaround when it
detects deno.json it gets activated, but without a deno.json it won't
work
With this change now it works correctly regardless of a deno.json
presence, it only require enable:true:
```json
{
"lsp": {
"deno": {
"settings": {
"deno": {
"enable": true
}
}
}
}
}
```
Release Notes:
- Improved initial Deno set-up to enable it without explicit deno.json present in the file system
Bedis Nbiba
created
3a41094
Apply `terminal.foreground` and `terminal.background` from theme (#14281)
Click to expand commit body
Release Notes:
- Fixed terminal colors not respecting the theme
([#11418](https://github.com/zed-industries/zed/discussions/11418)).
Zak Johnson
created
89fbd65
Do not fold excerpts by default in the outline panel (#14378)
Click to expand commit body
Release Notes:
- N/A
Kirill Bulatov
created
9ce989a
Tidy up collab-related signature help data (#14377)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/12909
* Fully preserve LSP data when sending it via collab, and only strip it
on the client.
* Avoid extra custom request handlers, and extend multi LSP server query
protocol instead.
Release Notes:
- N/A
Kirill Bulatov
created
dd63e25
Revert `hold: true` for macOS tasks (#14376)
Click to expand commit body
Otherwise, ctrl-c makes them stuck being held from time to time
Follow-up of https://github.com/zed-industries/zed/pull/13898 that
reverts the macOS-related part of the PR.
Release Notes:
- N/A
Kirill Bulatov
created
489077b
Extract a BufferStore object from Project (#14037)
Click to expand commit body
This is a ~small~ pure refactor that's a step toward SSH remoting. I've
extracted the Project's buffer state management into a smaller, separate
struct called `BufferStore`, currently in the same crate. I did this as
a separate PR to reduce conflicts between main and `remoting-over-ssh`.
The idea is to make use of this struct (and other smaller structs that
make up `Project`) in a dedicated, simpler `HeadlessProject` type that
we will use in the SSH server to model the remote end of a project. With
this approach, as we develop the headless project, we can avoid adding
more conditional logic to `Project` itself (which is already very
complex), and actually make `Project` a bit smaller by extracting out
helper objects.
Release Notes:
- N/A
Release Notes:
- Added support for pyright workspace configuration, as described in
https://microsoft.github.io/pyright/#/settings .
FilipeBisinella
created
3deb000
assistant: Add basic glob support for expanding items in `/docs` (#14370)
Click to expand commit body
This PR updates the `/docs` slash command with basic globbing support
for expanding docs.
A `*` can be added to the item path to signify the end of a prefix
match.
For example:
```
# This will match any documentation items starting with `auk::`.
# In this case, it will pull in the docs for each item in the crate.
/docs docs-rs auk::*
# This will match any documentation items starting with `auk::visitor::`,
# which will pull in docs for the `visitor` module.
/docs docs-rs auk::visitor::*
```
https://github.com/user-attachments/assets/5e1e21f1-241b-483f-9cd1-facc3aa76365
Release Notes:
- N/A
Marshall Bowers
created
fe3fe94
linux: Indicate when the window is focused (#14266)
Click to expand commit body
fixes #14202
Release Notes:
- Added a representation of the current focus state to Zed's window
style ([#14202](https://github.com/zed-industries/zed/issues/14202))
Mikayla Maki
created
11178ea
Fix diagnostic popover not overflowing when necessary (#14322)
Click to expand commit body
It was broken after #13996 moved rendering text one level deeper,
causing `max_h` and `overflow_y_scroll` to apply to different widgets
Release Notes:
- Fixed large diagnostic popovers not overflowing when nessesary
Before:
<img width="814" alt="Screenshot 2024-07-12 at 15 25 46"
src="https://github.com/user-attachments/assets/4f615600-2857-4470-8b77-864e3a9e38d5">
After:
<img width="813" alt="Screenshot 2024-07-12 at 15 26 10"
src="https://github.com/user-attachments/assets/83c1f344-b3b1-4929-8197-4b24a0e9c65e">
Stanislav Alekseev
created
59bc027
Fix direnv option being named direnv and not load_direnv in the docs (#14309)
Click to expand commit body
This is a quick followup to #13902 that fixes a mistake with the setting
naming in the docs, I accidentally made
Release Notes:
- N/A
Stanislav Alekseev
created
0a718c6
windows: Return client size and position from `window_bounds` (#14228)
Click to expand commit body
This is a follow up of #14218 , since we open the window based on the
size of the client area, `window_bounds` should also return the size of
the client area to maintain consistency.
Release Notes:
- N/A
张小白
created
85d77a3
Clarify `/docs` error message when `target/doc` does not exist (#14364)
Click to expand commit body
This PR improves the error message shown by the `/docs` slash command
when indexing fails due to the absence of `target/doc`.
We now distinguish between the overall `target/doc` directory missing
and an individual crate directory missing beneath it.
Release Notes:
- N/A
Marshall Bowers
created
ca80343
assistant: Add docs provider for `docs.rs` (#14356)
Click to expand commit body
This PR adds an indexed docs provider for retrieving docs from `docs.rs`
using the `/docs` slash command.
Release Notes:
- N/A
ea26a01
Do not render a signature popover when its location is before the visible range (#14307)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/12909
Release Notes:
- N/A
Kirill Bulatov
created
8abc000
Fix nushell local env detection by using direnv export (#13902)
Click to expand commit body
I don't intend fully on getting this merged, this is just an experiment
on using `direnv` directly without relying on shell-specific behaviours.
It works though, so this finally closes #8633
Release Notes:
- Fixed nushell not picking up `direnv` environments by directly
interfacing with it using `direnv export`
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>