Helix LSP for writing Lojban
- Rust 97.1%
- Nix 2.9%
| crates/lojban-lsp | ||
| docs | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
lojban-lsp
lojban-lsp is a Language Server Protocol server for Lojban.
It provides diagnostics, hover, completion, semantic highlighting, inlay hints, selection ranges, folding ranges, document symbols, formatting, document highlights, zbalermorna conversion, lujvo decomposition, and lujvo creation actions.
Editor Setup
- Helix: see
docs/HELIX.md. - Configuration: see
docs/CONFIGURATION.md. - Design notes: see
docs/DESIGN.md.
Capabilities
- Incremental document sync with UTF-16-safe text edits.
- Immediate morphology analysis plus debounced background grammar parsing.
- Push and pull diagnostics for morphology, normalization hints, and syntax.
- Hover with morphology, dictionary details, grammar context, and lujvo parts.
- Prefix completion backed by normalized Lojban dictionary lookup, rafsi lookup, quote snippets, and parser-expected grammar words.
- Semantic-token highlighting without an editor-side Lojban grammar.
- Inlay hints for zbalermorna and CLL-style direct translations.
- Formatting and quick fixes for lowercase, commas, and apostrophe spelling.
- Code actions for zbalermorna conversion, lujvo decomposition, and lujvo generation from selected source words.
Development
nix develop
cargo test --workspace