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 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, and folder-load performance. Results are written as both JSON and Markdown to `benchmarks/results/`.
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