@cratis/screenplay-language 1.7.0 → 1.8.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/completion-items.ts +6 -0
- package/completion-planner.ts +13 -1
- package/dist/completion-items.d.ts +1 -0
- package/dist/completion-items.d.ts.map +1 -1
- package/dist/completion-items.js +5 -0
- package/dist/completion-items.js.map +1 -1
- package/dist/completion-planner.d.ts.map +1 -1
- package/dist/completion-planner.js +11 -1
- package/dist/completion-planner.js.map +1 -1
- package/dist/document-context.d.ts +1 -0
- package/dist/document-context.d.ts.map +1 -1
- package/dist/document-context.js +18 -0
- package/dist/document-context.js.map +1 -1
- package/dist/keyword-docs.d.ts.map +1 -1
- package/dist/keyword-docs.js +1 -0
- package/dist/keyword-docs.js.map +1 -1
- package/dist/language.d.ts.map +1 -1
- package/dist/language.js +2 -1
- package/dist/language.js.map +1 -1
- package/document-context.ts +22 -0
- package/keyword-docs.ts +1 -0
- package/language.ts +2 -1
- package/package.json +1 -1
package/completion-items.ts
CHANGED
|
@@ -115,6 +115,11 @@ export const specificationItems: CompletionEntry[] = [
|
|
|
115
115
|
{ label: 'then error "..."', insertText: 'then error "${1:reason}"', documentation: 'A rejection, for the named reason.' },
|
|
116
116
|
];
|
|
117
117
|
|
|
118
|
+
export const ruleItems: CompletionEntry[] = [
|
|
119
|
+
{ label: 'file', insertText: 'file ${1:Path}', documentation: 'Gives the named predicate its implementation in an external C# file.' },
|
|
120
|
+
{ label: 'csharp', insertText: fenced('csharp'), documentation: 'Gives the named predicate its implementation as inline C# returning a bool.' },
|
|
121
|
+
];
|
|
122
|
+
|
|
118
123
|
export const policyItems: CompletionEntry[] = [
|
|
119
124
|
{ label: 'require authenticated', insertText: 'require authenticated', documentation: 'Requires an authenticated caller.' },
|
|
120
125
|
{ label: 'require role', insertText: 'require role "${1:role}"', documentation: 'Requires the caller to have a role.' },
|
|
@@ -127,6 +132,7 @@ export const validateItems: CompletionEntry[] = [
|
|
|
127
132
|
{ label: 'max', insertText: '${1:property} max ${2:500} message "${3:message}"', documentation: 'Maximum length or value.' },
|
|
128
133
|
{ label: 'min', insertText: '${1:property} min ${2:1} message "${3:message}"', documentation: 'Minimum length or value.' },
|
|
129
134
|
{ label: 'matches', insertText: '${1:property} matches "${2:pattern}" message "${3:message}"', documentation: 'The property must match a regular expression.' },
|
|
135
|
+
{ label: 'rule', insertText: '${1:property} rule ${2:PredicateName} message "${3:message}"', documentation: 'Names a predicate — optionally followed by an indented `file` reference or inline `csharp` block giving it a body; bare, it just states that a constraint exists.' },
|
|
130
136
|
{ label: 'length ==', insertText: '${1:property} length == ${2:3} message "${3:message}"', documentation: 'The property must have an exact length.' },
|
|
131
137
|
{ label: 'all >', insertText: '${1:collection}.${2:property} all > ${3:0} message "${4:message}"', documentation: 'Every element of a collection must satisfy the comparison.' },
|
|
132
138
|
];
|
package/completion-planner.ts
CHANGED
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
3
|
|
|
4
|
-
import { enclosingChain, fenceMap, indentOf } from './document-context';
|
|
4
|
+
import { enclosingChain, fenceMap, indentOf, nearestEnclosingLine } from './document-context';
|
|
5
5
|
import { getSubLanguage } from './sub-language-registry';
|
|
6
6
|
import * as items from './completion-items';
|
|
7
7
|
import { CompletionEntry } from './completion-items';
|
|
8
8
|
|
|
9
|
+
// Matches a validation rule line ending in "rule <Name>" (optionally followed by a
|
|
10
|
+
// message clause) - both the command form ("<property> rule <Name>") and the
|
|
11
|
+
// concept implied-subject form ("rule <Name>"). Its first word is the property
|
|
12
|
+
// name, not "rule", so it can't be recognized through the chain[0] keyword switch
|
|
13
|
+
// the way "on <EventType>" or "handler" are - hence the dedicated regex check.
|
|
14
|
+
const RULE_LINE_PATTERN = /(?:^|\s)rule\s+[A-Za-z_]\w*(?:\s+message\s+.*)?$/;
|
|
15
|
+
|
|
9
16
|
export type CompletionPlan =
|
|
10
17
|
| { kind: 'none' }
|
|
11
18
|
| { kind: 'entries'; entries: CompletionEntry[] }
|
|
@@ -118,5 +125,10 @@ export function planCompletions(
|
|
|
118
125
|
return { kind: 'types' };
|
|
119
126
|
}
|
|
120
127
|
|
|
128
|
+
const enclosingLine = nearestEnclosingLine(lines, fences, lineIndex, effectiveIndent);
|
|
129
|
+
if (enclosingLine && RULE_LINE_PATTERN.test(enclosingLine)) {
|
|
130
|
+
return { kind: 'entries', entries: items.ruleItems };
|
|
131
|
+
}
|
|
132
|
+
|
|
121
133
|
return { kind: 'entries', entries: completionEntriesFor(chain) };
|
|
122
134
|
}
|
|
@@ -18,6 +18,7 @@ export declare const constraintItems: CompletionEntry[];
|
|
|
18
18
|
export declare const reactorItems: CompletionEntry[];
|
|
19
19
|
export declare const reactorOnItems: CompletionEntry[];
|
|
20
20
|
export declare const specificationItems: CompletionEntry[];
|
|
21
|
+
export declare const ruleItems: CompletionEntry[];
|
|
21
22
|
export declare const policyItems: CompletionEntry[];
|
|
22
23
|
export declare const validateItems: CompletionEntry[];
|
|
23
24
|
export declare const screenItems: CompletionEntry[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-items.d.ts","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,aAAa,EAAE,eAAe,EAQ1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAIzC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAMzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EASvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAQzC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAOvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAAe,EAI5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAQ/C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAKxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"completion-items.d.ts","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,eAAe;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACzB;AAID,eAAO,MAAM,aAAa,EAAE,eAAe,EAQ1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAIzC,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAMzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EASvC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAQzC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAE1C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAOvC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,eAAe,EAI5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,eAAe,EAGzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,eAAe,EAI3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,eAAe,EAQ/C,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,eAAe,EAGtC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAKxC,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,eAAe,EAQ1C,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAYxC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,eAAe,EAGxC,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,eAAe,EAGvC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAYjD,CAAC"}
|
package/dist/completion-items.js
CHANGED
|
@@ -92,6 +92,10 @@ export const specificationItems = [
|
|
|
92
92
|
{ label: 'then error', insertText: 'then error', documentation: 'A rejection, for a reason this specification does not name.' },
|
|
93
93
|
{ label: 'then error "..."', insertText: 'then error "${1:reason}"', documentation: 'A rejection, for the named reason.' },
|
|
94
94
|
];
|
|
95
|
+
export const ruleItems = [
|
|
96
|
+
{ label: 'file', insertText: 'file ${1:Path}', documentation: 'Gives the named predicate its implementation in an external C# file.' },
|
|
97
|
+
{ label: 'csharp', insertText: fenced('csharp'), documentation: 'Gives the named predicate its implementation as inline C# returning a bool.' },
|
|
98
|
+
];
|
|
95
99
|
export const policyItems = [
|
|
96
100
|
{ label: 'require authenticated', insertText: 'require authenticated', documentation: 'Requires an authenticated caller.' },
|
|
97
101
|
{ label: 'require role', insertText: 'require role "${1:role}"', documentation: 'Requires the caller to have a role.' },
|
|
@@ -103,6 +107,7 @@ export const validateItems = [
|
|
|
103
107
|
{ label: 'max', insertText: '${1:property} max ${2:500} message "${3:message}"', documentation: 'Maximum length or value.' },
|
|
104
108
|
{ label: 'min', insertText: '${1:property} min ${2:1} message "${3:message}"', documentation: 'Minimum length or value.' },
|
|
105
109
|
{ label: 'matches', insertText: '${1:property} matches "${2:pattern}" message "${3:message}"', documentation: 'The property must match a regular expression.' },
|
|
110
|
+
{ label: 'rule', insertText: '${1:property} rule ${2:PredicateName} message "${3:message}"', documentation: 'Names a predicate — optionally followed by an indented `file` reference or inline `csharp` block giving it a body; bare, it just states that a constraint exists.' },
|
|
106
111
|
{ label: 'length ==', insertText: '${1:property} length == ${2:3} message "${3:message}"', documentation: 'The property must have an exact length.' },
|
|
107
112
|
{ label: 'all >', insertText: '${1:collection}.${2:property} all > ${3:0} message "${4:message}"', documentation: 'Every element of a collection must satisfy the comparison.' },
|
|
108
113
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-items.js","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion-items.js","sourceRoot":"","sources":["../completion-items.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAQrG,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,GAAG,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,2DAA2D,EAAE;IAC3I,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,sEAAsE,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACjL,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,0CAA0C,EAAE,aAAa,EAAE,6DAA6D,EAAE;IACjK,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,0JAA0J,EAAE,aAAa,EAAE,gFAAgF,EAAE;IAChT,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,6CAA6C,EAAE,aAAa,EAAE,gFAAgF,EAAE;IAC7K,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,kDAAkD,EAAE,aAAa,EAAE,+DAA+D,EAAE;IACnK,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,+DAA+D,EAAE;CAC5I,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,2EAA2E,EAAE,aAAa,EAAE,8FAA8F,EAAE;IAC/N,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,qDAAqD,EAAE,aAAa,EAAE,8CAA8C,EAAE;IAC/J,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,qDAAqD,EAAE,aAAa,EAAE,oEAAoE,EAAE;CAChL,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAsB;IACxC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,+CAA+C,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACjJ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,uDAAuD,EAAE;CACvI,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,mDAAmD,EAAE,aAAa,EAAE,uDAAuD,EAAE;IAC5J,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,gDAAgD,EAAE;CAC/H,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,gCAAgC,EAAE;IAC5G,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mCAAmC,EAAE,aAAa,EAAE,6DAA6D,EAAE;IAC7J,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iCAAiC,EAAE,aAAa,EAAE,iEAAiE,EAAE;IAC7J,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,kCAAkC,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACtJ,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iCAAiC,EAAE,aAAa,EAAE,gDAAgD,EAAE;CAC/I,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IACzC,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,8CAA8C,EAAE,aAAa,EAAE,yDAAyD,EAAE;IACxJ,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,gDAAgD,EAAE,aAAa,EAAE,iEAAiE,EAAE;IACpK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mCAAmC,EAAE,aAAa,EAAE,4DAA4D,EAAE;IAChJ,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,iEAAiE,EAAE,aAAa,EAAE,sDAAsD,EAAE;IAC7K,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,wCAAwC,EAAE,aAAa,EAAE,4EAA4E,EAAE;IACvK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,0CAA0C,EAAE,aAAa,EAAE,kCAAkC,EAAE;IAC/H,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,oEAAoE,EAAE,aAAa,EAAE,uBAAuB,EAAE;IAC7I,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,kEAAkE,EAAE,aAAa,EAAE,mEAAmE,EAAE;CAC9L,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,oCAAoC,EAAE,aAAa,EAAE,0FAA0F,EAAE;IAC7L,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,oEAAoE,EAAE;IACpJ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,8DAA8D,EAAE,aAAa,EAAE,6CAA6C,EAAE;IAC/J,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,YAAY,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACjJ,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,0DAA0D,EAAE,aAAa,EAAE,+DAA+D,EAAE;IAC7K,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,uFAAuF,EAAE,aAAa,EAAE,wDAAwD,EAAE;IACxM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,6FAA6F,EAAE;CAClK,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,aAAa,EAAE,6CAA6C,EAAE;CACrH,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,8DAA8D,EAAE;IAC9H,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,2CAA2C,EAAE;CAChH,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IACzC,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,4DAA4D,EAAE,aAAa,EAAE,4EAA4E,EAAE;IAC/L,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,kDAAkD,EAAE;IACzH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,+DAA+D,EAAE;IAC/I,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,kFAAkF,EAAE,aAAa,EAAE,2EAA2E,EAAE;IAC5N,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,kEAAkE,EAAE;IAClJ,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,oFAAoF,EAAE;CAC7J,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,yDAAyD,EAAE;IACzH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,kFAAkF,EAAE;IACpJ,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,aAAa,EAAE,wCAAwC,EAAE;CACvG,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAsB;IAC9C,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wCAAwC,EAAE,aAAa,EAAE,wDAAwD,EAAE;IAClJ,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,6BAA6B,EAAE,aAAa,EAAE,oEAAoE,EAAE;IACzJ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,yDAAyD,EAAE;CAC5H,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAsB;IAC3C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,2CAA2C,EAAE,aAAa,EAAE,gFAAgF,EAAE;IAClL,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,oEAAoE,EAAE;CACxI,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAsB;IAC7C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,4CAA4C,EAAE,aAAa,EAAE,mFAAmF,EAAE;IACtL,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,gDAAgD,EAAE;IAChH,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,yCAAyC,EAAE;CAC9G,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACjD,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,sDAAsD,EAAE,aAAa,EAAE,wEAAwE,EAAE;IAC/K,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,oEAAoE,EAAE,aAAa,EAAE,8CAA8C,EAAE;IAC7K,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,uDAAuD,EAAE,aAAa,EAAE,8BAA8B,EAAE;IACrI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,qDAAqD,EAAE,aAAa,EAAE,kDAAkD,EAAE;IACvJ,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,mEAAmE,EAAE,aAAa,EAAE,kDAAkD,EAAE;IAC/K,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,6DAA6D,EAAE;IAC/H,EAAE,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,0BAA0B,EAAE,aAAa,EAAE,oCAAoC,EAAE;CAC7H,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAsB;IACxC,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,sEAAsE,EAAE;IACtI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,6EAA6E,EAAE;CAClJ,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,uBAAuB,EAAE,UAAU,EAAE,uBAAuB,EAAE,aAAa,EAAE,mCAAmC,EAAE;IAC3H,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,0BAA0B,EAAE,aAAa,EAAE,qCAAqC,EAAE;IACvH,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,EAAE,iDAAiD,EAAE,aAAa,EAAE,mDAAmD,EAAE;IAC7J,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,aAAa,EAAE,0DAA0D,EAAE;CAC/H,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAsB;IAC5C,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,gDAAgD,EAAE,aAAa,EAAE,iCAAiC,EAAE;IACtI,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,mDAAmD,EAAE,aAAa,EAAE,0BAA0B,EAAE;IAC5H,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,iDAAiD,EAAE,aAAa,EAAE,0BAA0B,EAAE;IAC1H,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,6DAA6D,EAAE,aAAa,EAAE,+CAA+C,EAAE;IAC/J,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,8DAA8D,EAAE,aAAa,EAAE,mKAAmK,EAAE;IACjR,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,uDAAuD,EAAE,aAAa,EAAE,yCAAyC,EAAE;IACrJ,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mEAAmE,EAAE,aAAa,EAAE,4DAA4D,EAAE;CACnL,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,8CAA8C,EAAE,aAAa,EAAE,mDAAmD,EAAE;IACjJ,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,uDAAuD,EAAE;IAClI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,6CAA6C,EAAE;IACvH,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACjH,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,6DAA6D,EAAE,aAAa,EAAE,iDAAiD,EAAE;IAC/J,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,mEAAmE,EAAE,aAAa,EAAE,0CAA0C,EAAE;IAChK,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,qCAAqC,EAAE;IACzG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,gEAAgE,EAAE;IAChI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,kEAAkE,EAAE;IAClI,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,YAAY,CAAC,EAAE,aAAa,EAAE,0BAA0B,EAAE;IACpG,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,aAAa,EAAE,qBAAqB,EAAE;CACtF,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC1C,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,6BAA6B,EAAE,aAAa,EAAE,mDAAmD,EAAE;IACvI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,kCAAkC,EAAE;CACzG,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAsB;IACzC,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,wCAAwC,EAAE,aAAa,EAAE,+BAA+B,EAAE;IACzH,EAAE,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,wDAAwD,EAAE,aAAa,EAAE,kCAAkC,EAAE;CACrJ,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACnD,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,mBAAmB,EAAE,aAAa,EAAE,yCAAyC,EAAE;IACzH,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,mDAAmD,EAAE;IAC/H,EAAE,KAAK,EAAE,mBAAmB,EAAE,UAAU,EAAE,gCAAgC,EAAE,aAAa,EAAE,0CAA0C,EAAE;IACvI,EAAE,KAAK,EAAE,qBAAqB,EAAE,UAAU,EAAE,8BAA8B,EAAE,aAAa,EAAE,2CAA2C,EAAE;IACxI,EAAE,KAAK,EAAE,2BAA2B,EAAE,UAAU,EAAE,2BAA2B,EAAE,aAAa,EAAE,2DAA2D,EAAE;IAC3J,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,gEAAgE,EAAE;IAC1J,EAAE,KAAK,EAAE,4BAA4B,EAAE,UAAU,EAAE,4BAA4B,EAAE,aAAa,EAAE,6DAA6D,EAAE;IAC/J,EAAE,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,yBAAyB,EAAE,aAAa,EAAE,sDAAsD,EAAE;IAClJ,EAAE,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,sBAAsB,EAAE,aAAa,EAAE,4CAA4C,EAAE;IAClI,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,aAAa,EAAE,0BAA0B,EAAE;IAC/F,EAAE,KAAK,EAAE,wBAAwB,EAAE,UAAU,EAAE,wBAAwB,EAAE,aAAa,EAAE,+CAA+C,EAAE;CAC5I,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-planner.d.ts","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-planner.d.ts","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AASrD,MAAM,MAAM,cAAc,GACpB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,eAAe,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,kBAAkB,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,iBAAiB,CAAA;CAAE,GAC3B;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAExB,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,eAAe,EAAE,CAmDvE;AAID,wBAAgB,eAAe,CAC3B,KAAK,EAAE,MAAM,EAAE,EACf,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACnB,cAAc,CAgDhB"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
// Copyright (c) Cratis. All rights reserved.
|
|
2
2
|
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
|
3
|
-
import { enclosingChain, fenceMap, indentOf } from './document-context';
|
|
3
|
+
import { enclosingChain, fenceMap, indentOf, nearestEnclosingLine } from './document-context';
|
|
4
4
|
import { getSubLanguage } from './sub-language-registry';
|
|
5
5
|
import * as items from './completion-items';
|
|
6
|
+
// Matches a validation rule line ending in "rule <Name>" (optionally followed by a
|
|
7
|
+
// message clause) - both the command form ("<property> rule <Name>") and the
|
|
8
|
+
// concept implied-subject form ("rule <Name>"). Its first word is the property
|
|
9
|
+
// name, not "rule", so it can't be recognized through the chain[0] keyword switch
|
|
10
|
+
// the way "on <EventType>" or "handler" are - hence the dedicated regex check.
|
|
11
|
+
const RULE_LINE_PATTERN = /(?:^|\s)rule\s+[A-Za-z_]\w*(?:\s+message\s+.*)?$/;
|
|
6
12
|
export function completionEntriesFor(chain) {
|
|
7
13
|
const construct = chain[0];
|
|
8
14
|
if (construct === undefined)
|
|
@@ -96,6 +102,10 @@ export function planCompletions(lines, lineIndex, textBefore) {
|
|
|
96
102
|
if (chain[0] === 'query' && /^\s+(?:by|filter)\s+[a-z_]\w*\s+[\w[\]?]*$/.test(textBefore)) {
|
|
97
103
|
return { kind: 'types' };
|
|
98
104
|
}
|
|
105
|
+
const enclosingLine = nearestEnclosingLine(lines, fences, lineIndex, effectiveIndent);
|
|
106
|
+
if (enclosingLine && RULE_LINE_PATTERN.test(enclosingLine)) {
|
|
107
|
+
return { kind: 'entries', entries: items.ruleItems };
|
|
108
|
+
}
|
|
99
109
|
return { kind: 'entries', entries: completionEntriesFor(chain) };
|
|
100
110
|
}
|
|
101
111
|
//# sourceMappingURL=completion-planner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-planner.js","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"completion-planner.js","sourceRoot":"","sources":["../completion-planner.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,4 +2,5 @@ export declare function indentOf(line: string): number;
|
|
|
2
2
|
export declare function firstWord(line: string): string;
|
|
3
3
|
export declare function fenceMap(lines: string[]): boolean[];
|
|
4
4
|
export declare function enclosingChain(lines: string[], fences: boolean[], lineIndex: number, indent: number): string[];
|
|
5
|
+
export declare function nearestEnclosingLine(lines: string[], fences: boolean[], lineIndex: number, indent: number): string | undefined;
|
|
5
6
|
//# sourceMappingURL=document-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-context.d.ts","sourceRoot":"","sources":["../document-context.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAYnD;AAMD,wBAAgB,cAAc,CAC1B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,MAAM,EAAE,CAcV"}
|
|
1
|
+
{"version":3,"file":"document-context.d.ts","sourceRoot":"","sources":["../document-context.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAYnD;AAMD,wBAAgB,cAAc,CAC1B,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,MAAM,EAAE,CAcV;AAOD,wBAAgB,oBAAoB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,MAAM,EAAE,OAAO,EAAE,EACjB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,GACf,MAAM,GAAG,SAAS,CAUpB"}
|
package/dist/document-context.js
CHANGED
|
@@ -42,4 +42,22 @@ export function enclosingChain(lines, fences, lineIndex, indent) {
|
|
|
42
42
|
}
|
|
43
43
|
return chain;
|
|
44
44
|
}
|
|
45
|
+
// Returns the full trimmed text of the nearest enclosing block opener above a
|
|
46
|
+
// position — the same line enclosingChain's first entry is derived from, but kept
|
|
47
|
+
// whole rather than reduced to its first word. Used where the construct is not
|
|
48
|
+
// identified by a fixed leading keyword, such as a validation rule line, whose
|
|
49
|
+
// first word is the property it applies to rather than "rule".
|
|
50
|
+
export function nearestEnclosingLine(lines, fences, lineIndex, indent) {
|
|
51
|
+
for (let index = lineIndex - 1; index >= 0 && indent > 0; index--) {
|
|
52
|
+
if (fences[index])
|
|
53
|
+
continue;
|
|
54
|
+
const line = lines[index];
|
|
55
|
+
if (line.trim().length === 0)
|
|
56
|
+
continue;
|
|
57
|
+
if (indentOf(line) < indent) {
|
|
58
|
+
return line.trim();
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return undefined;
|
|
62
|
+
}
|
|
45
63
|
//# sourceMappingURL=document-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-context.js","sourceRoot":"","sources":["../document-context.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,UAAU,QAAQ,CAAC,KAAe;IACpC,MAAM,GAAG,GAAc,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,CAAC;YACb,SAAS;QACb,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,iFAAiF;AACjF,mFAAmF;AACnF,kFAAkF;AAClF,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAC1B,KAAe,EACf,MAAiB,EACjB,SAAiB,EACjB,MAAc;IAEd,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAG,MAAM,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvE,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,SAAS;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,aAAa,GAAG,UAAU,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC"}
|
|
1
|
+
{"version":3,"file":"document-context.js","sourceRoot":"","sources":["../document-context.ts"],"names":[],"mappings":"AAAA,6CAA6C;AAC7C,qGAAqG;AAErG,MAAM,UAAU,QAAQ,CAAC,IAAY;IACjC,OAAO,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC7C,CAAC;AAED,2EAA2E;AAC3E,oEAAoE;AACpE,MAAM,UAAU,QAAQ,CAAC,KAAe;IACpC,MAAM,GAAG,GAAc,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAChD,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;YAClB,IAAI,GAAG,CAAC,IAAI,CAAC;YACb,SAAS;QACb,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAED,iFAAiF;AACjF,mFAAmF;AACnF,kFAAkF;AAClF,6EAA6E;AAC7E,MAAM,UAAU,cAAc,CAC1B,KAAe,EACf,MAAiB,EACjB,SAAiB,EACjB,MAAc;IAEd,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,aAAa,GAAG,MAAM,CAAC;IAC3B,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACvE,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,SAAS;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,UAAU,GAAG,aAAa,EAAE,CAAC;YAC7B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,aAAa,GAAG,UAAU,CAAC;QAC/B,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,8EAA8E;AAC9E,kFAAkF;AAClF,+EAA+E;AAC/E,+EAA+E;AAC/E,+DAA+D;AAC/D,MAAM,UAAU,oBAAoB,CAChC,KAAe,EACf,MAAiB,EACjB,SAAiB,EACjB,MAAc;IAEd,KAAK,IAAI,KAAK,GAAG,SAAS,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,IAAI,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QAChE,IAAI,MAAM,CAAC,KAAK,CAAC;YAAE,SAAS;QAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACvC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC;QACvB,CAAC;IACL,CAAC;IACD,OAAO,SAAS,CAAC;AACrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-docs.d.ts","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"keyword-docs.d.ts","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2F9C,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAGhD,CAAC;AAEF,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAgBtD,CAAC"}
|
package/dist/keyword-docs.js
CHANGED
|
@@ -32,6 +32,7 @@ export const keywordDocs = {
|
|
|
32
32
|
produces: 'Declares the events a command emits — single, multiple, or conditional.',
|
|
33
33
|
handler: 'A fully imperative command implementation — a `file <Path>` reference or an inline `csharp` block, instead of `produces`.',
|
|
34
34
|
when: 'Guards a produced event or a capture append with a condition.',
|
|
35
|
+
rule: 'Names a predicate. Bare, it states that a constraint exists without expressing what it computes — nothing resolves the name. Optionally followed by an indented `file <Path>` reference or inline `csharp` block giving it a body.',
|
|
35
36
|
require: 'A policy condition: `authenticated`, `role "..."`, or `claim "..." matches ...`.',
|
|
36
37
|
authenticated: 'Requires an authenticated caller.',
|
|
37
38
|
role: 'Requires the caller to have the given role.',
|
package/dist/keyword-docs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyword-docs.js","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keyword-docs.js","sourceRoot":"","sources":["../keyword-docs.ts"],"names":[],"mappings":"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"}
|
package/dist/language.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,cAAc,eAAe,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAAC,uBAK9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAoB7B,CAAC;AAEF,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"language.d.ts","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,cAAc,eAAe,CAAC,CAAC;AAEpD,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,sBAAsB,EAAE,SAAS,CAAC,uBAK9C,CAAC;AAEF,eAAO,MAAM,iBAAiB,UAoB7B,CAAC;AAEF,eAAO,MAAM,cAAc,UA4D1B,CAAC;AAEF,eAAO,MAAM,aAAa,UAAmD,CAAC;AAG9E,eAAO,MAAM,YAAY,UAQxB,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAkC,CAAC;AAElE,eAAO,MAAM,UAAU,UAA0D,CAAC;AAElF,eAAO,MAAM,cAAc,UAAmE,CAAC;AAE/F,eAAO,MAAM,iBAAiB,UAAyB,CAAC;AAExD,eAAO,MAAM,qBAAqB,EAAE,SAAS,CAAC,qBA2B7C,CAAC"}
|
package/dist/language.js
CHANGED
|
@@ -51,6 +51,7 @@ export const clauseKeywords = [
|
|
|
51
51
|
'message',
|
|
52
52
|
'not',
|
|
53
53
|
'empty',
|
|
54
|
+
'rule',
|
|
54
55
|
'matches',
|
|
55
56
|
'all',
|
|
56
57
|
'max',
|
|
@@ -125,7 +126,7 @@ export const languageConfiguration = {
|
|
|
125
126
|
offSide: true,
|
|
126
127
|
},
|
|
127
128
|
indentationRules: {
|
|
128
|
-
increaseIndentPattern: /^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reactor|constraint|layout|template|validate|produces|handler|performer|section|concurrency|seed|for)\b.*$/,
|
|
129
|
+
increaseIndentPattern: /^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reactor|constraint|layout|template|validate|produces|handler|performer|rule|section|concurrency|seed|for)\b.*$/,
|
|
129
130
|
// Dedents are always explicit in an offside language — never auto-dedent.
|
|
130
131
|
decreaseIndentPattern: /(?!)/,
|
|
131
132
|
},
|
package/dist/language.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"language.js","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"language.js","sourceRoot":"","sources":["../language.ts"],"names":[],"mappings":"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"}
|
package/document-context.ts
CHANGED
|
@@ -49,3 +49,25 @@ export function enclosingChain(
|
|
|
49
49
|
}
|
|
50
50
|
return chain;
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
// Returns the full trimmed text of the nearest enclosing block opener above a
|
|
54
|
+
// position — the same line enclosingChain's first entry is derived from, but kept
|
|
55
|
+
// whole rather than reduced to its first word. Used where the construct is not
|
|
56
|
+
// identified by a fixed leading keyword, such as a validation rule line, whose
|
|
57
|
+
// first word is the property it applies to rather than "rule".
|
|
58
|
+
export function nearestEnclosingLine(
|
|
59
|
+
lines: string[],
|
|
60
|
+
fences: boolean[],
|
|
61
|
+
lineIndex: number,
|
|
62
|
+
indent: number,
|
|
63
|
+
): string | undefined {
|
|
64
|
+
for (let index = lineIndex - 1; index >= 0 && indent > 0; index--) {
|
|
65
|
+
if (fences[index]) continue;
|
|
66
|
+
const line = lines[index];
|
|
67
|
+
if (line.trim().length === 0) continue;
|
|
68
|
+
if (indentOf(line) < indent) {
|
|
69
|
+
return line.trim();
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
package/keyword-docs.ts
CHANGED
|
@@ -33,6 +33,7 @@ export const keywordDocs: Record<string, string> = {
|
|
|
33
33
|
produces: 'Declares the events a command emits — single, multiple, or conditional.',
|
|
34
34
|
handler: 'A fully imperative command implementation — a `file <Path>` reference or an inline `csharp` block, instead of `produces`.',
|
|
35
35
|
when: 'Guards a produced event or a capture append with a condition.',
|
|
36
|
+
rule: 'Names a predicate. Bare, it states that a constraint exists without expressing what it computes — nothing resolves the name. Optionally followed by an indented `file <Path>` reference or inline `csharp` block giving it a body.',
|
|
36
37
|
require: 'A policy condition: `authenticated`, `role "..."`, or `claim "..." matches ...`.',
|
|
37
38
|
authenticated: 'Requires an authenticated caller.',
|
|
38
39
|
role: 'Requires the caller to have the given role.',
|
package/language.ts
CHANGED
|
@@ -59,6 +59,7 @@ export const clauseKeywords = [
|
|
|
59
59
|
'message',
|
|
60
60
|
'not',
|
|
61
61
|
'empty',
|
|
62
|
+
'rule',
|
|
62
63
|
'matches',
|
|
63
64
|
'all',
|
|
64
65
|
'max',
|
|
@@ -141,7 +142,7 @@ export const languageConfiguration: languages.LanguageConfiguration = {
|
|
|
141
142
|
},
|
|
142
143
|
indentationRules: {
|
|
143
144
|
increaseIndentPattern:
|
|
144
|
-
/^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reactor|constraint|layout|template|validate|produces|handler|performer|section|concurrency|seed|for)\b.*$/,
|
|
145
|
+
/^\s*(module|feature|slice|policy|persona|authentication|provider|event|command|query|type|screen|projection|capture|reactor|constraint|layout|template|validate|produces|handler|performer|rule|section|concurrency|seed|for)\b.*$/,
|
|
145
146
|
// Dedents are always explicit in an offside language — never auto-dedent.
|
|
146
147
|
decreaseIndentPattern: /(?!)/,
|
|
147
148
|
},
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cratis/screenplay-language",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.8.0",
|
|
4
4
|
"description": "Monaco language service for the Cratis Screenplay DSL — syntax highlighting, IntelliSense, hover and diagnostics for .play files",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|