textXls

Language server for DSLs created with textX


License
MIT
Install
pip install textXls==1.1.0

Documentation

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

  1. Make sure you have python 3.4+ installed on your machine.
  2. Create and activate virtual environment
  3. Install server with pip install textxls
  4. pip uninstall textx
  5. pip install https://github.com/igordejanovic/textx/archive/master.zip
  6. 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

textX language server

Features 3:20 :

  1. Linting 3:25
  2. Go To Definition 3:35
  3. Find All References 3:49
  4. Code Completion 4:02
  5. Code Outline 3:20
  6. Exporting Metamodel dot file 4:11
  7. Exporting Model dot file 4:25
  8. 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.