This change makes it so that if you are the first to join a channel,
your project is automatically shared.
It also makes it so that if you join a channel via a link and there are
no shared projects, you open the notes instead of an empty workspace
with nothing.
This is to try and address the discoverability of project sharing: we've
had
two reviews that have talked about channels, but not talked about
sharing
projects into them, which makes me suspect they didn't know about the
feature.
Release Notes:
- Added a setting `share_on_join` (defaulting to true). When set, and
you join an empty channel, your project is automatically shared.
Conrad Irwin
created
6f6cb53
Tweak pull request template to (hopefully) make it clearer (#7287)
Click to expand commit body
I keep seeing people leave the wrapping parentheses, like `(Added)` in
their release notes.
This PR tries making it clearer that we only want *one* of "Added",
"Fixed", or "Improved".
Release Notes:
- N/A
Marshall Bowers
created
3d76ed9
Use `command_buffer.wait_until_scheduled` in metal renderer (#7283)
Click to expand commit body
This commit goes back to using `wait_until_scheduled` as opposed to
`wait_until_completed`. What this means, however, is that another draw
could take place before the previous one finished. When that happens we
don't want to reuse the same instance buffer because the GPU is actively
reading from it, so we use a pool instead.
Release Notes:
- Fixed a bug that caused inconsistent frame rate when scrolling on
certain hardware.
---------
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Antonio <antonio@zed.dev>
Thorsten Ball
,
Antonio Scandurra
, and
Antonio
created
Fixes the padding of the "notes" button in collab-ui. I'm not sure why
the previous code used `div().h_7().w_full()`. Am I missing something
here?
### Before

### After

Release Notes:
- Fixed padding of the "notes" button in the collaboration panel.
Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>
Bennet Bo Fenner
and
Marshall Bowers
created
bacb2a2
Add more data into LSP header parsing error contexts (#7282)
Click to expand commit body
Follow-up of https://github.com/zed-industries/zed/pull/6929
Release Notes:
- N/A
Kirill Bulatov
created
33e5ba6
Revert "Add YAML file type icon (#7185)" (#7286)
Click to expand commit body
This PR reverts the addition of the YAML icon, as it doesn't look good
at the moment:
<img width="305" alt="Screenshot 2024-02-02 at 10 55 16 AM"
src="https://github.com/zed-industries/zed/assets/1486634/2fe2ddd5-5b73-4c52-a121-562d07352005">
This reverts commit a853a80634149ad5d069c48c4a0ece0bd584b5b1.
Release Notes:
- N/A
Marshall Bowers
created
11bd288
editor: Add MoveUpByLines and MoveDownByLines actions (#7208)
Click to expand commit body
This adds four new actions:
- `editor::MoveUpByLines`
- `editor::MoveDownByLines`
- `editor::SelectUpByLines`
- `editor::SelectDownByLines`
They all take a count by which to move the cursor up and down.
(Requested by Adam here:
https://twitter.com/adamwathan/status/1753017094248018302)
Example `keymap.json` entries:
```json
{
"context": "Editor",
"bindings": [
"alt-up": [ "editor::MoveUpByLines", { "lines": 3 } ],
"alt-down": [ "editor::MoveDownByLines", { "lines": 3 } ],
"alt-shift-up": [ "editor::SelectUpByLines", { "lines": 3 } ],
"alt-shift-down": [ "editor::SelectDownByLines", { "lines": 3 } ]
]
}
```
They are *not* bound by default, so as to not conflict with the
`alt-up/down` bindings that already exist.
Release Notes:
- Added four new actions: `editor::MoveUpByLines`,
`editor::MoveDownByLines`, `editor::SelectUpByLines`,
`editor::SelectDownByLines` that can take a line count configuration and
move the cursor up by the count.
### Demo
https://github.com/zed-industries/zed/assets/1185253/e78d4077-5bd5-4d72-a806-67695698af5d
https://github.com/zed-industries/zed/assets/1185253/0b086ec9-eb90-40a2-9009-844a215e6378
Thorsten Ball
created
01ddf84
completions: do not render empty multi-line documentation (#7279)
Click to expand commit body
I ran into this a lot with Go code: the documentation would be empty so
we'd display a big box with nothing in it.
I think it's better if we only display the box if we have documentation.
Release Notes:
- Fixed documentation box in showing up when using auto-complete even if
documentation was empty.
## Before

## After

This pull request implements support for the [OCaml
Language](https://ocaml.org/).
### Additions
- [x]
[tree-sitter-ocaml](https://github.com/tree-sitter/tree-sitter-ocaml)
grammar
- [x] Highlight, Indents, Outline queries
- [x] A new file icon for .ml(i) files. Based on
[ocaml/ocaml-logo](https://github.com/ocaml/ocaml-logo/blob/master/Colour/SVG/colour-transparent-icon.svg)
- [x] LSP Integration with
[ocaml-language-server](https://github.com/ocaml/ocaml-lsp)
- [x] Completion Labels
- [x] Symbol Labels
### Bug Fixes
- [x] Improper parsing of LSP headers.
### Missing [will file a separate issue]
- Documentation on completionItem, requires: `completionItem/resolve`
with support for `documentation` as a provider.
### Screenshots
<details><summary>Zed</summary>
<img width="1800" alt="Screenshot 2024-02-01 at 03 33 20"
src="https://github.com/zed-industries/zed/assets/69181766/e17c184e-203e-40c3-a08f-4de46226b79c">
</details>
Release Notes:
- Added OCaml Support
([#5316](https://github.com/zed-industries/zed/issues/5316)).
> [!NOTE]
> Partially completes #5316
> To complete #5316:
> 1. addition of a reason tree-sitter grammar.
> 2. opam/esy integration, however it may be better as it's own plugin.
Rashid Almheiri
created
980d4f1
Add inline code blocks in markdown preview (#7277)
Click to expand commit body
Fixes #7236.
The reason why the code was not displayed correctly is due to missing
background color for the inline code block.
Previously to this PR:
<img width="1840" alt="SCR-20240202-mclv"
src="https://github.com/zed-industries/zed/assets/67913738/92f63e72-db86-4de9-bb42-40549679e159"
alt="Screenshot showing that inline code blocks are not highlighted in
Markdown preview">
After this PR:
<img width="1796" alt="SCR-20240202-mccs"
src="https://github.com/zed-industries/zed/assets/67913738/5cf039af-82d7-41b8-b461-f79dec5ddf6a"
alt="Screenshot showing that inline code blocks are now highlighted in
Markdown preview">
Release Notes:
- Fixed inline code block not shown in markdown preview
([#7236](https://github.com/zed-industries/zed/issues/7236)).
Robin Pfäffle
created
79c1003
go: fix highlighting of brackets, variables, fields (#7276)
Click to expand commit body
This changes the highlighting of Go code to make it more similar to how
we highlight Rust
* normal variables have the normal color, vs. being highlighted. This
really stuck out.
* brackets are properly highlighted
It also brings it closer to Neovim's tree-sitter highlighting by
changing how struct fields are highlighted.
Release Notes:
- Improved highlighting of Go code by tuning highlighting of variables,
brackets, and struct fields.
## Before & After

Thorsten Ball
created
d576cda
project: Do not inline LSP related methods
Click to expand commit body
The way Rust generics works, having a generic argument puts the burden of codegen on the crate that instantiates a generic function, which in our case is an editor.
Piotr Osiewicz
created
10cd978
go: improve outline queries to get rid of whitespace (#7273)
Click to expand commit body
This changes the Go `outline.scm` queries a bit so that we don't have
these stray whitespaces floating around. I'm sure there's more
improvements possible, but for now I think this makes it look less
wrong.
Release Notes:
- Improved outline and breadcrumbs for Go code.
## Before

## After

This PR implements support for displaying diagnostics in the scrollbar,
similar to what is already done for search results, symbols, git diff,
...
For example, changing a field name (`text`) without changing the
references looks like this in `buffer.rs` (note the red lines in the
scrollbar):

As you can see, the errors, warnings, ... are displayed in the scroll
bar, which helps to identify possible problems with the current file.
Relevant issues: #4866, #6819
Release Notes:
- Added diagnostic indicators to the scrollbar
Bennet Bo Fenner
created
2940a0e
Revert "Avoid excessive blocking of main thread when rendering in direct mode (#7253)" (#7272)
Click to expand commit body
This reverts commit 020c38a8916c063cba36c2c88a69b5e287269d5a because it
leads to glitches when selecting text.
https://github.com/zed-industries/zed/assets/1185253/78c2c184-bc15-4b04-8c80-a23ca5c96afa
Release Notes:
- N/A
Thorsten Ball
created
8fed9aa
Fix project panel selection related issues (#7245)
Click to expand commit body
Fixes #7003 and #7005.
Selecting as a reaction to actually opening a new item doesn’t seem
robust in all cases, the PR improves that.
Release Notes:
- Fixed missing project panel file selection in certain cases
Release Notes:
- Added outline support for Markdown files
- Added the ability to link to channel notes:
https://zed.dev/channel/zed-283/notes#Roadmap
Conrad Irwin
created
b35a722
Add missing secret in release nightly workflow
Max Brunsfeld
created
020c38a
Avoid excessive blocking of main thread when rendering in direct mode (#7253)
Click to expand commit body
Release Notes:
- Fixed a bug that caused inconsistent frame rate when scrolling on
certain hardware.
Co-authored-by: Antonio Scandurra <me@as-cii.com>
Co-authored-by: Nathan Sobo <nathan@zed.dev>
Max Brunsfeld
,
Antonio Scandurra
, and
Nathan Sobo
created
21f4da6
Correctly log LSP adapter name on LSP request error (#7232)
Click to expand commit body
Previously, we were logging the language server's binary filename
instead.
Release Notes:
- N/A
Co-authored-by: Nathan <nathan@zed.dev>
Co-authored-by: Antonio <antonio@zed.dev>
Max Brunsfeld
,
Nathan
, and
Antonio
created
da44f63
Order history items by open recency (#7248)
Click to expand commit body
Closes https://github.com/zed-industries/zed/issues/7244
Follow-up of https://github.com/zed-industries/zed/pull/7210 that
returns back ordering of history items by open recency (last opened
history item should be on top)
Release Notes:
- N/A
---------
Co-authored-by: Andrew Lygin <alygin@gmail.com>
After this change we'll be able to push a tag to github to deploy to
collab.
The advantages of this are that there's no longer a separate step to
first
build the image, and then deploy it.
In the future I'd like to make this happen more automatically (maybe as
part of
bump nightly).
Release Notes:
- N/A
Conrad Irwin
created
5424c8b
Introduce a fast path for drawing quads with no borders / corner radii (#7231)
Click to expand commit body
This will introduce an extra conditional but saves us from doing a bunch
of math in the simple case of drawing simple rectangles that aren't
rounded or don't have borders.

Release Notes:
- Improved rendering performance.
Release Notes:
- vim: Fixed , and ; in visual mode
([#7182](https://github.com/zed-industries/zed/issues/7182)).
Conrad Irwin
created
d4264cb
Fix scrolling and wrapping in the markdown preview renderer (#7234)
Click to expand commit body
Release Notes:
- N/A
Mikayla Maki
created
97be0a9
Add syntax highlighting and LSP (erlang_lsp) for Erlang (#7093)
Click to expand commit body
This pull request implements support for the [Erlang
Language](https://erlang.org/).
**It adds:**
* [tree-sitter-erlang](https://github.com/WhatsApp/tree-sitter-erlang)
grammar
highlights (Licensed under Apache-2 from WhatsApp which is compatible
with Zed licensing model), folds and indents
* Erlang file icon based on the [official
one](https://www.erlang.org/doc/erlang-logo.png)
* [erlang_ls](https://github.com/erlang-ls/erlang_ls) support
Fixes https://github.com/zed-industries/zed/issues/4939, possibly a
duplicate of https://github.com/zed-industries/zed/pull/7085 with more
features. Suppose @wingyplus wants to join efforts here.
**To complete (out of scope for this PR):**
* Support for the ELP language server from WhatsApp. CC @robertoaloi
* Better indentation handling, need something like
`indentNextLinePattern` in VS Code
**Screenshots:**





Outline:

**Release Notes:**
* Added Erlang Support
([7093](https://github.com/zed-industries/zed/pull/7093)).
---------
Signed-off-by: Thanabodee Charoenpiriyakij <wingyminus@gmail.com>
Co-authored-by: Thanabodee Charoenpiriyakij <wingyminus@gmail.com>
Dairon M
and
Thanabodee Charoenpiriyakij
created
3107ed8
lsp: if language server closes stdout/stderr, break loop (#7229)
Click to expand commit body
Previously we would run these loops indefinitely when a language server
closed its stdout/stderr and the `read_until` returned `0` bytes read.
Easy to reproduce: start Zed with LSP attached, `kill -9` the LSP, see
logs accumulate.
Release Notes:
- Fix high CPU usage when a language server crashes (or closes its
stdout/stderr on purpose).
Co-authored-by: Julia <julia@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
Thorsten Ball
,
Julia
, and
Mikayla
created
944a1f8
Send lsp_types::InitializeParams with Zed version (#7216)
Click to expand commit body
Based on the great work in
https://github.com/zed-industries/zed/pull/7130 , now sends this data
```
[crates/lsp/src/lsp.rs:588] ClientInfo { name: name.to_string(), version: Some(version.to_string()) } = ClientInfo {
name: "Zed Dev",
version: Some(
"0.122.0",
),
}
```
with every LSP server initialization.
Release Notes:
- Added Zed name and version to LSP InitializeParams requests