Skip to main content

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

## 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](http://img.youtube.com/vi/vAP5c7pwWiY/0.jpg)](https://www.youtube.com/watch?v=vAP5c7pwWiY)

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](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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

textXls-1.0.1.tar.gz (607.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page