sysml-v2-lsp 0.36.0 → 0.38.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 +25 -0
- package/README.md +36 -1
- package/dist/server/browserServerMain.js +816 -479
- package/dist/server/mcpServer.js +339 -121
- package/dist/server/parseWorker.js +20 -0
- package/dist/server/server.js +816 -479
- package/package.json +35 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,31 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.38.0]
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- 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.
|
|
10
|
+
- Benchmark suite for `sysml/validateText`.
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- Keep temporary validation versions outside the LSP integer range so they
|
|
15
|
+
cannot reuse a real document's version or its cached diagnostics.
|
|
16
|
+
|
|
17
|
+
## [0.37.0]
|
|
18
|
+
|
|
19
|
+
### Fixed
|
|
20
|
+
|
|
21
|
+
- A quoted name in a feature value (`:>> referenceUnit = 'Ω'`) is no longer read as the feature's type and reported as `unresolved-type`.
|
|
22
|
+
- The standard-library index finds quoted short names (`<'Ω'>`, `<'A > B'>`) and quoted names with spaces (`'circular mil'`) by the name inside the quotes.
|
|
23
|
+
- Support Unicode unrestricted names throughout navigation, hover, references,
|
|
24
|
+
rename, completion, quick fixes, hierarchy, import links, selection and semantic validation.
|
|
25
|
+
Decode standard name escapes consistently, preserve qualified-name segments,
|
|
26
|
+
and use UTF-16 editor positions after astral characters in interactive, batch
|
|
27
|
+
and worker parsing. Rename operates on resolved name tokens across files and
|
|
28
|
+
leaves comments, strings, usage names and unrelated declarations unchanged (#120).
|
|
29
|
+
|
|
5
30
|
## [0.36.0]
|
|
6
31
|
|
|
7
32
|
### Fixed
|
package/README.md
CHANGED
|
@@ -27,6 +27,40 @@ A [Language Server Protocol (LSP)](https://microsoft.github.io/language-server-p
|
|
|
27
27
|
|
|
28
28
|
## Quick Start
|
|
29
29
|
|
|
30
|
+
### Unicode and unrestricted names
|
|
31
|
+
|
|
32
|
+
Use single quotes for names outside the ASCII basic-name syntax, for example
|
|
33
|
+
`attribute 'temperature Ω' : Real;`. Names may contain Unicode characters,
|
|
34
|
+
combining marks, spaces and escaped quotes or backslashes. Their spelling is
|
|
35
|
+
preserved without Unicode normalization (SysML 7.2.2; KerML 8.2.2.3).
|
|
36
|
+
|
|
37
|
+
Navigation, hover, references, rename and completions handle the whole quoted
|
|
38
|
+
name. Rename updates resolved workspace references, not comments, string literals,
|
|
39
|
+
usage names or unrelated same-named declarations. Completion and rename insert
|
|
40
|
+
the required quotes and escapes automatically; editor positions use UTF-16,
|
|
41
|
+
including after characters outside the Basic Multilingual Plane.
|
|
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
|
+
|
|
30
64
|
### Install from Marketplace
|
|
31
65
|
|
|
32
66
|
Install via the VS Code extension from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=JamieD.sysml-v2-support).
|
|
@@ -159,7 +193,7 @@ make bench-history # Stable historical benchmark trends
|
|
|
159
193
|
|
|
160
194
|
## Benchmarks
|
|
161
195
|
|
|
162
|
-
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/`.
|
|
163
197
|
|
|
164
198
|
### Running Benchmarks
|
|
165
199
|
|
|
@@ -182,6 +216,7 @@ npm run bench:history # stable historical trends
|
|
|
182
216
|
| `memory` | Forced-GC retained-heap estimates; use for coarse trends, not precise allocation counts |
|
|
183
217
|
| `throughput` | Syntax-valid lexer/parser throughput, including document-level stale-snapshot recovery |
|
|
184
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 |
|
|
185
220
|
|
|
186
221
|
### Regression Detection
|
|
187
222
|
|