textX-LS is a language server that provides smartness for all domain specific languages based on textX.
This repository consists of two python packages:
and a Visual Studio Code extension:
After several years of inactivity this project is in a transition to a new maintainer. Please see this announcement.
Building a custom VS Code extension for newly registered language is delegated to the textx-vscode generator which uses textx-coloring to produce a syntax highlighting Textmate file.
- language project registration/unregistration (editable mode is supported)
- languages and generators preview
- language VS Code extension generation and installation
- model and meta-model validations
- default syntax highlighting
- live-reload on grammar changes (editable mode)
- configure and run generators
- language project scaffolding
- optional environment configuration
- code completion
- jump to definition
- find all references
- configurable syntax highlighting
- code folding
- symbols tree view
- viewX integration
This project requires python 3.6 and node v10.16 for development.
Installation steps:
python -m venv env && source env/bin/activate
pip install -r requirements.txt
cd client && npm i
To register pre-commit hooks, run: pre-commit install
To run pre-commit hooks manually: pre-commit run --all-files
Running the extension in VS Code:
In order to run the extension, client directory must be added as a workspace folder or opened as a root project.
Now, switch to debug view, choose Server + Client
option and press F5.
A new VS Code window should be opened in examples directory.
Take a look at build process.
MIT
-
textX language project is a python package that registers one or more languages using a textX registration API
-
textX generator project is a python package that registers one or more generators using a textX registration API