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
Kirill Bulatov
created
47a1ff7
markdown_preview: Sort dependencies in `Cargo.toml` (#7226)
Click to expand commit body
This PR sorts the dependencies for the `markdown_preview` crate in
alphabetical order.
Release Notes:
- N/A
adc7cfb
Fix moving focus to docks when navigating via keybinds (#7221)
Click to expand commit body
This is a follow-up to #7141 and fixes the focus-switching to docks in
case they haven't been focused before.
We ran into issues when trying to focus a dock, that hasn't been focused
in the app's lifecycle: focus would only flip after the next re-render
(which could be triggered by moving the mouse, for example)
This changes the approach and uses the one we have for `toggle focus`
actions.
Release Notes:
- N/A
Co-authored-by: Piotr <piotr@zed.dev>
Co-authored-by: bennetbo <bennetbo@gmx.de>