Lark Parser Language Server is a Language Server Protocol (LSP) implementation for the Lark parsing library. It provides features such as syntax highlighting, code completion, and error checking for Lark grammar files in compatible code editors.
The language server provides the following LSP features:
- Diagnostics: Syntax error detection and undefined symbol validation
- Code Completion: Intelligent suggestions for rules, terminals, and keywords
- Hover Information: Documentation and type information on hover
- Go to Definition: Navigate to rule and terminal definitions
- Find References: Locate all usages of symbols
- Document Symbols: Outline view with rules and terminals
- Semantic Analysis: Advanced grammar validation
- Formatting: Automatic code formatting for Lark grammar files
- Python 3.9.0 or higher
Install from PyPI
pip install lark-parser-language-server
Run the language server
# Run the server
python -m lark_language_server
# Run with TCP (for debugging)
python -m lark_language_server --tcp --host 127.0.0.1 --port 2087
Documentation is available at our docs site ↗.
All changes to versions of this library are listed in our change log ↗.
Contributions are greatly appreciated.
Please fork this repository and open a pull request to make grammar tweaks, add support for other subgrammars etc.
See the list of contributors in our contributors page ↗.
This project is licensed under the terms of the Apache-2.0 license. See the LICENSE ↗ file.