Skip to content

sensmetry/sysml-2ls

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

[Deprecated] SysIDE Editor Legacy

NOTE: this is a mirror repository. The main repository is hosted here on Gitlab.

Warning

This SysIDE Editor Legacy extension has been deprecated and is no longer being maintained

Please uninstall this extension and install the new Syside Editor, which has been migrated to a new software base. The new version is significantly more performant, can handle larger SysML v2 models, and will receive faster updates.

Read the announcement.

pipeline status coverage report Latest Release VSCode Marketplace OpenVSX


SysIDE Editor Legacy is a free and open source SysML v2 textual editing and analysis tool, bringing rich SysML v2 language support to Visual Studio Code. SysIDE Editor Legacy can also be integrated into other applications and automated workflows which need to interact with SysML v2 textual representations.

The main enabling components of SysIDE Editor Legacy are a parser and a language server for SysML v2 and KerML 2024-12 release specifications.

SysIDE Editor Legacy provides features such as:

  • Semantic highlighting
  • Autocompletion
  • Code navigation
  • Formatting
  • Real-time syntax and semantic validation
  • Reference search
  • Folding
  • Document symbols
  • Renaming
  • Documentation on hover

SysIDE Editor Legacy is built and maintained by Sensmetry, a company focused on ensuring the safety and reliability of mission- & safety-critical automated systems.

SysIDE Editor Legacy is an open source project and Sensmetry is looking for community contributions from users and developers. For further information about the open source license, see LICENSE. To contribute, please see the CONTRIBUTING.md document.

Syside tool suite

Syside tool suite is quickly growing. It includes:

If you want to get in touch regarding any edition of Syside, reach out to Sensmetry at [email protected]

Join the community

Connect with other Syside and SysML v2 users to share your experiences and learn from others on our community forum.

Quick start

In a browser (without local VSCode)

You can try out SysIDE Editor Legacy without needing to instal it locally. To do so:

  1. Go to Visual Studio Code for the Web
  2. Open the Extensions tab on the right of the screen
  3. Search for and install SysIDE Editor Legacy
  4. Open a folder or a .sysml file

This is a good way to get a taste for how SysIDE Editor Legacy works. But if you plan on using it for a longer term or for larger models, we suggest installing it locally.

Running locally

  1. Install Visual Studio Code, VSCodium, or Cursor AI
  2. Open the Extensions tab on the right of the screen
  3. Search for and install SysIDE Editor Legacy
  4. Open a SysML v2 (.sysml) file and the extension will activate.
  5. Link with the SysML v2 standard library:

Standard library

SysIDE Editor Legacy includes the standard library from our fork of the SysML-v2-Release repository. The library is licensed under the LGPL v3.0, see LICENSE.

If you wish to use a different version of the standard library you can go to the SysIDE Editor Legacy settings and enter the path to the directory with your preferred library.

Settings

Features

The extension provides basic features to support SysML v2 document editing:

  • Semantic and syntax checking identifies errors as they occur allowing to instantly correct mistakes and speed up workflow.
    Semantic and syntax checking

  • Semantic highlighting increases readability and allows to distinguish different parts of the code quickly.
    Semantic highlighting

  • Autocompletion speeds up the workflow by reducing typing errors and minimizing manual input.
    Autocompletion

  • Hovers instantly display documentation allowing to quickly understand an element.
    Hovers

  • Code navigation speeds up development by enabling quick access to element definitions.
    Navigation

  • Folding improves readability and eases navigation by organizing code into collapsible sections.
    Folding

  • Auto-formatting enhances code readability and maintainability by ensuring consistent structure for:

    • Comment bodies
      Comment bodies

    • Elements
      Elements

  • Renaming saves time and reduces errors by renaming all elements with the same name with one click.
    Renaming

  • References enable efficient navigation and code updating by identifying all instances of an element.
    References

  • Document symbols provide rapid model overviews, enabling efficient comprehension and navigation.
    Symbols

Known Limitations

See docs/known_limitations.md.

Developer instructions

Building from source code

  • Install pnpm
  • Run pnpm install to install dependencies.
  • Run pnpm run grammar:generate to generate TypeScript code from the grammar definition.
  • Run pnpm run build to compile all TypeScript code.

Make changes

  • Run pnpm run install-hooks to install git hooks.
  • Run pnpm run watch to have the TypeScript compiler run automatically after every change of the source files.
  • Run pnpm run grammar:watch to have the Langium generator run automatically after every change of the grammar declaration.
  • You can relaunch the extension from the debug toolbar after making changes to the files listed above.
  • You can also reload (Ctrl+R or Cmd+R on Mac) the VS Code window with your extension to load your changes.

Packaging

To package the extension for VS Code run:

pnpm run vscode:package

Contributing

We invite enthusiasts and developers to join the SysML v2 open-source community by contributing to and expanding the capabilities of the SysIDE Editor Legacy.

See CONTRIBUTING.md.

Disclaimer

SysIDE Editor Legacy is developed for the language that carries the name of SysML which is a trademark of OMG. SysIDE Editor Legacy has been started and continues to be maintained by Sensmetry.

The project is open source. For further information, see LICENSE.

Packages

No packages published

Contributors 3

  •  
  •  
  •