Skip to content

Releases: sensmetry/sysml-2ls

0.6.0

15 Mar 13:40
Compare
Choose a tag to compare

Changes

  • Updated to 2024-02 spec
    • Nearly all changes are to validation
  • VS Code configuration settings now use syside section name instead of
    sysml, existing settings will be automatically migrated

Improvements

  • VSCode extension now works on the web with a few differences:

    • syside.standardLibraryPath is ignored, standard library is fetched directly
      from GitHub
    • syside.plugins is ignored

    Performance on the web may be degraded as the server has to share resources
    with other extensions. In addition, selecting SysML language will now provide
    language server support irrespective of the file extension, KerML files have
    to have .kerml extension to get support

  • Only relevant standard library files will be downloaded instead of the full
    repository, greatly improving download

  • Formatter now uses pretty-printer to format documents which can take line
    width into account through

      "[sysml|kerml]": {
        "syside.formatting.lineWidth": 100
      },
      "syside.formatting.lineWidth": 100

    in VS Code settings. Additional options are available through
    syside.formatting. section which can also control optional keyword formatting.
    Formatting can be disabled by leading notes with syside-format ignore inside
    them which will print the element subtree the note is attached to as-is. Let
    us know about any issues with the new formatter like notes disappearing or
    feedback how the formatting style can be improved.

  • Added pretty-printer for KerML and SysML models

Chores

  • Added methods to add and remove owned child elements
  • Refactored model building and validation to work on internal model elements
    instead
  • Refactored AST and internal model to store order dependent child nodes in
    separate fields/properties to allow for easier runtime modifications without
    having to maintain implicit ordering

Full Changelog: 0.5.2...0.6.0

0.5.2

25 May 08:23
Compare
Choose a tag to compare

Fixed

  • Fixed resolving custom SysIDE path on Windows when it was absolute

Full Changelog: 0.5.1...0.5.2

0.5.1

18 May 06:59
Compare
Choose a tag to compare

Improvements

  • Changed how language server is bundled, resulting in much better performance

Full Changelog: 0.5.0...0.5.1

0.5.0

16 May 14:27
Compare
Choose a tag to compare

Fixed

  • False positive standard library validation in some cases on Windows
  • Completion showing suggestions from the current element scope for type and
    feature relationships when completion is triggered by a related token

Improvements

  • Global scopes are now cached in a single structure, and reference resolution
    across documents will be done in constant time unless some documents in the
    workspace contain public imports or unnamed features in root namespace. In
    that case, reference resolution will fall back to iterating through those
    documents if name was not resolved. While this does not improve performance
    much on small projects, it should scale better
  • Improved reference resolution performance, should be more than twice as fast
    now

Full Changelog: 0.4.3...0.5.0

0.4.3

05 May 14:12
Compare
Choose a tag to compare

Fixed

  • StateActionUsage and EffectBehaviorUsage parsing which resulted in bad
    parse trees #9

Chores

  • Updated Langium to 1.2.0

Full Changelog: 0.4.2...0.4.3

0.4.2

04 May 14:13
Compare
Choose a tag to compare

Fixed

  • Standard library always loaded from an equivalent path on the current drive on
    Windows #7
  • False error when semantic token computation is cancelled #8

Chores

  • Added configuration options for custom server path and command line arguments
    which may be used in the future
  • Organized sources into workspace with dependant packages

Full Changelog: 0.4.1...0.4.2