This repo holds a language server for LALRPOP, an LR(1) parser generator for Rust.
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.
This extension is still in active development, so please report any issue you encounter here.
-
go-to-definition.mp4
-
find-references.mp4
-
error-diagnostics.mp4
-
error-diagnostics.mp4
pnpm icargo build- Open the project in VSCode:
code . - In VSCode, press F5 or change to the Debug panel and click Launch Client.
- In the newly launched VSCode instance, open a folder that contains a lalrpop file.
- 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 commandtsc -bmanually, you could refer IWANABETHATGUY/tower-lsp-boilerplate#6 for more details
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.