Version: v0.1.2
CBLS provides developers with a set of language features to improve the experience of coding in cbscript, a command scripting language created by SethBling.
This project aims to deliver community-driven tooling to support and enhance cbscript development.
CBLS is currently implemented in Python as an initial exploration of the Language Server Protocol, with a future rewrite in Java
These are the features I'd like to have implemented, with its current progression
- ✅ Tokenizing documents
- ✅ Syntax highlighting
- ⏳ Parsing rules
- ⏳ Syntax checking
- ⏳ Autocomplete
- ❌ Find references
- ❌ Hover support
- ⏳ Diagnostics/Warnings
- ❌ Customizable configuration
Note: CBLS is in early development and is not yet distributed as a packaged release.
git clone https://github.com/JhonTabio/CBLS.git
cd CBLS
Create a virtual environment:
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
Start the language server:
python cbls.py
CBLS communicates over stdio and is intended to be launched by an LSP-compatible editor or client
CBLS is designed to work with any editor that supports the Language Server Protocol
- Neovim (via nvim-lspconfig)
- VS Code (custom LSP client) Editor-specific instructions will be added as support matures
- cbscript – Official repository for SethBling's cbscript.
Contributions are always welcomed, this is my first in-depth project in making an LSP, let alone both a lexer and parser.
If you encounter bugs, see areas which can be improved, or have suggestions for new features, please feel free to open an issue or submit a pull request.
