Skip to content

Repository files navigation

Vora LSP — Language Server + VS Code Extension

Language Server Protocol (LSP) implementation for the Vora programming language, plus the official VS Code extension.

Structure

Vora-LSP/
├── server/                  # C++ LSP server (builds as part of Vora)
│   ├── lsp_server.h         # LspServer class
│   ├── lsp_server.cpp       # Protocol handlers + main loop
│   └── main.cpp             # Entry point
├── src/
│   └── extension.ts         # VS Code language client
├── syntaxes/
│   └── vora.tmLanguage.json # TextMate grammar for .va files
├── package.json             # VS Code extension manifest
└── language-configuration.json

Features

  • Diagnostics: Real-time parse error reporting via textDocument/publishDiagnostics
  • Formatting: Document formatting via textDocument/formatting (uses Vora's SourceFormatter)
  • Completion, go-to-definition, hover, document symbols: Implemented via SemanticAnalyzer (scope-aware read-only AST analysis, no VM dependency). Also provides references and signature help.

Building

The LSP server is built as part of the main Vora project:

cd Vora
cmake -B build
cmake --build build --target vora-lsp

The binary vora-lsp (or vora-lsp.exe on Windows) is produced in the build output directory.

VS Code Extension

Development

cd Vora-LSP
npm install
npm run compile

Press F5 in VS Code to launch an Extension Development Host with Vora support.

Packaging

npm install -g @vscode/vsce
vsce package

This produces vora-lang-0.1.0.vsix which can be installed via code --install-extension.

License

MIT — see the main Vora repository.

About

Language Server Protocol implementation for the Vora programming language — C++ LSP server (diagnostics, formatting, semantic analysis) + VS Code extension

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages