Language server for DSLs created with textX
Project description
This is an language server (LS) with [textX](https://github.com/igordejanovic/textX) integration written entirely in python.
It implements [Language Server Protocol](https://github.com/Microsoft/language-server-protocol).
## Client Extensions
[textX-vscode](https://github.com/textX-tools/textX-vscode)
## 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
[![textX language server](http://img.youtube.com/vi/vAP5c7pwWiY/0.jpg)](https://www.youtube.com/watch?v=vAP5c7pwWiY)
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](https://github.com/textX-tools/textX-vscode/blob/master/package.json)
## License
This project is licensed under the MIT License - see the [LICENSE.md](LICENSE.md) file for details
## Acknowledgments
Some reusable parts of LS core are used from https://github.com/palantir/python-language-server.
Keywords: textx language server protocol LSP DSL Platform: UNKNOWN Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology Classifier: Intended Audience :: Science/Research Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: License :: OSI Approved :: MIT License Classifier: Operating System :: OS Independent Classifier: Programming Language :: Python :: 3 :: Only Description-Content-Type: text/markdown
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.