GithubHelp home page GithubHelp logo

openmodelica / metamodelica-language-server Goto Github PK

View Code? Open in Web Editor NEW
0.0 7.0 1.0 1.38 MB

A VS Code language server extension for MetaModelica.

License: Other

JavaScript 2.16% TypeScript 97.36% Modelica 0.24% Shell 0.24%

metamodelica-language-server's Introduction

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.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 metamodelica-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 // 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.

metamodelica-language-server's People

Contributors

anheuermann avatar

Watchers

Martin Sjölund avatar Adeel Asghar avatar Adrian Pop avatar Francesco Casella avatar Per Östlund avatar Lennart Ochel avatar Mahder Gebremedhin avatar

Forkers

anheuermann

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.