Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nextflow-zed

Nextflow language support for Zed, using the official Nextflow Tree-sitter grammar and language server.

Inspired by other works - see credits.

Screenshot

Requirements

  • Java 17 or later (to run the language server)
  • Rust when installing this as a dev extension

Install

This extension is not yet published, but can be installed directly from the repository.

Clone it:

git clone https://github.com/Sam-Sims/nextflow-zed.git

Then in Zed:

  1. Open the Extensions page.
  2. Select Install Dev Extension.
  3. Select the cloned nextflow-zed directory.

You can also open the command palette and run zed: install dev extension.

Zed will build and install the extension automatically. Open a .nf file to start it and the language server JAR will be downloaded on first use.

Configuration

Configure the extension under the lsp key in your global Zed settings.json, or in a project's .zed/settings.json:

{
  "lsp": {
    "nextflow-language-server": {
      "settings": {
        "nextflow": {
          "languageVersion": "26.04",
          "java": {
            "home": "/path/to/jdk-17-or-later"
          },
          "languageServer": {
            "path": "/absolute/path/to/language-server-all.jar"
          },
          "errorReportingMode": "warnings",
          "files": {
            "exclude": [".git", ".lineage", ".nf-test", ".pixi", ".venv", "work"]
          }
        }
      }
    }
  }
}
  • The extension includes the following language server defaults from the VS Code Nextflow extension configuration:
    • nextflow.completion.extended: false
    • nextflow.completion.maxItems: 100
    • nextflow.debug: false
    • nextflow.errorReportingMode: "warnings"
    • nextflow.files.exclude: .git, .lineage, .nf-test, .pixi, .venv and work
    • nextflow.formatting.harshilAlignment: false
    • nextflow.formatting.maheshForm: false
    • nextflow.formatting.sortDeclarations: false
  • However settings defined in the zed settings.json overwrite the extension defaults. See Configuring Language Servers for details.
  • The java and languageServer entries are optional overrides. Without them, the extension finds Java through JAVA_HOME or your PATH and automatically downloads the newest language server patch version for the selected Nextflow language version.
  • Supported language versions are 26.04, 25.10, 25.04 and 24.10. The default is 26.04. Restart the language server after changing its version, Java installation or JAR.

Credits

This extension builds on the work of several existing language extensions that provided useful references and inspiration:

About

Nextflow language support for the Zed editor.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages