Skip to content

Add LSP implementation for Linefeed #9

Description

@avborup

Using the Language Server Protocol, syntax highlighting, autocomplete, error highlighting, and more would be supported immediately by multiple editors, including VS Code and Neovim.

Having the language server run in Rust would be the obvious choice, since you can just build on top of the existing parser and compiler. This way, updating the language server when the language changes also becomes extremely straight-forward.

First step is to get syntax highlighting working. Afterwards, autocomplete would be great, and error highlighting (e.g. for parser / compiler errors) would also make sense.

For highlighting:

  • For VS Code, highlighting could be provided entirely via the LSP if we utilise semantic highlighting (see the docs). In other words, no TextMate grammar would have to be specified - the existing parser and AST can just be utilised.
  • For Neovim, highlighting can also be done via the LSP and semantic highlighting (see LSP: semantic tokens support neovim/neovim#21100).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions