Zed: Difference between revisions

From NixOS Wiki
Picnoir (talk | contribs)
No edit summary
Picnoir (talk | contribs)
No edit summary
Line 14: Line 14:
Here, we'll assume rust-analyzer is globally installed in your system profile at <code>/run/current-system/sw/bin/rust-analyzer</code>. You may want to adapt this path in the following code snippet to something more relevant to your use case.
Here, we'll assume rust-analyzer is globally installed in your system profile at <code>/run/current-system/sw/bin/rust-analyzer</code>. You may want to adapt this path in the following code snippet to something more relevant to your use case.


Add the following snippet to your configuration file:<syntaxhighlight lang="json">
Add the following snippet to your zed configuration file:<syntaxhighlight lang="json">
  "lsp": {
  "lsp": {
   "rust-analyzer": {
   "rust-analyzer": {
     "binary": {
     "binary": {
       "path": "/run/current-system/sw/bin/rust-analyzer",
       "path": "/run/current-system/sw/bin/rust-analyzer",
     },
     },

Revision as of 14:49, 12 June 2024

Zed Editor

Zed is a graphical text editor focusing on speed and collaborative editing.

Its Linux support is fairly recent, the NixOS support even more so.

LSP Support

By default, Zed will try to download pre-build LSP servers in ~/.local/share/zed/languages/. This obviously won't work for NixOS.

There's sadly no way to inject those from $PATH for now. Worse, the way to point to the language server is language-specific, there is no global configuration flag for now.

The following sections contain some language-specific setup working on NixOS.

Rust-analyzer

Here, we'll assume rust-analyzer is globally installed in your system profile at /run/current-system/sw/bin/rust-analyzer. You may want to adapt this path in the following code snippet to something more relevant to your use case.

Add the following snippet to your zed configuration file:

 "lsp": {
   "rust-analyzer": {
     "binary": {
       "path": "/run/current-system/sw/bin/rust-analyzer",
     },
   }
 }