OpenModelica / modelica-language-server

A VS Code language server extension for Modelica.
Other
5 stars 2 forks source link
language-server modelica vscode-extension

Modelica Language Server

Build

A very early version of a Modelica Language Server based on OpenModelica/tree-sitter-modelica.

For syntax highlighting install enxtension AnHeuermann.metamodelica in addition.

Functionality

This Language Server works for Modelica files. It has the following language features:

Installation

Via Marketplace

Via VSIX File

Download the latest modelica-language-server-0.2.0.vsix from the releases page.

Check the VS Code documentation on how to install a .vsix file. Use the Install from VSIX command or run

code --install-extension modelica-language-server-0.2.0.vsix

Contributing ❤️

Contributions are very welcome!

We made the first tiny step but need help to add more features and refine the language server.

If you are searching for a good point to start check the good first issue. To see where the development is heading to check the Projects section. If you need more information start a discussion over at OpenModelica/OpenModelica.

Found a bug or having issues? Open a new issue.

Structure

.
├── client // Language Client
│   ├── src
│   │   ├── test // End to End tests for Language Client / Server
│   │   └── extension.ts // Language Client entry point
├── package.json // The extension manifest.
└── server // Modelica Language Server
    └── src
        └── server.ts // Language Server entry point

Building the Language Server

Build and Install Extension

npx vsce package

License

modelica-language-server is licensed under the OSMC Public License v1.8, see OSMC-License.txt.

3rd Party Licenses

This extension is based on https://github.com/microsoft/vscode-extension-samples/tree/main/lsp-sample, licensed under MIT license.

Some parts of the source code are taken from bash-lsp/bash-language-server, licensed under the MIT license and adapted to the Modelica language server.

OpenModelica/tree-sitter-modelica v0.2.0 is included in this extension and is licensed under the OSMC-PL v1.8.

Acknowledgments

This package was initially developed by Hochschule Bielefeld - University of Applied Sciences and Arts.