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:
The former maintainers no longer have the time and/or resources to work on this project. This means that bugs will not be fixed and features will not be added unless someone else does so
If you're interested in developing textX-LS, please reply to this GitHub issue (#63).
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