8536ba5
Upgrade Tree-sitter and Wasmtime, compile Cranelift with optimizations in debug builds (#8452)
Click to expand commit body
After upgrading to Wasmtime 18, we got crashes when running Zed in debug
mode. While bisecting the Wasmtime commits and trying to identify the
source of the crash, we noticed this Wasmtime PR, which increased the
stack size of background threads in an example. This alerted us to the
possibility that a stack overflow might be happening due to a lot of
stack usage by cranelift.
https://github.com/bytecodealliance/wasmtime/pull/7651
Release Notes:
- N/A
Co-authored-by: Marshall <marshall@zed.dev>
Max Brunsfeld
and
Marshall
created
a0c8deb
Mention possible run options in the task modal placeholder (#8449)
Click to expand commit body
Release Notes:
- Improved run task modal's placeholder
---------
Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com>
Kirill Bulatov
and
Piotr Osiewicz
created
009384f
Extract project_core out of project (#8438)
Click to expand commit body
That's done to unblock work for dynamic tasks (`task` crate has to
access the worktree yet it is a dependency of a `project`).
Release Notes:
- N/A
Piotr Osiewicz
created
72009de
chore: Fix warning from 1.77 rustc (#8265)
Click to expand commit body
/cc @maxbrunsfeld , I didn't remove the field outright since I'm not
sure if the intent is to use it eventually in extensions work.
This is the warning we're getting on 1.77 (release date: 03.21.2024) :
```
warning: field `0` is never read
--> crates/language/src/language_registry.rs:81:12
|
81 | Loaded(PathBuf, tree_sitter::Language),
| ------ ^^^^^^^
| |
| field in this variant
|
= note: `#[warn(dead_code)]` on by default
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
81 | Loaded((), tree_sitter::Language),
| ~~
warning: field `0` is never read
--> crates/language/src/language_registry.rs:82:13
|
82 | Loading(PathBuf, Vec<oneshot::Sender<Result<tree_sitter::Language>>>),
| ------- ^^^^^^^
| |
| field in this variant
|
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
82 | Loading((), Vec<oneshot::Sender<Result<tree_sitter::Language>>>),
| ~~
```
Release Notes:
- N/A
d4584a1
Tell Wayland compositor we can handle keyboard ver 4 for repeat info (#8446)
Click to expand commit body
Fixes us not getting Wayland key repeat info from the compositor
Release Notes:
- N/A
Julia
created
3b2e315
Open a new file on double-clicking the tab bar (#8431)
Click to expand commit body
Fixes #6818
This is a convenience feature that exists in other editors, allowing
quick creation a new tab by double-clicking the empty space on the tab
bar:

Release Notes:
- Added the ability to open a new buffer when double-clicking on the tab
bar ([#6818](https://github.com/zed-industries/zed/issues/6818)).
Igal Tabachnik
created
43163a0
Support rendering strikethrough text in markdown (#8287)
Click to expand commit body
Just noticed strikethrough text handling was not implemented for the
following:
Chat

Markdown Preview

Code Documentation

It looks like there are three different markdown parsing/rendering
implementations, might be worth to investigate if any of these can be
combined into a single crate (looks like a lot of work though).
Release Notes:
- Added support for rendering strikethrough text in markdown elements
This PR fixes the bootstrap script, as we had some unintentional changes
committed to it.
Closes #8370.
Release Notes:
- N/A
Marshall Bowers
created
7d0c515
Improve Ruby grammar to recognize method parameters (#8284)
Click to expand commit body
Release Notes:
- Improved Ruby Grammar to recognise various method parameters


Ben Hamment
created
011ae85
Add support of auto folded directories (#7674)
Click to expand commit body
Added support of auto collapsed directories, for example when directory
has only one directory inside we should display it as dir1/dir2 (#6935
). Please feel free to propose better solutions, as I am new in Rust
Demo:
https://streamable.com/seo3n9
Release Notes:
- Added support for auto-collapsing directories.
Before this change duplicate channels were ordered arbitrarily, which
put the
collab channel in an inconsistent state.
Release Notes:
- Fixed duplicate channel names appearing in the collab sidebar.
Conrad Irwin
created
a44fc24
Clean up many small dependencies (part 3) (#8425)
Click to expand commit body
Follow-up to #8353
Release Notes:
- N/A
Dzmitry Malyshau
created
f54bb32
Point requests for languages to extension repository
This PR formats the JSON files in the `assets/` directory with Prettier.
This should help avoid some of the changes in formatting when these
files are touched by contributors.
Release Notes:
- N/A
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).