sysml-v2-lsp 0.37.0 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +21 -0
- package/README.md +23 -1
- package/dist/server/browserServerMain.js +308 -77
- package/dist/server/mcpServer.js +72 -9
- package/dist/server/server.js +286 -55
- package/package.json +35 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.39.0]
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
|
|
9
|
+
- A short name that clashes with a sibling's name or short name (`part def <A> Alpha; part def A;`) is reported as `ambiguous-namespace-name` (KerML 7.2.5.2), and a reference by the name they clash on (`A`) is left unresolved rather than taken for either.
|
|
10
|
+
- Keep ambiguous names unresolved in navigation, hover, references, rename,
|
|
11
|
+
linked editing and hierarchy preparation, including qualified and feature paths.
|
|
12
|
+
Retain every conflicting declaration when both names of an element clash.
|
|
13
|
+
|
|
14
|
+
## [0.38.0]
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- Experimental LSP request `sysml/validateText`: validates texts against the workspace model without opening or publishing anything. Disabled by default. Enabled by `sysml.experimental.validateText.enabled`, limited by `maxDocuments` (5), `maxLines` (200), `maxCharacters` (8,192 per document), and `maxTotalCharacters` (16,384 per request). Character limits use UTF-16 code units and are checked before parsing.
|
|
19
|
+
- Benchmark suite for `sysml/validateText`.
|
|
20
|
+
|
|
21
|
+
### Fixed
|
|
22
|
+
|
|
23
|
+
- Keep temporary validation versions outside the LSP integer range so they
|
|
24
|
+
cannot reuse a real document's version or its cached diagnostics.
|
|
25
|
+
|
|
5
26
|
## [0.37.0]
|
|
6
27
|
|
|
7
28
|
### Fixed
|
package/README.md
CHANGED
|
@@ -40,6 +40,27 @@ usage names or unrelated same-named declarations. Completion and rename insert
|
|
|
40
40
|
the required quotes and escapes automatically; editor positions use UTF-16,
|
|
41
41
|
including after characters outside the Basic Multilingual Plane.
|
|
42
42
|
|
|
43
|
+
### Experimental text validation
|
|
44
|
+
|
|
45
|
+
`sysml/validateText` checks proposed document texts against the current workspace,
|
|
46
|
+
including unsaved documents, without opening documents or publishing diagnostics.
|
|
47
|
+
It is disabled by default. Enable `sysml.experimental.validateText.enabled` to use it.
|
|
48
|
+
Requests contain `documents`, an array of `{ uri, text }` entries. The response
|
|
49
|
+
contains each requested URI and its diagnostics, in request order.
|
|
50
|
+
|
|
51
|
+
The default limits are 5 documents, 200 lines per document, 8,192 characters per
|
|
52
|
+
document, and 16,384 characters across the request. Characters are UTF-16 code
|
|
53
|
+
units, so an emoji outside the Basic Multilingual Plane counts as two.
|
|
54
|
+
The corresponding settings are `maxDocuments`, `maxLines`, `maxCharacters` and
|
|
55
|
+
`maxTotalCharacters` under `sysml.experimental.validateText`.
|
|
56
|
+
Oversized requests fail with `InvalidParams` before parsing or changing cached
|
|
57
|
+
documents. Disabled requests fail with `MethodNotFound`.
|
|
58
|
+
|
|
59
|
+
Only requested documents are checked. Include an affected existing document
|
|
60
|
+
with its current text to check it too. Results use the server's existing
|
|
61
|
+
diagnostic checks; they do not certify complete SysML conformance.
|
|
62
|
+
Input limits reduce work but do not guarantee a fixed response time.
|
|
63
|
+
|
|
43
64
|
### Install from Marketplace
|
|
44
65
|
|
|
45
66
|
Install via the VS Code extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=JamieD.sysml-v2-support).
|
|
@@ -172,7 +193,7 @@ make bench-history # Stable historical benchmark trends
|
|
|
172
193
|
|
|
173
194
|
## Benchmarks
|
|
174
195
|
|
|
175
|
-
A built-in benchmark suite measures parser, symbol table, LSP provider, memory, throughput,
|
|
196
|
+
A built-in benchmark suite measures parser, symbol table, LSP provider, memory, throughput, folder-load, and `sysml/validateText` performance. Results are written as both JSON and Markdown to `benchmarks/results/`.
|
|
176
197
|
|
|
177
198
|
### Running Benchmarks
|
|
178
199
|
|
|
@@ -195,6 +216,7 @@ npm run bench:history # stable historical trends
|
|
|
195
216
|
| `memory` | Forced-GC retained-heap estimates; use for coarse trends, not precise allocation counts |
|
|
196
217
|
| `throughput` | Syntax-valid lexer/parser throughput, including document-level stale-snapshot recovery |
|
|
197
218
|
| `folderLoad` | Workspace-style file discovery, parse, and symbol build |
|
|
219
|
+
| `validateText` | Main-thread time of a `sysml/validateText` request by workspace, text and request size, and the rebuild it leaves for the next request |
|
|
198
220
|
|
|
199
221
|
### Regression Detection
|
|
200
222
|
|