@zenwave360/lsp-js 0.1.0-next.13.1 → 0.1.0-next.15.2

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/README.md CHANGED
@@ -51,6 +51,9 @@ hover, definition, references, document symbols and formatting. `capabilities.ex
51
51
  - `customRequests`: `string[]`, the `zenwave/*` requests this server answers. The list is built from the
52
52
  server's handler registration, so a client can rely on it. A request that is not listed is answered
53
53
  with JSON-RPC `-32601`. lsp-jvm additionally exposes workspace concept and status requests.
54
+ - `previewModes`: `true` when `zenwave/preview` accepts its additive `mode` parameter and grouped diagram representations.
55
+ - `organizeModes`: `true` when `zenwave/organizeZflServices` accepts `mode` (`full`, the default, or `additive`).
56
+ - `flowVariants`: `true` when `zenwave/eventFlowViews` accepts its optional `variant` parameter and returns variants.
54
57
 
55
58
  ## Custom requests
56
59
 
@@ -58,9 +61,9 @@ hover, definition, references, document symbols and formatting. `capabilities.ex
58
61
  | --- | --- | --- |
59
62
  | `zenwave/hierarchy` | `{ uri }` | hierarchy nodes `{ id, label, kind, language, sourceUri, sourceRange, children, relatedResources, uiHints, viewNodeIds }[]` |
60
63
  | `zenwave/forwardReferences`, `zenwave/reverseReferences` | `{ uri, semanticId }` | navigation targets |
61
- | `zenwave/organizeZflServices` | `{ uri }` | the reorganised ZFL text, or `null` |
62
- | `zenwave/eventFlowViews` | `{ textDocument: { uri } }` | `{ flowGraph, serviceGraph }`: dsl-kotlin's laid-out flow and service view models, each with its `schema` (`zfl.eventflow.view@1`, `zfl.services.view@1`) |
63
- | `zenwave/preview` | `{ textDocument: { uri }, sequenceRenderMode?: "SEPARATE_VARIANTS" \| "ALT_BLOCKS" \| "AUTO" }` | `{ representations: { id, title, format: "MARKDOWN" \| "MERMAID" \| "HTML", content }[], defaultRepresentationId }` |
64
+ | `zenwave/organizeZflServices` | `{ uri, mode?: "full" \| "additive" }` | the reorganised ZFL text, or `null` |
65
+ | `zenwave/eventFlowViews` | `{ textDocument: { uri }, variant?: string }` | `{ flowGraph, serviceGraph, variants: [{ id, title }] }`: dsl-kotlin's laid-out flow and full service view models, each with its `schema` (`zfl.eventflow.view@1`, `zfl.services.view@1`); `variant` selects the flow graph only |
66
+ | `zenwave/preview` | `{ textDocument: { uri }, mode?: "docs" \| "diagrams", sequenceRenderMode?: "SEPARATE_VARIANTS" \| "ALT_BLOCKS" \| "AUTO" }` | `{ representations: { id, title, format: "MARKDOWN" \| "MERMAID" \| "HTML", content, group? }[], defaultRepresentationId }` |
64
67
  | `zenwave/symbolAt` | `{ textDocument: { uri }, position: { line, character } }` | `{ uri, semanticId, range? }`, the input of the two reference requests, or `null` when nothing is declared or referenced there |
65
68
 
66
69
  `zenwave/hierarchy` answers whether or not the document is open. An open document is answered from the
@@ -74,13 +77,20 @@ groups of the same document's `zenwave/eventFlowViews` that stand for the node's
74
77
  `event:OrderCreated`, `event:OrderCreated@Orders>OrderService`, `group:Orders>OrderService`, `policy:…`); it
75
78
  is empty when the diagram has no counterpart.
76
79
 
77
- `zenwave/preview` answers for ZDL (one `MARKDOWN` representation `domain`, "Domain model": the model's page with its
80
+ `zenwave/organizeZflServices` defaults to `mode: "full"`, which rebuilds the systems block from the flows.
81
+ `mode: "additive"` adds what the flows use and removes nothing. A document the server cannot process answers
82
+ `null` in either mode.
83
+
84
+ `zenwave/preview` defaults to `mode: "docs"`, so it answers for ZDL (one `MARKDOWN` representation `domain`, "Domain model": the model's page with its
78
85
  diagrams as `mermaid` fences), `.zw` (one `MARKDOWN` representation `configuration`, "Plugin configuration": the `config`
79
86
  block and each plugin with what it is for and its resolved configuration; the document's language id is `zw`, or its
80
87
  URI ends in `.zw`) and ZFL (a `flowchart`, then one `sequence:<outcome>:<index>` per end outcome; the first sequence is
81
88
  the default). What a model wrote is escaped in the Markdown, so a `<script>` shows as text. `sequenceRenderMode`
82
89
  defaults to `ALT_BLOCKS`. Null properties are omitted from every result.
83
90
 
91
+ For a ZDL, `mode: "diagrams"` returns only individual `MERMAID` diagrams. Every representation has a `group` of
92
+ `Services`, `Aggregates`, `State Machines`, `Events`, `Commands` or `Unused entities and enums`; absent kinds have no representation.
93
+
84
94
  ### Plugin catalogue
85
95
 
86
96
  The `.zw` page describes each plugin (what it is for, what its options mean) from a plugin catalogue, the JSON