Skip to content
This repository was archived by the owner on Oct 13, 2025. It is now read-only.

Commit efbc28d

Browse files
Merge branch 'main' into 'main'
Update to 2024–11 and fix standard library validation bug See merge request https://gitlab.com/sensmetry/public/sysml-2ls/-/merge_requests/121
2 parents 6694292 + bbdfafe commit efbc28d

31 files changed

Lines changed: 1020 additions & 735 deletions

.github/README.md

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
# SysIDE Editor
2-
3-
**NOTE: this is a mirror repository.** The main repository is hosted [here on Gitlab](https://gitlab.com/sensmetry/public/sysml-2ls).
4-
51
<!-- markdownlint-capture -->
6-
<!-- markdownlint-disable-file no-inline-html heading-increment -->
2+
<!-- markdownlint-disable-file no-inline-html heading-increment first-line-heading -->
73

84
<table align="center"><tr><td align="center" width="9999">
95
<img src="../docs/images/logo-full.png" align="center" width="400" alt="SysIDE icon">
106

11-
### SysML v2 'as code' modeling and analysis system
7+
### System Engineering at the Speed of Code
128

13-
_SysIDE_ (pronounced "seaside") is a transformational SysML v2 systems-as-code modeling tool
9+
_SysIDE_ (pronounced "seaside") is a comprehensive tool suite for all of your SysML v2 needs
1410

1511
</td></tr></table>
1612

1713
<!-- markdownlint-restore -->
1814

15+
# SysIDE Editor
16+
17+
**NOTE: this is a mirror repository.** The main repository is hosted [here on Gitlab](https://gitlab.com/sensmetry/public/sysml-2ls).
18+
1919
[![pipeline status](https://gitlab.com/sensmetry/public/sysml-2ls/badges/main/pipeline.svg)](https://gitlab.com/sensmetry/public/sysml-2ls/-/commits/main)
2020
[![coverage report](https://gitlab.com/sensmetry/public/sysml-2ls/badges/main/coverage.svg)](https://sensmetry.gitlab.io/public/sysml-2ls)
2121
[![Latest Release](https://gitlab.com/sensmetry/public/sysml-2ls/-/badges/release.svg)](https://gitlab.com/sensmetry/public/sysml-2ls/-/releases)
@@ -24,9 +24,9 @@ _SysIDE_ (pronounced "seaside") is a transformational SysML v2 systems-as-code m
2424

2525
---
2626

27-
_SysIDE Editor_ is a free and open source SysML v2 textual editing and analysis system, bringing rich SysML v2 language support to Visual Studio Code. _SysIDE Editor_ can also be integrated into other applications and automated workflows which need to interact with SysML v2 textual representations.
27+
_SysIDE Editor_ 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_ can also be integrated into other applications and automated workflows which need to interact with SysML v2 textual representations.
2828

29-
The main enabling components of _SysIDE Editor_ are a parser and a language server for SysML v2 and KerML [2024-05 release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-05) specifications.
29+
The main enabling components of _SysIDE Editor_ are a parser and a language server for SysML v2 and KerML [2024-11 release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11) specifications.
3030

3131
_SysIDE Editor_ provides features such as:
3232

@@ -45,23 +45,26 @@ _SysIDE Editor_ is built and maintained by [**Sensmetry**](https://sensmetry.com
4545

4646
_SysIDE Editor_ is an open source project with contributions from user and developer community highly encouraged and welcome. For further information about the open source license, see [LICENSE](/LICENSE). To contribute, please see the [CONTRIBUTING.md](/CONTRIBUTING.md) document.
4747

48-
## SysIDE tool family
48+
## SysIDE tool suite
4949

50-
_SysIDE_ tool family is quickly growing. At the moment, it includes:
50+
_SysIDE_ tool suite is quickly growing. It includes:
5151

52-
- _SysIDE Editor_ - free and open source VS Code extension, enabling modern 'as code' modeling for everyone.
53-
- _SysIDE Modeler_ - a premium SysML v2 modeling environment. Soon to be released for Early Adopter Program members.
54-
- _SysIDE Automator_ - analyse, optimise, and automate your modeling workflows by using Python. Available to Early Adopter Program members.
52+
- _**SysIDE Editor**_ - free and open source VS Code extension, enabling modern 'as code' modeling for everyone. Available to everyone.
53+
- _**SysIDE Librarian**_ - open-source SysML v2 package manager. Coming soon.
54+
- _**SysIDE Modeler**_ - a premium SysML v2 modeling environment. Available to Early Adopter Program members.
55+
- _**SysIDE Automator**_ - analyse, optimise, and automate your modeling workflows by using Python. Available to Early Adopter Program members.
56+
- _**SysIDE Server**_ - model server to ensure interoperability with other SysML v2 tools, even those that do not support textual notation. Coming soon.
5557

56-
If you want to get in touch regarding any edition of _SysIDE_, reach out to Sensmetry at `syside(at)sensmetry(dot)com`
58+
If you want to get in touch regarding any edition of _SysIDE_, reach out to Sensmetry at [syside@sensmetry.com](mailto:syside@sensmetry.com)
5759

58-
To get more information about the _SysIDE_ tool family or to join the Early Adopter Program, please visit [syside.sensmetry.com](https://syside.sensmetry.com).
60+
To get more information about the _SysIDE_ tool suite or to join the Early Adopter Program, please visit [syside.sensmetry.com](https://syside.sensmetry.com).
5961

6062
## Quick start
6163

6264
### In a browser (without local VSCode)
6365

64-
You can try out _SysIDE_ without needing to instal it locally. To do so:
66+
You can try out _SysIDE Editor_ without needing to instal it locally. To do so:
67+
6568
1. Go to [Visual Studio Code for the Web](https://vscode.dev)
6669
2. Open the `Extensions` tab on the right of the screen
6770
3. Search for and install _SysIDE Editor_
@@ -71,15 +74,15 @@ This is a good way to get a taste for how _SysIDE Editor_ works. But if you plan
7174

7275
### Running locally
7376

74-
0. Install [Visual Studio Code](https://code.visualstudio.com) or [VSCodium](https://vscodium.com)
77+
0. Install [Visual Studio Code](https://code.visualstudio.com), [VSCodium](https://vscodium.com), or [Cursor AI](https://www.cursor.com)
7578
1. Open the `Extensions` tab on the right of the screen
7679
2. Search for and install _SysIDE Editor_
7780
3. Open a SysML v2 (.sysml) file and the extension will activate.
7881
4. Link with the SysML v2 standard library:
7982

8083
## Standard library
8184

82-
_SysIDE Editor_ includes the standard library from the [SysML-v2-Release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-09/sysml.library) repository. The library is licenced under the LGPL v3.0, see [LICENSE](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-09/LICENSE).
85+
_SysIDE Editor_ includes the standard library from the [SysML-v2-Release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11/sysml.library) repository. The library is licenced under the LGPL v3.0, see [LICENSE](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11/LICENSE).
8386

8487
If you wish to use a different version of the standard library you can go to the _SysIDE Editor_ settings and enter the path to the directory with your preferred library.
8588

@@ -96,7 +99,6 @@ The extension provides basic features to support SysML v2 document editing:
9699
![Semantic and syntax checking](/docs/images/validation_dark.gif)
97100
<br> <br>
98101

99-
100102
- **Semantic highlighting** increases readability and allows to distinguish different parts of the code quickly.
101103
![Semantic highlighting](/docs/images/semantic-highlighting.png)
102104
<br> <br>
@@ -138,7 +140,6 @@ The extension provides basic features to support SysML v2 document editing:
138140
![Symbols](/docs/images/symbols.gif)
139141
<br> <br>
140142

141-
142143
<!-- markdownlint-restore -->
143144

144145
## Known Limitations

.gitlab-ci.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ code_navigation:
5959
reports:
6060
lsif: dump.lsif
6161

62-
6362
test:
6463
stage: test
6564
coverage: /Lines\s*:\s*(\d+.?\d*)%/
@@ -94,7 +93,7 @@ validate:
9493
.package-template:
9594
stage: deploy
9695
script:
97-
- *apt_install_package
96+
- *apt_install_package
9897
- *package_artefacts
9998
artifacts:
10099
paths:
@@ -162,7 +161,7 @@ package:release:
162161
echo "$VERSION tag already exists, bailing out"
163162
exit 1
164163
fi
165-
- *apt_install_package
164+
- *apt_install_package
166165
# add GH and GL remotes and check that we can access them
167166
- git remote add github_origin https://github-ci-token:${GH_ACCESS_TOKEN}@github.com/sensmetry/sysml-2ls.git
168167
- git ls-remote -q github_origin
@@ -223,15 +222,17 @@ publish:release:
223222
assets:
224223
links:
225224
- name: $EXTENSION_FILENAME
225+
filepath: $EXTENSION_FILENAME
226226
url: $ARTIFACTS_ROOT_URL/$EXTENSION_RELPATH
227-
- name: $SERVER_FILENAME
228-
url: $ARTIFACTS_ROOT_URL/$SERVER_FILENAME
227+
- name: $SERVER_ZIPNAME
228+
filepath: $SERVER_ZIPNAME
229+
url: $ARTIFACTS_ROOT_URL/$SERVER_ZIPNAME
229230

230231
publish:github:
231232
extends: .publish-template
232233
script:
233234
- echo "Creating and uploading release artifacts to GitHub mirror for version $VERSION"
234-
- node ./scripts/gh-release.mjs --pat ${GH_ACCESS_TOKEN} --tag ${VERSION} --notes ./release.description -a ${EXTENSION_FILENAME}=${EXTENSION_PATH} -a ${SERVER_FILENAME}
235+
- node ./scripts/gh-release.mjs --pat ${GH_ACCESS_TOKEN} --tag ${VERSION} --notes ./release.description -a ${EXTENSION_FILENAME}=${EXTENSION_PATH} -a ${SERVER_ZIPNAME}
235236

236237
publish:vscode:
237238
extends: .publish-template

CHANGELOG.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,21 @@
66

77
## main
88

9+
### Fixed
10+
11+
- Fixed erroneous `validateLibraryPackageNotStandard` validation errors when
12+
using the bundled standard library
13+
14+
### Changes
15+
16+
- Updated to [2024-11 spec](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11)
17+
- New keyword `terminate`
18+
- New type `TerminateActionUsage`
19+
20+
### Chores
21+
22+
- Renamed command titles from 'SysIDE' to 'SysIDE Editor'
23+
924
## 0.7.0
1025

1126
### Changes

LICENSE

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SysIDE License
1+
# SysIDE Editor License
22

33
This program and the accompanying materials are made available under the
44
terms of the Eclipse Public License v. 2.0 which is available at
@@ -641,4 +641,5 @@ with the GNU Classpath Exception which is available at <https://www.gnu.org/soft
641641
based on this library. If you modify this library, you may extend this
642642
exception to your version of the library, but you are not obligated to
643643
do so. If you do not wish to do so, delete this exception statement
644-
from your version.
644+
from your version.
645+

README.md

Lines changed: 20 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
1-
# SysIDE Editor
2-
31
<!-- markdownlint-capture -->
4-
<!-- markdownlint-disable-file no-inline-html heading-increment -->
2+
<!-- markdownlint-disable-file no-inline-html heading-increment first-line-heading -->
53

64
<table align="center"><tr><td align="center" width="9999">
75
<img src="./docs/images/logo-full.png" align="center" width="400" alt="SysIDE icon">
86

9-
### SysML v2 'as code' modeling and analysis system
7+
### System Engineering at the Speed of Code
108

11-
_SysIDE_ (pronounced "seaside") is a transformational SysML v2 systems-as-code modeling tool
9+
_SysIDE_ (pronounced "seaside") is a comprehensive tool suite for all of your SysML v2 needs
1210

1311
</td></tr></table>
1412

1513
<!-- markdownlint-restore -->
1614

15+
# SysIDE Editor
16+
1717
[![pipeline status](https://gitlab.com/sensmetry/public/sysml-2ls/badges/main/pipeline.svg)](https://gitlab.com/sensmetry/public/sysml-2ls/-/commits/main)
1818
[![coverage report](https://gitlab.com/sensmetry/public/sysml-2ls/badges/main/coverage.svg)](https://sensmetry.gitlab.io/public/sysml-2ls)
1919
[![Latest Release](https://gitlab.com/sensmetry/public/sysml-2ls/-/badges/release.svg)](https://gitlab.com/sensmetry/public/sysml-2ls/-/releases)
@@ -22,9 +22,9 @@ _SysIDE_ (pronounced "seaside") is a transformational SysML v2 systems-as-code m
2222

2323
---
2424

25-
_SysIDE Editor_ is a free and open source SysML v2 textual editing and analysis system, bringing rich SysML v2 language support to Visual Studio Code. _SysIDE Editor_ can also be integrated into other applications and automated workflows which need to interact with SysML v2 textual representations.
25+
_SysIDE Editor_ 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_ can also be integrated into other applications and automated workflows which need to interact with SysML v2 textual representations.
2626

27-
The main enabling components of _SysIDE Editor_ are a parser and a language server for SysML v2 and KerML [2024-05 release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-05) specifications.
27+
The main enabling components of _SysIDE Editor_ are a parser and a language server for SysML v2 and KerML [2024-11 release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11) specifications.
2828

2929
_SysIDE Editor_ provides features such as:
3030

@@ -43,23 +43,26 @@ _SysIDE Editor_ is built and maintained by [**Sensmetry**](https://sensmetry.com
4343

4444
_SysIDE Editor_ is an open source project with contributions from user and developer community highly encouraged and welcome. For further information about the open source license, see [LICENSE](/LICENSE). To contribute, please see the [CONTRIBUTING.md](/CONTRIBUTING.md) document.
4545

46-
## SysIDE tool family
46+
## SysIDE tool suite
4747

48-
_SysIDE_ tool family is quickly growing. At the moment, it includes:
48+
_SysIDE_ tool suite is quickly growing. It includes:
4949

50-
- _SysIDE Editor_ - free and open source VS Code extension, enabling modern 'as code' modeling for everyone.
51-
- _SysIDE Modeler_ - a premium SysML v2 modeling environment. Soon to be released for Early Adopter Program members.
52-
- _SysIDE Automator_ - analyse, optimise, and automate your modeling workflows by using Python. Available to Early Adopter Program members.
50+
- _**SysIDE Editor**_ - free and open source VS Code extension, enabling modern 'as code' modeling for everyone. Available to everyone.
51+
- _**SysIDE Librarian**_ - open-source SysML v2 package manager. Coming soon.
52+
- _**SysIDE Modeler**_ - a premium SysML v2 modeling environment. Available to Early Adopter Program members.
53+
- _**SysIDE Automator**_ - analyse, optimise, and automate your modeling workflows by using Python. Available to Early Adopter Program members.
54+
- _**SysIDE Server**_ - model server to ensure interoperability with other SysML v2 tools, even those that do not support textual notation. Coming soon.
5355

54-
If you want to get in touch regarding any edition of _SysIDE_, reach out to Sensmetry at `syside(at)sensmetry(dot)com`
56+
If you want to get in touch regarding any edition of _SysIDE_, reach out to Sensmetry at [syside@sensmetry.com](mailto:syside@sensmetry.com)
5557

56-
To get more information about the _SysIDE_ tool family or to join the Early Adopter Program, please visit [syside.sensmetry.com](https://syside.sensmetry.com).
58+
To get more information about the _SysIDE_ tool suite or to join the Early Adopter Program, please visit [syside.sensmetry.com](https://syside.sensmetry.com).
5759

5860
## Quick start
5961

6062
### In a browser (without local VSCode)
6163

62-
You can try out _SysIDE_ without needing to instal it locally. To do so:
64+
You can try out _SysIDE Editor_ without needing to instal it locally. To do so:
65+
6366
1. Go to [Visual Studio Code for the Web](https://vscode.dev)
6467
2. Open the `Extensions` tab on the right of the screen
6568
3. Search for and install _SysIDE Editor_
@@ -69,15 +72,15 @@ This is a good way to get a taste for how _SysIDE Editor_ works. But if you plan
6972

7073
### Running locally
7174

72-
0. Install [Visual Studio Code](https://code.visualstudio.com) or [VSCodium](https://vscodium.com)
75+
0. Install [Visual Studio Code](https://code.visualstudio.com), [VSCodium](https://vscodium.com), or [Cursor AI](https://www.cursor.com)
7376
1. Open the `Extensions` tab on the right of the screen
7477
2. Search for and install _SysIDE Editor_
7578
3. Open a SysML v2 (.sysml) file and the extension will activate.
7679
4. Link with the SysML v2 standard library:
7780

7881
## Standard library
7982

80-
_SysIDE Editor_ includes the standard library from the [SysML-v2-Release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-09/sysml.library) repository. The library is licenced under the LGPL v3.0, see [LICENSE](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-09/LICENSE).
83+
_SysIDE Editor_ includes the standard library from the [SysML-v2-Release](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11/sysml.library) repository. The library is licenced under the LGPL v3.0, see [LICENSE](https://github.com/Systems-Modeling/SysML-v2-Release/tree/2024-11/LICENSE).
8184

8285
If you wish to use a different version of the standard library you can go to the _SysIDE Editor_ settings and enter the path to the directory with your preferred library.
8386

@@ -94,7 +97,6 @@ The extension provides basic features to support SysML v2 document editing:
9497
![Semantic and syntax checking](/docs/images/validation_dark.gif)
9598
<br> <br>
9699

97-
98100
- **Semantic highlighting** increases readability and allows to distinguish different parts of the code quickly.
99101
![Semantic highlighting](/docs/images/semantic-highlighting.png)
100102
<br> <br>
@@ -136,7 +138,6 @@ The extension provides basic features to support SysML v2 document editing:
136138
![Symbols](/docs/images/symbols.gif)
137139
<br> <br>
138140

139-
140141
<!-- markdownlint-restore -->
141142

142143
## Known Limitations

docs/images/logo-full.png

-128 KB
Loading

packages/syside-base/src/stdlib.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
********************************************************************************/
1616

1717
export const STDLIB = {
18-
version: "2024-09",
19-
tree: "https://github.com/Systems-Modeling/SysML-v2-Release/blob/2024-09/sysml.library/",
20-
raw: "https://raw.githubusercontent.com/Systems-Modeling/SysML-v2-Release/2024-09/sysml.library/",
18+
version: "2024-11",
19+
tree: "https://github.com/Systems-Modeling/SysML-v2-Release/blob/2024-11/sysml.library/",
20+
raw: "https://raw.githubusercontent.com/Systems-Modeling/SysML-v2-Release/2024-11/sysml.library/",
2121
files: [
2222
"Systems Library/Actions.sysml",
2323
"Systems Library/Allocations.sysml",

packages/syside-languageserver/scripts/clone-sysml-release.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ const __dirname = path.dirname(__filename);
2828
const root = path.join(__dirname, "..", "..", "..");
2929
const dir = path.join(root, "SysML-v2-Release");
3030

31-
const tag = "2024-09";
31+
const tag = "2024-11";
3232

3333
if (existsSync(dir)) {
3434
await exec(`git config remote.origin.fetch "+refs/tags/${tag}:refs/tags/${tag}"`, { cwd: dir })

packages/syside-languageserver/scripts/run-validation.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,11 @@ async function collectDocuments(
9696
if (fileExtensions.includes(Utils.extname(node.uri))) uris.push(node.uri);
9797
}
9898

99-
return uris.map((uri) => services.workspace.LangiumDocuments.getOrCreateDocument(uri));
99+
return uris.map((uri) => {
100+
const doc = services.workspace.LangiumDocuments.getOrCreateDocument(uri);
101+
doc.isStandard = doc.uriString.includes("sysml.library");
102+
return doc;
103+
});
100104
}
101105

102106
// Build collected documents

0 commit comments

Comments
 (0)