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/activatepip install -r requirements.txtcd 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