textX language server
This is an language server (LS) with textX integration written entirely in python. It implements Language Server Protocol.
Client Extensions
Project Structure
-
capabilities
(implementation of LS features) -
commands
(LS commands which includes calling some textX commands) -
generators
(generating new extensions for our DSLs) -
infastructure
(implementation of LS core) -
metamodel
(textX grammars for various DSLs)
Building and running localy
- Make sure you have python 3.4+ installed on your machine.
- Create and activate virtual environment
- Install server with
pip install textxls
pip uninstall textx
pip install https://github.com/igordejanovic/textx/archive/master.zip
- Run server
textxls --tcp
NOTE:
Steps 4. and 5. are required because new version of textX is not yet published on pypi.
Language server features
Features 3:20 :
- Linting 3:25
- Go To Definition 3:35
- Find All References 3:49
- Code Completion 4:02
- Code Outline 3:20
- Exporting Metamodel dot file 4:11
- Exporting Model dot file 4:25
- Soon :)
Activation events, languages, commands, snippets
Please take a look at package.json
License
This project is licensed under the MIT License - see the LICENSE.md file for details
Acknowledgments
Some reusable parts of LS core are used from https://github.com/palantir/python-language-server.