ec9f447
Fix Go tests failing on main (#7285)
Click to expand commit body
Follow-up to #7276 in which I broke tests. Release Notes: - N/A
Thorsten Ball created
ec9f447
Fix Go tests failing on main (#7285)
Follow-up to #7276 in which I broke tests. Release Notes: - N/A
Thorsten Ball created
998f6cf
Add OCaml support (#6929)
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)
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)
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
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)
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 
Thorsten Ball created
ce4c15d
Show diagnostics in scrollbar (#7175)
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)
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)
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
Alfred Kristal Ern created
c000d2e
blade: path sprite rendering
Dzmitry Malyshau created
5ed3b44
Add rename to JetBrains keymaps (#7263)
Add rename actions to JetBrains keymaps. Closes #7261. Release Notes: - Added rename keybindings to JetBrains keymap ([#7261](https://github.com/zed-industries/zed/issues/7261)).
Ocean created
fdaffdb
linux: path rasterization shader
Dzmitry Malyshau created
05c4221
linux: implement RWH for LinuxWindow
Dzmitry Malyshau created
ed679c9
WIP path rasterization
Dzmitry Malyshau created
ce84a2a
linux: refactor window structure, support move callback
Dzmitry Malyshau created
c9ec337
linux: share corner picking code between shaders
Dzmitry Malyshau created
666b134
linux: shadow rendering
Dzmitry Malyshau created
ecf4955
hide MacOS dependencie of live_kit_client and media
Dzmitry Malyshau created
8aa7687
linux: basic quad renderer logic
Dzmitry Malyshau created
503ac7a
linux: work around the mutex locks for request_frame and resize
Dzmitry Malyshau created
74fde59
linux: hook up render event, basic renderer command buffer
Dzmitry Malyshau created
7f8c64a
linux: port from x11rb to xcb and hook up RawWindowHandle
Dzmitry Malyshau created
aed363d
x11: create window and route events
Dzmitry Malyshau created
cefc982
linux: hook up X11rb for Window creation
Dzmitry Malyshau created
e95bf24
linux: basic window, display, and atlas
Dzmitry Malyshau created
b0376aa
linux: start the text system
Dzmitry Malyshau created
ca62d22
linux: implement dispatcher, add dummy textsystem
Dzmitry Malyshau created
d675abf
Add Linux platform, gate usage of CVImageBuffer by macOS
Dzmitry Malyshau created
ef4ef5f
Add blade dependency
Dzmitry Malyshau created
69e0ea9
Links to channel notes (#7262)
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)
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)
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)
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>
Kirill Bulatov and Andrew Lygin created
0897c8e
just kidding (#7241)
Release Notes: - N/A
Conrad Irwin created
7b9d519
Deploy collab like nightly (#7174)
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)
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.
Antonio Scandurra created
3521b50
vim: Fix , and ; in visual mode (#7230)
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)
Release Notes: - N/A
Mikayla Maki created
97be0a9
Add syntax highlighting and LSP (erlang_lsp) for Erlang (#7093)
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)
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)
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)
This PR sorts the dependencies for the `markdown_preview` crate in alphabetical order. Release Notes: - N/A
Marshall Bowers created
b9d5eb1
Fix typo (#7223)
Release Notes: - N/A
d1y created
adc7cfb
Fix moving focus to docks when navigating via keybinds (#7221)
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>
Thorsten Ball , Piotr , and bennetbo created
a853a80
Add YAML file type icon (#7185)
Add YAML file type icon from [file-icons/icons](https://github.com/file-icons/icons) https://github.com/file-icons/icons/blob/master/svg/YAML.svg Release Notes: - Added YAML file type icon. --------- Co-authored-by: d1y <chenhonzhou@gmail.com>
thurain and d1y created
2d41a11
markdown: Support alignment for table cells (#7201)
Just a small improvement as a follow up to @kierangilliam great work on #6958 Rendering a table specified like this: ```markdown | Left columns | Center columns | Right columns | | ------------- |:--------------:| -------------:| | left foo | center foo | right foo | | left bar | center bar | right bar | | left baz | center baz | right baz | ``` Does now look like this (notice the cell alignments):  Release Notes: - N/A
Bennet Bo Fenner created
0102ffb
Refactor file_finder send element open code (#7210)
Follow-up of https://github.com/zed-industries/zed/pull/6947 (cc @alygin) that fixes a few style nits and refactors the code around: * use already stored `currently_opened_path` to decide what to do with the history item sorting * use the same method to set history items, encapsulate the bubbling up logic there * ensure history elements are properly sorted before populating The main reason to change all that is the new comparator in the previous version: https://github.com/zed-industries/zed/pull/6947/files#diff-eac7c8c99856f77cee39117708cd1467fd5bbc8805da2564f851951638020842R234 that almost violated `util::extend_sorted` contract, requiring both collections to be sorted the same way as the comparator would be: it did work, because we bubbled currently open item up in the history items list manually, and that we have only one such item. Release Notes: - N/A
Kirill Bulatov created
0edffd9
Select the second item in the file finder by default (#6947)
This PR completes the first task of the Tabless editing feature (#6424). It makes file finder select the previously opened file by default which allows the user to quickly switch between two last opened files by clicking `Cmd-P + Enter`. This feature was also requested in #4663 comments. Release Notes: * Improved file finder selection: currently opened item is not selected now
Andrew Lygin created
e65a76f
Add ability to navigate to/from docks via keybindings (#7141)
This adds the ability to navigate to/from docks (Terminal, Project, Collaboration, Assistant) via keybindings. When using the `ActivatePaneInDirection` keybinding from the left/bottom/right dock, we check whether the movement is towards the center panel. If it is, we focus the last active pane. Fixes https://github.com/zed-industries/zed/issues/6833 and it came up in a few other tickes/discussions. Release Notes: - Added ability to navigate to docks and back to the editor using the `workspace::ActivatePaneInDirection` action (by default bound to `Ctrl-w [hjkl]` in Vim mode). ([#6833](https://github.com/zed-industries/zed/issues/6833)). ## Drawback There's this weird behavior: if you start Zed and no files are opened, you focus terminal, go left (project panel), then back to right to terminal, the terminal isn't focused. Even though we focus it in the code. Maybe this is a bug in the current focus handling code? ## Demo https://github.com/zed-industries/zed/assets/1185253/5d56db40-36aa-4758-a3bc-7a0de20ce5d7 --------- Co-authored-by: Piotr <piotr@zed.dev>
Thorsten Ball and Piotr created