atdoc-core 0.1.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/LICENSE +21 -0
- package/README.md +33 -0
- package/configs/atdoc-setting.json +30 -0
- package/dist/Adapters.d.ts +18 -0
- package/dist/Adapters.d.ts.map +1 -0
- package/dist/Adapters.js +484 -0
- package/dist/Adapters.js.map +1 -0
- package/dist/Lexer.d.ts +23 -0
- package/dist/Lexer.d.ts.map +1 -0
- package/dist/Lexer.js +292 -0
- package/dist/Lexer.js.map +1 -0
- package/dist/Parser.d.ts +136 -0
- package/dist/Parser.d.ts.map +1 -0
- package/dist/Parser.js +797 -0
- package/dist/Parser.js.map +1 -0
- package/dist/Serializer.d.ts +97 -0
- package/dist/Serializer.d.ts.map +1 -0
- package/dist/Serializer.js +753 -0
- package/dist/Serializer.js.map +1 -0
- package/dist/editor/monarch.d.ts +17 -0
- package/dist/editor/monarch.d.ts.map +1 -0
- package/dist/editor/monarch.js +163 -0
- package/dist/editor/monarch.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/registry.d.ts +104 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +265 -0
- package/dist/registry.js.map +1 -0
- package/dist/types.d.ts +55 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/docs/en/Block-Syntax-Specification.md +992 -0
- package/docs/en/Inline-Syntax-Specification.md +915 -0
- package/docs/en/README.md +235 -0
- package/package.json +36 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Serializer.js","sourceRoot":"","sources":["../src/Serializer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface MonarchAction {
|
|
2
|
+
token: string;
|
|
3
|
+
next?: string;
|
|
4
|
+
}
|
|
5
|
+
export type MonarchRule = [RegExp, string | MonarchAction];
|
|
6
|
+
export interface MonarchLanguage {
|
|
7
|
+
defaultToken: string;
|
|
8
|
+
tokenizer: Record<string, MonarchRule[]>;
|
|
9
|
+
}
|
|
10
|
+
export declare const atDocMonarchLanguage: MonarchLanguage;
|
|
11
|
+
/** A minimal default theme mapping this tokenizer's scopes to colors, for `monaco.editor.defineTheme`. */
|
|
12
|
+
export declare const atDocThemeRules: {
|
|
13
|
+
token: string;
|
|
14
|
+
foreground: string;
|
|
15
|
+
fontStyle?: string;
|
|
16
|
+
}[];
|
|
17
|
+
//# sourceMappingURL=monarch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monarch.d.ts","sourceRoot":"","sources":["../../src/editor/monarch.ts"],"names":[],"mappings":"AA0GA,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AACD,MAAM,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC,CAAC;AAC3D,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;CAC1C;AAuDD,eAAO,MAAM,oBAAoB,EAAE,eASlC,CAAC;AAEF,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,EAOtF,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
// Monarch tokenizer for @Doc syntax highlighting (Monaco/VS Code-family editors).
|
|
2
|
+
//
|
|
3
|
+
// Fixes three problems in the previous ad-hoc TextMate grammar (note/TextMate.md):
|
|
4
|
+
//
|
|
5
|
+
// 1. The old grammar captured an entire "[...]" slot with one
|
|
6
|
+
// `\[[^\]]+\]` regex, so everything inside became a single opaque
|
|
7
|
+
// "string" scope — nested nodes never got their own colors.
|
|
8
|
+
// 2. That same regex couldn't match nested or cross-line brackets at all —
|
|
9
|
+
// `@table[@cols[...]@data[...]]` failed to match past the first "]".
|
|
10
|
+
// 3. The keyword list was hand-copied and didn't include restricted-context
|
|
11
|
+
// nodes (@cols, @data, @tab), so they were never highlighted and would
|
|
12
|
+
// silently go stale as registry.ts evolved.
|
|
13
|
+
//
|
|
14
|
+
// This tokenizer fixes all three by:
|
|
15
|
+
// - using a real push/pop state machine so "[" opens a *nested* scanning
|
|
16
|
+
// state and only its own matching "]" pops back out (item 1 & 2), and
|
|
17
|
+
// - deriving every keyword list from registry.ts's getAllNodeDefs() instead
|
|
18
|
+
// of a hand-maintained array (item 3) — new registry entries flow in
|
|
19
|
+
// automatically as long as their `content`/`paren` fields are accurate.
|
|
20
|
+
//
|
|
21
|
+
// Raw-family nodes (@code, @mermaid, @svg, @kbd, @fn, @raw) push an opaque
|
|
22
|
+
// scanning state that never recognizes "@node" syntax inside it, matching
|
|
23
|
+
// Lexer.ts's `isRawFamily` / `scanRawContent` behavior — this is what makes
|
|
24
|
+
// `@code[@mark[not parsed]]` render its contents as inert code, not markup.
|
|
25
|
+
//
|
|
26
|
+
// This module has no runtime dependency on the `monaco-editor` package: it
|
|
27
|
+
// exports plain data shaped like Monaco's `languages.IMonarchLanguage`, so
|
|
28
|
+
// any Monaco-based consumer (e.g. the wedc web editor) can hand it straight
|
|
29
|
+
// to `monaco.languages.setMonarchTokensProvider('atdoc', atDocMonarchLanguage)`
|
|
30
|
+
// without AtDoc itself depending on monaco-editor.
|
|
31
|
+
//
|
|
32
|
+
// Known simplifications (documented rather than silently wrong):
|
|
33
|
+
// - Void nodes (@hr, @n) never take a "(paren)"/"{styles}" slot here, even
|
|
34
|
+
// though the real Lexer would technically tokenize one if present — void
|
|
35
|
+
// nodes never use this in practice.
|
|
36
|
+
// - Raw-family nodes support at most a single-line "(paren)" immediately
|
|
37
|
+
// before "[" (this is what @code's language tag needs) and no "{styles}"
|
|
38
|
+
// slot — matching registry.ts, where no raw-family node declares
|
|
39
|
+
// `styles: true` and only @code declares a non-'none' `paren`.
|
|
40
|
+
// - Bracket-family nodes (generic/comma-list/rows/table/tabs/meta content)
|
|
41
|
+
// get full, multi-line-safe "(paren)" and "{styles}" handling, since
|
|
42
|
+
// Monarch tokenizes one editor line at a time and @img's paren is
|
|
43
|
+
// allowed to span lines (see test.atd).
|
|
44
|
+
import { getAllAliasDefs, getAllNodeDefs } from '../registry';
|
|
45
|
+
const IDENT_BOUNDARY = '(?![a-zA-Z0-9_-])';
|
|
46
|
+
function alternation(names) {
|
|
47
|
+
return names.join('|');
|
|
48
|
+
}
|
|
49
|
+
// Short aliases (@h/@p/@b/@i/@u) highlight the same as whatever their
|
|
50
|
+
// canonical command highlights as — they share its content/paren shape, just
|
|
51
|
+
// under a different spelling (registry.ts's getNodeDef() resolves both to
|
|
52
|
+
// the identical NodeDef) — so every bucket below must include them too, or
|
|
53
|
+
// they'd silently fall through to the plain-text Unknown Command Fallback
|
|
54
|
+
// rule despite being fully valid commands.
|
|
55
|
+
function namesWhere(predicate) {
|
|
56
|
+
const defs = getAllNodeDefs();
|
|
57
|
+
const byName = new Map(defs.map(d => [d.name, d]));
|
|
58
|
+
const names = defs.filter(d => predicate(d.content, d.paren)).map(d => d.name);
|
|
59
|
+
for (const a of getAllAliasDefs()) {
|
|
60
|
+
const canonical = byName.get(a.canonical);
|
|
61
|
+
if (canonical && predicate(canonical.content, canonical.paren))
|
|
62
|
+
names.push(a.alias);
|
|
63
|
+
}
|
|
64
|
+
return names;
|
|
65
|
+
}
|
|
66
|
+
const voidNames = namesWhere(content => content === 'none');
|
|
67
|
+
const rawEscapedNames = namesWhere(content => content === 'raw-escaped');
|
|
68
|
+
const rawPlainAllNames = namesWhere(content => content === 'raw' || content === 'key' || content === 'integer');
|
|
69
|
+
const rawPlainWithParenNames = namesWhere((content, paren) => (content === 'raw' || content === 'key' || content === 'integer') && paren !== 'none');
|
|
70
|
+
const rawPlainNoParenNames = rawPlainAllNames.filter(n => !rawPlainWithParenNames.includes(n));
|
|
71
|
+
const bracketNames = namesWhere(content => content !== 'none' && content !== 'raw-escaped' && content !== 'raw' && content !== 'key' && content !== 'integer');
|
|
72
|
+
// registry.ts assumption this tokenizer relies on for its raw-escaped
|
|
73
|
+
// combined regex (see module comment "Known simplifications"). If this ever
|
|
74
|
+
// fires, the raw-escaped bucket has grown a member with a real paren slot
|
|
75
|
+
// and rawEscapedRegex below needs the same with-paren/no-paren split as
|
|
76
|
+
// rawPlain gets.
|
|
77
|
+
for (const d of getAllNodeDefs()) {
|
|
78
|
+
if (d.content === 'raw-escaped' && d.paren !== 'none') {
|
|
79
|
+
throw new Error(`editor/monarch.ts: "${d.name}" is raw-escaped but declares a paren slot — tokenizer needs updating.`);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function re(pattern) {
|
|
83
|
+
return new RegExp(pattern);
|
|
84
|
+
}
|
|
85
|
+
const voidRegex = voidNames.length ? re(`@(?:${alternation(voidNames)})${IDENT_BOUNDARY}`) : null;
|
|
86
|
+
const rawEscapedRegex = rawEscapedNames.length ? re(`@(?:${alternation(rawEscapedNames)})\\[`) : null;
|
|
87
|
+
const rawPlainWithParenRegex = rawPlainWithParenNames.length
|
|
88
|
+
? re(`@(?:${alternation(rawPlainWithParenNames)})(?:\\([^)]*\\))?\\[`)
|
|
89
|
+
: null;
|
|
90
|
+
const rawPlainNoParenRegex = rawPlainNoParenNames.length ? re(`@(?:${alternation(rawPlainNoParenNames)})\\[`) : null;
|
|
91
|
+
const bracketRegex = bracketNames.length ? re(`@(?:${alternation(bracketNames)})${IDENT_BOUNDARY}`) : null;
|
|
92
|
+
const rules = [];
|
|
93
|
+
rules.push([/@@/, 'constant.character.escape.doc']);
|
|
94
|
+
if (voidRegex)
|
|
95
|
+
rules.push([voidRegex, 'keyword.control.doc']);
|
|
96
|
+
if (rawEscapedRegex)
|
|
97
|
+
rules.push([rawEscapedRegex, { token: 'keyword.control.doc', next: '@rawEscaped' }]);
|
|
98
|
+
if (rawPlainWithParenRegex)
|
|
99
|
+
rules.push([rawPlainWithParenRegex, { token: 'keyword.control.doc', next: '@rawPlain' }]);
|
|
100
|
+
if (rawPlainNoParenRegex)
|
|
101
|
+
rules.push([rawPlainNoParenRegex, { token: 'keyword.control.doc', next: '@rawPlain' }]);
|
|
102
|
+
if (bracketRegex)
|
|
103
|
+
rules.push([bracketRegex, 'keyword.control.doc']);
|
|
104
|
+
// Unknown command fallback (Inline Syntax Specification §6) — always plain text.
|
|
105
|
+
rules.push([/@[a-zA-Z0-9_-]*/, '']);
|
|
106
|
+
// "(paren)" / "{styles}" are self-contained push/pop pairs independent of
|
|
107
|
+
// bracket depth, so they can follow any node name above without an
|
|
108
|
+
// intermediate state — see module comment.
|
|
109
|
+
rules.push([/\(/, { token: 'punctuation.definition.doc', next: '@paren' }]);
|
|
110
|
+
rules.push([/\{/, { token: 'punctuation.definition.doc', next: '@styles' }]);
|
|
111
|
+
// A bare "[" always opens nested content — whether or not a node name
|
|
112
|
+
// preceded it (e.g. plain text like "array[0]") — matching Parser.ts's
|
|
113
|
+
// depth-aware parseSlotContent(), which is equally agnostic about that.
|
|
114
|
+
rules.push([/\[/, { token: 'punctuation.definition.doc', next: '@push' }]);
|
|
115
|
+
rules.push([/\]/, { token: 'punctuation.definition.doc', next: '@pop' }]);
|
|
116
|
+
rules.push([/[^@[\](){}]+/, '']);
|
|
117
|
+
rules.push([/[(){}]/, '']);
|
|
118
|
+
const paren = [
|
|
119
|
+
[/[^)]+/, 'variable.parameter.modifier.doc'],
|
|
120
|
+
[/\)/, { token: 'punctuation.definition.doc', next: '@pop' }],
|
|
121
|
+
];
|
|
122
|
+
const styles = [
|
|
123
|
+
[/[^}]+/, 'support.type.property-value.styles.doc'],
|
|
124
|
+
[/\}/, { token: 'punctuation.definition.doc', next: '@pop' }],
|
|
125
|
+
];
|
|
126
|
+
// Opaque scan for @code / @mermaid / @svg / @kbd / @fn content — never
|
|
127
|
+
// recognizes "@node" syntax inside, matching Lexer.ts's scanRawContent()
|
|
128
|
+
// depth tracking for nested literal brackets (e.g. inside code samples).
|
|
129
|
+
const rawPlain = [
|
|
130
|
+
[/\[/, { token: 'string.unparsed.doc', next: '@push' }],
|
|
131
|
+
[/\]/, { token: 'string.unparsed.doc', next: '@pop' }],
|
|
132
|
+
[/[^[\]]+/, 'string.unparsed.doc'],
|
|
133
|
+
];
|
|
134
|
+
// Same opaque scan, plus @raw's two local escape exceptions (Inline Syntax
|
|
135
|
+
// Specification §9): "@]" -> literal "]", "@@]" -> literal "@]".
|
|
136
|
+
const rawEscaped = [
|
|
137
|
+
[/@@\]/, 'constant.character.escape.doc'],
|
|
138
|
+
[/@\]/, 'constant.character.escape.doc'],
|
|
139
|
+
[/\[/, { token: 'string.unparsed.doc', next: '@push' }],
|
|
140
|
+
[/\]/, { token: 'string.unparsed.doc', next: '@pop' }],
|
|
141
|
+
[/[^@[\]]+/, 'string.unparsed.doc'],
|
|
142
|
+
[/@/, 'string.unparsed.doc'],
|
|
143
|
+
];
|
|
144
|
+
export const atDocMonarchLanguage = {
|
|
145
|
+
defaultToken: '',
|
|
146
|
+
tokenizer: {
|
|
147
|
+
root: rules,
|
|
148
|
+
paren,
|
|
149
|
+
styles,
|
|
150
|
+
rawPlain,
|
|
151
|
+
rawEscaped,
|
|
152
|
+
},
|
|
153
|
+
};
|
|
154
|
+
/** A minimal default theme mapping this tokenizer's scopes to colors, for `monaco.editor.defineTheme`. */
|
|
155
|
+
export const atDocThemeRules = [
|
|
156
|
+
{ token: 'keyword.control.doc', foreground: 'C586C0', fontStyle: 'bold' },
|
|
157
|
+
{ token: 'punctuation.definition.doc', foreground: '808080' },
|
|
158
|
+
{ token: 'variable.parameter.modifier.doc', foreground: 'CE9178' },
|
|
159
|
+
{ token: 'support.type.property-value.styles.doc', foreground: '9CDCFE' },
|
|
160
|
+
{ token: 'string.unparsed.doc', foreground: '6A9955' },
|
|
161
|
+
{ token: 'constant.character.escape.doc', foreground: 'D7BA7D' },
|
|
162
|
+
];
|
|
163
|
+
//# sourceMappingURL=monarch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"monarch.js","sourceRoot":"","sources":["../../src/editor/monarch.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Public entry point for the atdoc-core package — re-exports everything
|
|
2
|
+
// each subpath export (see package.json's "exports" map) already exposes
|
|
3
|
+
// individually, so `import { tokenize, DocParser, DocTranspiler } from
|
|
4
|
+
// "atdoc-core"` works without reaching for a specific subpath.
|
|
5
|
+
export * from './registry';
|
|
6
|
+
export * from './types';
|
|
7
|
+
export * from './Lexer';
|
|
8
|
+
export * from './Parser';
|
|
9
|
+
export * from './Adapters';
|
|
10
|
+
export * from './editor/monarch';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,yEAAyE;AACzE,uEAAuE;AACvE,+DAA+D;AAE/D,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
export type NodeKind = 'block' | 'inline' | 'meta';
|
|
2
|
+
export type ContentMode = 'none' | 'generic' | 'raw' | 'raw-escaped' | 'key' | 'integer' | 'comma-list' | 'rows' | 'table' | 'tabs' | 'meta';
|
|
3
|
+
export type ParenMode = 'none' | 'optional' | 'required';
|
|
4
|
+
export type ParenRole = 'level' | 'title' | 'language' | 'options' | 'uri' | 'id' | 'ordered';
|
|
5
|
+
/**
|
|
6
|
+
* Which closed token set a node's "{styles}" slot accepts. Doubles as "does
|
|
7
|
+
* this node have a {styles} slot at all" — `undefined` means the grammar
|
|
8
|
+
* defines none, and Parser.ts rejects one rather than silently swallowing it.
|
|
9
|
+
*/
|
|
10
|
+
export type StyleSet = 'color' | 'card' | 'image';
|
|
11
|
+
/**
|
|
12
|
+
* How a "(...)" slot's raw text becomes the convenience field its `parenRole`
|
|
13
|
+
* implies. Lives here rather than in the Parser because `parenRole` does —
|
|
14
|
+
* the Serializer needs the same mapping to check that a hand-built node's
|
|
15
|
+
* `level`/`imgOptions`/... actually agree with its `paren`, and a second copy
|
|
16
|
+
* of the rules is exactly how the two would drift apart.
|
|
17
|
+
*/
|
|
18
|
+
export declare function parseImgOptions(raw: string): Record<string, string>;
|
|
19
|
+
/** @heading's level, defaulting a missing or out-of-range "(...)" to 1. */
|
|
20
|
+
export declare function clampLevel(raw: string | undefined): number;
|
|
21
|
+
/** @list's "(ordered)" flag. */
|
|
22
|
+
export declare function isOrderedParen(raw: string | undefined): boolean;
|
|
23
|
+
/** The convenience fields a `parenRole` derives from its "(...)" text. */
|
|
24
|
+
export interface DerivedParenFields {
|
|
25
|
+
level?: number;
|
|
26
|
+
title?: string;
|
|
27
|
+
language?: string;
|
|
28
|
+
uri?: string;
|
|
29
|
+
id?: string;
|
|
30
|
+
imgOptions?: Record<string, string>;
|
|
31
|
+
ordered?: boolean;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* What a "(...)" slot implies, in exactly the shape the Parser records it.
|
|
35
|
+
*
|
|
36
|
+
* Note which keys are *present with an undefined value*: the Parser assigns
|
|
37
|
+
* `title`/`language`/`uri`/`id` unconditionally, so `@card[x]` really does
|
|
38
|
+
* carry `title: undefined` rather than no key at all. Reproducing that
|
|
39
|
+
* faithfully is what lets a canonicalized node compare deep-equal to a parsed
|
|
40
|
+
* one — `{ title: undefined }` and `{}` are different objects to
|
|
41
|
+
* assert.deepStrictEqual.
|
|
42
|
+
*
|
|
43
|
+
* `ordered` is the exception the Parser sets only when true, per DocASTNode's
|
|
44
|
+
* own documentation ("unset/false renders as a bullet list"), so a non-ordered
|
|
45
|
+
* @list has no key at all.
|
|
46
|
+
*/
|
|
47
|
+
export declare function deriveParenFields(role: ParenRole | undefined, paren: string | undefined): DerivedParenFields;
|
|
48
|
+
export interface NodeDef {
|
|
49
|
+
name: string;
|
|
50
|
+
kind: NodeKind;
|
|
51
|
+
content: ContentMode;
|
|
52
|
+
paren: ParenMode;
|
|
53
|
+
parenRole?: ParenRole;
|
|
54
|
+
styles?: StyleSet;
|
|
55
|
+
restrictedTo?: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Short aliases for high-frequency commands — resolve transparently to the
|
|
59
|
+
* same NodeDef as their canonical name (so `@h[...]` and `@heading[...]`
|
|
60
|
+
* parse to the identical AST shape, `node.type` always canonical — see
|
|
61
|
+
* Parser.ts's parseNode). `label` is the human-readable name an editor's
|
|
62
|
+
* hover UI can pair with "Alias of @canonical".
|
|
63
|
+
*/
|
|
64
|
+
interface AliasDef {
|
|
65
|
+
alias: string;
|
|
66
|
+
canonical: string;
|
|
67
|
+
label: string;
|
|
68
|
+
}
|
|
69
|
+
export declare function getNodeDef(name: string): NodeDef | undefined;
|
|
70
|
+
export declare function isKnownCommand(name: string): boolean;
|
|
71
|
+
/** Alias metadata for `name`, or undefined if `name` isn't a short alias (including if it's already canonical). */
|
|
72
|
+
export declare function getAliasInfo(name: string): AliasDef | undefined;
|
|
73
|
+
/** The full alias table, for consumers that need to derive keyword lists including short aliases (e.g. src/editor/monarch.ts). */
|
|
74
|
+
export declare function getAllAliasDefs(): readonly AliasDef[];
|
|
75
|
+
/**
|
|
76
|
+
* The full node table, for consumers that need to derive keyword lists
|
|
77
|
+
* (e.g. the editor's Monarch tokenizer, src/editor/monarch.ts) instead of
|
|
78
|
+
* hand-copying names. Keeping this as the single export point means new
|
|
79
|
+
* REGISTRY entries automatically flow into anything built from it.
|
|
80
|
+
*/
|
|
81
|
+
export declare function getAllNodeDefs(): readonly NodeDef[];
|
|
82
|
+
export declare function isCellAllowedNode(name: string): boolean;
|
|
83
|
+
export interface SlotSuggestion {
|
|
84
|
+
/** Shown in the completion list. */
|
|
85
|
+
label: string;
|
|
86
|
+
/** Text to insert; may carry "${1:...}" snippet placeholders. Defaults to `label`. */
|
|
87
|
+
insert?: string;
|
|
88
|
+
/** Short right-hand hint explaining what the value does. */
|
|
89
|
+
detail: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* What to offer inside `name`'s "(...)" slot. Empty for free-text roles
|
|
93
|
+
* (title/uri/id) — there's nothing meaningful to enumerate, so the editor
|
|
94
|
+
* should stay quiet rather than guess.
|
|
95
|
+
*/
|
|
96
|
+
export declare function getParenSuggestions(name: string): SlotSuggestion[];
|
|
97
|
+
/**
|
|
98
|
+
* What to offer inside `name`'s "{styles}" slot, per its StyleSet. Empty when
|
|
99
|
+
* the node has no {styles} slot at all — the editor shows nothing and
|
|
100
|
+
* Parser.ts separately flags the slot itself as a grammar error.
|
|
101
|
+
*/
|
|
102
|
+
export declare function getStyleSuggestions(name: string): SlotSuggestion[];
|
|
103
|
+
export {};
|
|
104
|
+
//# sourceMappingURL=registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|