Skip to content

OpenModelica/metamodelica-language-server

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

234c218 · Apr 19, 2024

History

4 Commits
Apr 17, 2024
Apr 17, 2024
Apr 19, 2024
Apr 19, 2024
Apr 17, 2024
Apr 19, 2024
Apr 17, 2024
Apr 17, 2024
Apr 17, 2024
Apr 17, 2024
Apr 17, 2024
Apr 19, 2024
Apr 19, 2024
Apr 19, 2024
Apr 19, 2024
Apr 17, 2024

Repository files navigation

MetaModelica Language Server

Build

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

For syntax highlighting install extension AnHeuermann.metamodelica in addition.

Functionality

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

  • Provide Outline of MetaModelica files.

    Outline

  • Diagnostics:

    Diagnostics

Installation

Via Marketplace

OpenModelica.metamodelica-language-server is not yet listed on the marketplace.

Via VSIX File

Download the latest metamodelica-language-server-0.1.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 metamodelica-language-server-0.1.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 // MetaModelica Language Server
    └── src
        └── server.ts // Language Server entry point

Building the Language Server

  • Run npm install and npm run postinstall in this folder.This installs all necessary npm modules in both the client and server folder
  • Open VS Code on this folder.
  • Press Ctrl+Shift+B to start compiling the client and server in watch mode.
  • Switch to the Run and Debug View in the Sidebar (Ctrl+Shift+D).
  • Select Launch Client from the drop down (if it is not already).
  • Press ▷ to run the launch config (F5).
  • In the Extension Development Host instance of VSCode, open a document in 'metamodelica' language mode.
    • Check the console output of Language Server MetaModelica to see the parsed tree of the opened file.

Build and Install Extension

npx vsce package

License

metamodelica-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 MetaModelica language server.

OpenModelica/tree-sitter-metamodelica 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.

About

A VS Code language server extension for MetaModelica.

Resources

Stars

Watchers

Forks

Packages

No packages published