Skip to content

LighghtEeloo/lalrpop-lsp

Repository files navigation

LALRPOP language server

This repo holds a language server for LALRPOP, an LR(1) parser generator for Rust.

Installation

Install the extension from the VSCode Marketplace. The first cold start up will be slow because the extension will try to install the language server binary through cargo if it doesn't see lalrpop-lsp in PATH. You can always remove the downloaded binary by running cargo uninstall lalrpop-lsp and switch to a manually downloaded version.

Head's up (!)

This extension is still in active development, so please report any issue you encounter here.

Features

  • go-to-definition.mp4
  • find-references.mp4
  • error-diagnostics.mp4
  • error-diagnostics.mp4

Development using VSCode

  1. pnpm i
  2. cargo build
  3. Open the project in VSCode: code .
  4. In VSCode, press F5 or change to the Debug panel and click Launch Client.
  5. In the newly launched VSCode instance, open a folder that contains a lalrpop file.
  6. If the LSP is working correctly you should see syntax highlighting and the features described below should work.

Note

If encountered errors like Cannot find module '/xxx/xxx/dist/extension.js' please try run command tsc -b manually, you could refer IWANABETHATGUY/tower-lsp-boilerplate#6 for more details

Credits

The project is powered by Language Server Protocol implementation for Rust based on Tower. It's also based on tower-lsp-boilerplate, a useful github project template which makes writing new language servers easier. The syntax highlighting is provided by LALRPOP syntax highlighting for VS Code by guyutongxue.

About

An LSP implementaion for LR(1) parser generator LALRPOP, written in Rust.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors