Nu is a shell language so it should has the `terminal` icon.
Release Notes:
- N/A
<img width="241" alt="Capture d’écran 2024-02-25 à 18 49 43"
src="https://github.com/zed-industries/zed/assets/24520681/0adcd8fd-f5b0-4688-b301-5c49c376c7a0">
This PR introduces a new `command_palette_hooks` crate that contains the
types used to hook into the behavior of the command palette.
The `CommandPaletteFilter` was previously extracted to the `copilot`
crate in #7095, solely because that was the earliest ancestor of the
crates that depended on it.
The `CommandPaletteInterceptor` was still defined in `command_palette`
itself.
Both of these types were consumed by other crates wanting to influence
the behavior of the command palette, but required taking a dependency on
the entire `command_palette` crate in order to gain access to these
hooks.
By moving them out into their own crate, we can improve the compile
order and make crates like `vim` able to begin building sooner without
having to wait for `command_palette` to finish compiling.
Here's a comparison of the compilation graph before and after (ignore
the timings):
#### Before
<img width="332" alt="Screenshot 2024-02-25 at 12 42 29 PM"
src="https://github.com/zed-industries/zed/assets/1486634/a57c662e-fbc2-41ab-9e30-cca17afa6c73">
#### After
<img width="362" alt="Screenshot 2024-02-25 at 12 51 15 PM"
src="https://github.com/zed-industries/zed/assets/1486634/c1a6d29c-b607-4604-8f1b-e5d318bf8849">
Release Notes:
- N/A
Marshall Bowers
created
b299461
Hoist `languages` crate's dependencies to the workspace level (#8394)
Click to expand commit body
This PR hoists all of the dependencies of the `languages` crate to the
workspace level.
Release Notes:
- N/A
This PR does a one-off format of some of our scripts using Prettier.
Release Notes:
- N/A
Marshall Bowers
created
934af6a
recent projects: fix list flashing/empty (#8376)
Click to expand commit body
If the list is large (size > overdraw + available height) the
`all_rendered` check was preventing the list from returning an inferred
size. Theoretically we can now report heights which are actually too
small (because not all items were affected during layout), this can be
manually adjusted using the overdraw parameter. In this case its fine
because the picker is inside a max_height which should never be more
then the overdraw we specify (1000 px), and the list will shrink down
either way when the request_measured_layout callback is called again.
Release Notes:
- Fixed flashing of recent projects list when there were a lot of
projects in the list
([#8364](https://github.com/zed-industries/zed/issues/8364#issuecomment-1962849393)).
Bennet Bo Fenner
created
053b6cc
Rework extension filtering to use a `ToggleButton` (#8387)
Click to expand commit body
This PR reworks the extension filtering to use a `ToggleButton`, since
the filter states are mutually-exclusive.
<img width="1136" alt="Screenshot 2024-02-25 at 10 04 59 AM"
src="https://github.com/zed-industries/zed/assets/1486634/52c621da-201c-42b9-805d-62e3ab66f94b">
Release Notes:
- N/A
Marshall Bowers
created
37a12a3
Fix double menu item separator in "Help" section of app menu (#8351)
Click to expand commit body
I've modified the code at `crates/zed/src/app_menus.rs` as it looks like
there was a typo and instead of one
`MenuItem::separator()` there were two.
It would be something like this:
<img width="1512" alt="Captura de pantalla 2024-02-25 a las 16 12 10"
src="https://github.com/zed-industries/zed/assets/93369643/d35d5b57-247c-4a1f-b65a-a1b68cd302b9">
Hugo Urías
created
633e31a
Allow extensions to be filtered on installed and not installed (#8375)
Click to expand commit body
Partially resolves: https://github.com/zed-industries/zed/issues/7785
Right now, we can engage `Only show installed`, but I've been wanting to
be able to filter down to just uninstalled extensions too, so I can
browse things I don't have. I changed this to have 2 checkboxes,
`Installed` and `Not installed` and both are on by default. You deselect
them to filter down.
<img width="1608" alt="SCR-20240225-etyg"
src="https://github.com/zed-industries/zed/assets/19867440/e2267651-ff86-437b-ba59-89f3d338ea02">
Release Notes:
- Allow extensions list to be filtered down to both installed and not
installed.
This reverts commit d4973846c0f38d8d6dcd4bba9d5d096dec94a073.
Fixes https://github.com/zed-industries/zed/issues/8360 and
https://github.com/zed-industries/zed/issues/8362
Release Notes:
- N/A
Kirill Bulatov
created
83f493b
Clean up deps for file_finder, language_selector, task, rpc, storybook (#8353)
Click to expand commit body
Following-up on #8330
Invocation
```bash
cargo-machete --with-metadata --skip-target-dir --fix
````
There is more stuff to fix, but it chokes on `async-lock`:
```
cargo-machete found the following unused dependencies in /x/Code/zed:
rpc -- /x/Code/zed/crates/rpc/Cargo.toml:
async_lock
prost_build
serde_derive
Error: Dependency async_lock not found
```
Release Notes:
- N/A
Dzmitry Malyshau
created
dbe1f48
ocaml: Small query improvements and fix autoclose brackets (#7769)
Click to expand commit body
Turns out auto-closing words was a bad idea. win**do**w, **struct**ure,
**sig**n and so on
They don't serve any purpose in `config.toml` nor `brackets.scm` at this
point, so I removed them>
Release Notes:
- N/A
This PR removes the unused crates for plugin support.
We're currently exploring Wasm-based extensions, and it's unlikely that
we'll be reusing any of this existing work.
Release Notes:
- N/A
Marshall Bowers
created
35bec98
Clean up dependencies of call,lsp,project,settings,vim,welcome, and workspace (#8330)
Click to expand commit body
Based on the product of
[cargo-machete](https://blog.benj.me/2022/04/27/cargo-machete/):
[dependencies.txt](https://github.com/zed-industries/zed/files/14392213/dependencies.txt)
Release Notes:
- N/A
Fixes
https://github.com/zed-industries/zed/issues/8296#issuecomment-1961957369
Release Notes:
- Fixed a crash that would happen when loading an extension that added a
grammar that was generated using a very old version of Tree-sitter
([#8296](https://github.com/zed-industries/zed/issues/8296)).
---------
Co-authored-by: Conrad <conrad@zed.dev>
Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld
,
Conrad
, and
Marshall
created
16d826a
Show keybindings instead of the action names in the recent project modal
Kirill Bulatov
created
c29ea9b
Allow using context in the `placeholder_text` method
Add an icon from https://www.svgrepo.com/svg/340612/logo-r-script for .r
<img width="1392" alt="307467014-63f68791-9d74-4bd1-8065-3698665f7c15"
src="https://github.com/zed-industries/zed/assets/93369643/ce24615c-6946-479a-8660-663bf83a7dde">
Credits For Image: @moshyfawn
Release Notes:
- Added R logo
Add bun file icon, source from https://bun.sh/press-kit

Release Notes:
- Added a bun file icon
Ngô Quốc Đạt
created
d1b5860
Add plus and dollar sign to terminal paths (#8321)
Click to expand commit body
After fix (file path is now clickable):
<img width="1019" alt="Screenshot 2024-02-23 at 8 59 45 PM"
src="https://github.com/zed-industries/zed/assets/63214891/cbdcb0f5-cd58-436b-9980-f657436f2bc0">
Before fix:
<img width="936" alt="Screenshot 2024-02-23 at 9 15 25 PM"
src="https://github.com/zed-industries/zed/assets/63214891/72d27155-a708-4b8d-a0b6-85d1e9031627">
Release Notes:
- Fixed an issue with terminal paths not allowing links when the path
included `+` or `$` symbols.
([#8256](https://github.com/zed-industries/zed/issues/#8256)).
ba4e169
Rename `ZedHttpClient` for clarity (#8320)
Click to expand commit body
This PR renames the `ZedHttpClient` to `HttpClientWithUrl` to make it
slightly clearer that it still is holding a `dyn HttpClient` as opposed
to being a concrete implementation.
Release Notes:
- N/A
Add an icon from https://graphql.org/brand/ for `.graphql`

Ivan Buryak
created
03b0764
Replace `time_format` license with symlink
Marshall Bowers
created
c59aab5
Adjust labels of buttons in extension list based on status (#8319)
Click to expand commit body
This PR makes the labels of the buttons in the extension list adapt to
reflect the current status.
Release Notes:
- Changed the button labels in the extension list to reflect the current
status.
Marshall Bowers
created
2e616f8
Add new `argument` vim text object (#7791)
Click to expand commit body
This PR adds a new `argument` vim text object, inspired by
[targets.vim](https://github.com/wellle/targets.vim).
As it's the first vim text object to use the syntax tree, it needed to
operate on the `Buffer` level, not the `MultiBuffer` level, then map the
buffer coordinates to `DisplayPoint` as necessary.
This required two main changes:
1. `innermost_enclosing_bracket_ranges` and `enclosing_bracket_ranges`
were moved into `Buffer`. The `MultiBuffer` implementations were updated
to map to/from these.
2. `MultiBuffer::excerpt_containing` was made public, returning a new
`MultiBufferExcerpt` type that contains a reference to the excerpt and
methods for mapping to/from `Buffer` and `MultiBuffer` offsets and
ranges.
Release Notes:
- Added new `argument` vim text object, inspired by
[targets.vim](https://github.com/wellle/targets.vim).
vultix
created
dc7e14f
Respect user preferences when formatting timestamp (#7994)
Click to expand commit body
This is a follow up to #7945. The current behaviour reads the locale and
infers from that which type of time format should be used (12 hour/24
hour).
However, in macOS you can override this behaviour, e.g. you can use
en_US locale but still use the 24 hour clock format (Can be customized
under Settings > General > Date & Format > 24-hour time). You can even
customize the date format.
This PR uses the macOS specific `CFDateFormatter` API, which outputs
time format strings, that respect those settings.
Partially fixes #7956 (as its not implemented for linux)
Release Notes:
- Added localization support for all macOS specific date and time
configurations in chat
Bennet Bo Fenner
created
7599933
Fix uploads to `edit_events` table (#8318)
Click to expand commit body
This PR fixes uploads the `edit_events` table.
We were trying to insert into a column that didn't exist:
```
HTTP error 500 Internal Server Error: failed to upload to table 'edit_events'
Caused by:
bad response: Code: 16. DB::Exception: No such column os_name in table default.edit_events
```
Release Notes:
- N/A
e06ff5f
Use `SystemClock` in `EventCoalescer` (#8317)
Click to expand commit body
This PR updates the `EventCoalescer` to use the `SystemClock` trait to
abstract over the clock.
This allows us to test the advancement of time without relying on the
caller passing in the current time.
Release Notes:
- N/A
885ae2d
linux/x11: prioritize input in the event loop (#8253)
Click to expand commit body
With this change, interaction with Zed is actually real-time and usable
:rocket: :tada:
The gist of it is - trying to process all of the input events before
rendering anything.
Release Notes:
- N/A
**Note**: this can be further improved in a follow-up.
Currently, once the input and runnables are processed, we'd try to draw
+ render a frame.
Presentation starts with acquiring a new frame. We currently have FIFO
presentation method, so acquiring a frame is blocking on that swapchain
image to become available. As the result, presentation takes around 16
ms, most of which is just busy wait.
Ideally, we'd be able to process more input in this time frame, instead.
**Note2**: it's a bit laggy in Debug for me, but that's just because of
the extra-long `draw` times, which is unrelated to rendering (or
platform support, for the matter). I'm curious how come on MacOS the
`draw()` times in Debug are more modest.
Dzmitry Malyshau
created
cab8b5a
Switch LSP prompts to use a non-blocking toast (#8312)
Click to expand commit body
This fixes a major degradation in usability that some users ran into.
Fixes https://github.com/zed-industries/zed/issues/8255
Fixes https://github.com/zed-industries/zed/issues/8229
Release Notes:
- Switch from using platform prompts to toasts for LSP prompts.
([8255](https://github.com/zed-industries/zed/issues/8255),
[8229](https://github.com/zed-industries/zed/issues/8229))
<img width="583" alt="Screenshot 2024-02-23 at 2 40 05 PM"
src="https://github.com/zed-industries/zed/assets/2280405/1bfc027b-b7a8-4563-88b6-020e47869668">
Co-authored-by: Marshall <marshall@zed.dev>
d3a38c6
Only spawn the extensions reconciliation task in the collab service (#8301)
Click to expand commit body
This PR makes it so the background task that reconciles the extensions
database with the blob store only runs on the `collab` service.
This avoids us having multiple of these jobs running at once.
Release Notes:
- N/A
Co-Authored-By: Marshall <marshall@zed.dev>
We broke it by deploying two servers simultaneously.
Release Notes:
- N/A
Co-authored-by: Marshall <marshall@zed.dev>
Release Notes:
- Use an inclusive range for local range containment check to match LSP
behavior & fix popover flashing while the cursor moves over the last
character of a symbol.
https://github.com/zed-industries/zed/assets/17223924/6c3ddc9c-04fb-4414-812f-025ede5ecaf7
Wayland requires the client to implement key repetition. This PR
implements the functionality as it's supposed to, but I don't see the
`repeat_info` event come in so the feature uses the default values (but
my system is configured for a much smaller `delay` and a much faster
`rate`). But this is good enough for now.
https://wayland-book.com/seat/keyboard.html#key-repeat
[Kooha-2024-02-20-20-42-12.webm](https://github.com/zed-industries/zed/assets/1423607/fb9fc327-efb7-43d1-9b53-1f8a3d9ba608)
Rom Grk
created
3bc7cd6
Allow typing space in workspace::SendKeystrokes (#8288)
Click to expand commit body
Fixes #8222
Release Notes:
- N/A
Conrad Irwin
created
b0872b5
Deploy the ZED_CLIENT_CHECKSUM_SEED too (#8289)
Click to expand commit body
Release Notes:
- N/A
Conrad Irwin
created
602fd58
Fix for toggles on the Welcome page (#8159)
Click to expand commit body
Release Notes:
The issue is that when welcome page appears settings.json file is not
created yet. So the idea of this fix is to create the file in case it is
not there yet.
- Fixed the toggles on the welcome screen not working if no settings
file exists yet.
([#8153](https://github.com/zed-industries/zed/issues/8153)).
---------
Co-authored-by: Thorsten Ball <mrnugget@gmail.com>
Co-authored-by: Marshall <marshall@zed.dev>
Uladzislau Kaminski
,
Thorsten Ball
, and
Marshall
created
ed3bb68
Do not display inlay hints as bold (#8283)
Click to expand commit body
I think bold is the least fitting font weight for inlay hints, which
should be subtle hints and not, well, bold.
If someone feels strongly about this, I can revert, but only if we add
the ability to change this per theme.
Until then: beautiful, thin, subtle inlay hints!
Release Notes:
- Improved styling of inlay hints by not making them bold in the editor.

Thorsten Ball
created
522176d
Adjust Kubernetes manifests for deploying API service (#8281)
Click to expand commit body
This PR adjusts our Kubernetes manifests for deploying the new API
service.
Release Notes:
- N/A
---------
Co-authored-by: Conrad <conrad@zed.dev>