dot-language-support 2.3.0 → 3.0.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/dist/index.d.ts +497 -0
- package/dist/index.js +3853 -0
- package/package.json +10 -11
- package/.github/dependabot.yml +0 -15
- package/.github/workflows/CD.yml +0 -37
- package/.github/workflows/CI.yml +0 -28
- package/.github/workflows/auto-merge.yaml +0 -26
- package/CITATION.cff +0 -14
- package/biome.json +0 -48
- package/lib/cjs/binder.d.ts +0 -2
- package/lib/cjs/binder.js +0 -297
- package/lib/cjs/checker.d.ts +0 -15
- package/lib/cjs/checker.js +0 -228
- package/lib/cjs/core.d.ts +0 -1
- package/lib/cjs/core.js +0 -13
- package/lib/cjs/error.d.ts +0 -3
- package/lib/cjs/error.js +0 -12
- package/lib/cjs/index.d.ts +0 -5
- package/lib/cjs/index.js +0 -22
- package/lib/cjs/parser.d.ts +0 -27
- package/lib/cjs/parser.js +0 -664
- package/lib/cjs/scanner.d.ts +0 -41
- package/lib/cjs/scanner.js +0 -578
- package/lib/cjs/service/codeAction.d.ts +0 -12
- package/lib/cjs/service/codeAction.js +0 -245
- package/lib/cjs/service/colorProvider.d.ts +0 -5
- package/lib/cjs/service/colorProvider.js +0 -91
- package/lib/cjs/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.d.ts +0 -10
- package/lib/cjs/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.js +0 -42
- package/lib/cjs/service/command/ChangeEdgeOpCommand.d.ts +0 -10
- package/lib/cjs/service/command/ChangeEdgeOpCommand.js +0 -67
- package/lib/cjs/service/command/ConsolidateDescendantsCommand.d.ts +0 -10
- package/lib/cjs/service/command/ConsolidateDescendantsCommand.js +0 -87
- package/lib/cjs/service/command/RemoveSemicolons.d.ts +0 -10
- package/lib/cjs/service/command/RemoveSemicolons.js +0 -39
- package/lib/cjs/service/command/common.d.ts +0 -31
- package/lib/cjs/service/command/common.js +0 -33
- package/lib/cjs/service/completion.d.ts +0 -4
- package/lib/cjs/service/completion.js +0 -173
- package/lib/cjs/service/hover.d.ts +0 -4
- package/lib/cjs/service/hover.js +0 -142
- package/lib/cjs/service/languageFacts.d.ts +0 -683
- package/lib/cjs/service/languageFacts.js +0 -996
- package/lib/cjs/service/reference.d.ts +0 -5
- package/lib/cjs/service/reference.js +0 -67
- package/lib/cjs/service/rename.d.ts +0 -4
- package/lib/cjs/service/rename.js +0 -51
- package/lib/cjs/service/service.d.ts +0 -28
- package/lib/cjs/service/service.js +0 -38
- package/lib/cjs/service/util.d.ts +0 -11
- package/lib/cjs/service/util.js +0 -49
- package/lib/cjs/service/validation.d.ts +0 -4
- package/lib/cjs/service/validation.js +0 -23
- package/lib/cjs/tester.d.ts +0 -1
- package/lib/cjs/tester.js +0 -23
- package/lib/cjs/types.d.ts +0 -397
- package/lib/cjs/types.js +0 -74
- package/lib/cjs/visitor.d.ts +0 -2
- package/lib/cjs/visitor.js +0 -76
- package/lib/esm/binder.d.ts +0 -2
- package/lib/esm/binder.js +0 -294
- package/lib/esm/checker.d.ts +0 -15
- package/lib/esm/checker.js +0 -212
- package/lib/esm/core.d.ts +0 -1
- package/lib/esm/core.js +0 -10
- package/lib/esm/error.d.ts +0 -3
- package/lib/esm/error.js +0 -8
- package/lib/esm/index.d.ts +0 -5
- package/lib/esm/index.js +0 -6
- package/lib/esm/parser.d.ts +0 -27
- package/lib/esm/parser.js +0 -714
- package/lib/esm/scanner.d.ts +0 -41
- package/lib/esm/scanner.js +0 -581
- package/lib/esm/service/codeAction.d.ts +0 -12
- package/lib/esm/service/codeAction.js +0 -207
- package/lib/esm/service/colorProvider.d.ts +0 -5
- package/lib/esm/service/colorProvider.js +0 -54
- package/lib/esm/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.d.ts +0 -10
- package/lib/esm/service/command/ChangeAllOtherEdgeOpsAndFixGraphCommand.js +0 -38
- package/lib/esm/service/command/ChangeEdgeOpCommand.d.ts +0 -10
- package/lib/esm/service/command/ChangeEdgeOpCommand.js +0 -30
- package/lib/esm/service/command/ConsolidateDescendantsCommand.d.ts +0 -10
- package/lib/esm/service/command/ConsolidateDescendantsCommand.js +0 -83
- package/lib/esm/service/command/RemoveSemicolons.d.ts +0 -10
- package/lib/esm/service/command/RemoveSemicolons.js +0 -35
- package/lib/esm/service/command/common.d.ts +0 -31
- package/lib/esm/service/command/common.js +0 -25
- package/lib/esm/service/completion.d.ts +0 -4
- package/lib/esm/service/completion.js +0 -137
- package/lib/esm/service/hover.d.ts +0 -4
- package/lib/esm/service/hover.js +0 -135
- package/lib/esm/service/languageFacts.d.ts +0 -683
- package/lib/esm/service/languageFacts.js +0 -993
- package/lib/esm/service/reference.d.ts +0 -5
- package/lib/esm/service/reference.js +0 -63
- package/lib/esm/service/rename.d.ts +0 -4
- package/lib/esm/service/rename.js +0 -48
- package/lib/esm/service/service.d.ts +0 -28
- package/lib/esm/service/service.js +0 -35
- package/lib/esm/service/util.d.ts +0 -11
- package/lib/esm/service/util.js +0 -42
- package/lib/esm/service/validation.d.ts +0 -4
- package/lib/esm/service/validation.js +0 -20
- package/lib/esm/tester.d.ts +0 -1
- package/lib/esm/tester.js +0 -21
- package/lib/esm/types.d.ts +0 -397
- package/lib/esm/types.js +0 -71
- package/lib/esm/visitor.d.ts +0 -2
- package/lib/esm/visitor.js +0 -73
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getCodeActions = getCodeActions;
|
|
37
|
-
exports.getAvailableCommands = getAvailableCommands;
|
|
38
|
-
exports.executeCommand = executeCommand;
|
|
39
|
-
const checker_js_1 = require("../checker.js");
|
|
40
|
-
const index_js_1 = require("../index.js");
|
|
41
|
-
const ChangeAllOtherEdgeOpsAndFixGraphCommand = __importStar(require("./command/ChangeAllOtherEdgeOpsAndFixGraphCommand.js"));
|
|
42
|
-
const ChangeEdgeOpCommand = __importStar(require("./command/ChangeEdgeOpCommand.js"));
|
|
43
|
-
const ConsolidateDescendantsCommand = __importStar(require("./command/ConsolidateDescendantsCommand.js"));
|
|
44
|
-
const common_js_1 = require("./command/common.js");
|
|
45
|
-
const RemoveSemicolonsCommand = __importStar(require("./command/RemoveSemicolons.js"));
|
|
46
|
-
const util_js_1 = require("./util.js");
|
|
47
|
-
function getCodeActions(doc, sourceFile, range, _context) {
|
|
48
|
-
let actions = getActionsFromDiagnostics(doc, sourceFile, range);
|
|
49
|
-
const general = getGeneralRefactorings(doc, sourceFile, range);
|
|
50
|
-
if (general) {
|
|
51
|
-
if (!actions)
|
|
52
|
-
actions = general;
|
|
53
|
-
else
|
|
54
|
-
actions.push.apply(actions, general);
|
|
55
|
-
}
|
|
56
|
-
return actions;
|
|
57
|
-
}
|
|
58
|
-
function getActionsFromDiagnostics(doc, file, range) {
|
|
59
|
-
const ds = file.diagnostics;
|
|
60
|
-
if (!ds || ds.length === 0)
|
|
61
|
-
return undefined;
|
|
62
|
-
const rangeStartOffset = doc.offsetAt(range.start);
|
|
63
|
-
const rangeEndOffset = doc.offsetAt(range.end);
|
|
64
|
-
const res = [];
|
|
65
|
-
for (const d of ds) {
|
|
66
|
-
if (isInRange(rangeStartOffset, rangeEndOffset, d.start, d.end)) {
|
|
67
|
-
const commands = getCommandsForDiagnostic(doc, file, d);
|
|
68
|
-
if (commands && commands.length > 0)
|
|
69
|
-
res.push.apply(res, commands);
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return res.length === 0 ? undefined : res;
|
|
73
|
-
}
|
|
74
|
-
function getGeneralRefactorings(doc, file, range) {
|
|
75
|
-
if (!file.graph)
|
|
76
|
-
return undefined;
|
|
77
|
-
const g = file.graph;
|
|
78
|
-
const kw = g.keyword;
|
|
79
|
-
const rangeStartOffset = doc.offsetAt(range.start);
|
|
80
|
-
const rangeEndOffset = doc.offsetAt(range.end);
|
|
81
|
-
const keywordStart = (0, util_js_1.getStart)(file, kw);
|
|
82
|
-
const res = [];
|
|
83
|
-
if (isInRange(rangeStartOffset, rangeEndOffset, keywordStart, kw.end)) {
|
|
84
|
-
if (!subtreeContainsErrors(g)) {
|
|
85
|
-
const oppositeGraphType = (0, common_js_1.getOppositeKind)(kw.kind);
|
|
86
|
-
const convertGraph = convertGraphTypeCommand(file, g, oppositeGraphType);
|
|
87
|
-
res.push(convertGraph);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
if (rangeStartOffset === rangeEndOffset) {
|
|
91
|
-
const candidates = [];
|
|
92
|
-
let clickedNode = (0, checker_js_1.findNodeAtOffset)(g, rangeStartOffset);
|
|
93
|
-
if (clickedNode && !!clickedNode.parent) {
|
|
94
|
-
if (clickedNode.kind === index_js_1.SyntaxKind.SemicolonToken) {
|
|
95
|
-
res.push(RemoveSemicolonsCommand.create());
|
|
96
|
-
}
|
|
97
|
-
if ((0, index_js_1.isIdentifierNode)(clickedNode)) {
|
|
98
|
-
clickedNode = clickedNode.parent;
|
|
99
|
-
}
|
|
100
|
-
const clickedEdgeStatement = clickedNode.parent;
|
|
101
|
-
if (clickedEdgeStatement && !subtreeContainsErrors(clickedEdgeStatement)) {
|
|
102
|
-
if ((0, checker_js_1.isEdgeStatement)(clickedEdgeStatement) &&
|
|
103
|
-
clickedEdgeStatement.rhs.length === 1 &&
|
|
104
|
-
(0, checker_js_1.isNodeId)(clickedEdgeStatement.source) &&
|
|
105
|
-
!(0, checker_js_1.edgeStatementHasAttributes)(clickedEdgeStatement)) {
|
|
106
|
-
candidates.push(clickedEdgeStatement);
|
|
107
|
-
const source = clickedEdgeStatement.source;
|
|
108
|
-
const sourceText = (0, checker_js_1.getIdentifierText)(source.id);
|
|
109
|
-
const graphParent = clickedEdgeStatement.parent;
|
|
110
|
-
if (graphParent) {
|
|
111
|
-
let hasVisitedStatement = false;
|
|
112
|
-
let hasVisitedNodeModifier = false;
|
|
113
|
-
(0, index_js_1.forEachChild)(graphParent, statement => {
|
|
114
|
-
if (statement === clickedEdgeStatement) {
|
|
115
|
-
hasVisitedStatement = true;
|
|
116
|
-
return undefined;
|
|
117
|
-
}
|
|
118
|
-
if (hasVisitedNodeModifier) {
|
|
119
|
-
return;
|
|
120
|
-
}
|
|
121
|
-
if (hasVisitedStatement) {
|
|
122
|
-
if ((0, checker_js_1.isAttrStatement)(statement) ||
|
|
123
|
-
subtreeContainsErrors(statement)) {
|
|
124
|
-
hasVisitedNodeModifier = true;
|
|
125
|
-
return true;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
if (hasVisitedStatement) {
|
|
129
|
-
if ((0, checker_js_1.isEdgeStatement)(statement) &&
|
|
130
|
-
statement.rhs.length === 1 &&
|
|
131
|
-
!(0, checker_js_1.edgeStatementHasAttributes)(statement)) {
|
|
132
|
-
const statementSource = statement.source;
|
|
133
|
-
if ((0, checker_js_1.isNodeId)(statementSource)) {
|
|
134
|
-
const lowerSourceText = (0, checker_js_1.getIdentifierText)(statementSource.id);
|
|
135
|
-
if (sourceText === lowerSourceText) {
|
|
136
|
-
candidates.push(statement);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return undefined;
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
if (candidates.length > 1) {
|
|
146
|
-
const action = ConsolidateDescendantsCommand.create(candidates, true);
|
|
147
|
-
res.push(action);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
return res.length === 0 ? undefined : res;
|
|
153
|
-
}
|
|
154
|
-
function getCommandsForDiagnostic(doc, file, d) {
|
|
155
|
-
switch (d.code.source) {
|
|
156
|
-
case 1:
|
|
157
|
-
return getScannerErrorCommand(doc, file, d, d.code);
|
|
158
|
-
case 2:
|
|
159
|
-
return getParserErrorCommand(doc, file, d, d.code);
|
|
160
|
-
case 4:
|
|
161
|
-
return getCheckerErrorCommand(doc, file, d, d.code);
|
|
162
|
-
default:
|
|
163
|
-
return (0, util_js_1.assertNever)(d.code);
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
function getScannerErrorCommand(_doc, _file, d, code) {
|
|
167
|
-
console.assert(d.code.source === 1);
|
|
168
|
-
console.assert(code.source === 1);
|
|
169
|
-
return undefined;
|
|
170
|
-
}
|
|
171
|
-
function getParserErrorCommand(_doc, _file, d, code) {
|
|
172
|
-
console.assert(d.code.source === 2);
|
|
173
|
-
console.assert(code.source === 2);
|
|
174
|
-
return undefined;
|
|
175
|
-
}
|
|
176
|
-
function getCheckerErrorCommand(_doc, file, d, code) {
|
|
177
|
-
console.assert(d.code.source === 4);
|
|
178
|
-
console.assert(code.source === 4);
|
|
179
|
-
switch (code.sub) {
|
|
180
|
-
case 0: {
|
|
181
|
-
const graph = file.graph;
|
|
182
|
-
if (!graph)
|
|
183
|
-
return undefined;
|
|
184
|
-
const allowedOp = (0, checker_js_1.getAllowedEdgeOperation)(graph);
|
|
185
|
-
const wrongOp = (0, common_js_1.getOppositeEdgeOp)(allowedOp);
|
|
186
|
-
const kwk = graph.keyword.kind;
|
|
187
|
-
const fixSingleEdge = ChangeEdgeOpCommand.create(d.start, d.end, allowedOp, wrongOp);
|
|
188
|
-
const fixAll = convertGraphTypeCommand(file, graph, kwk);
|
|
189
|
-
const convertToThisWrongType = convertGraphTypeCommand(file, graph, (0, common_js_1.getOppositeKind)(kwk));
|
|
190
|
-
return [fixSingleEdge, fixAll, convertToThisWrongType];
|
|
191
|
-
}
|
|
192
|
-
case 1:
|
|
193
|
-
return undefined;
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
function convertGraphTypeCommand(file, graph, changeToGraphType) {
|
|
197
|
-
const changeToEdgeOp = (0, common_js_1.getAllowedOp)(changeToGraphType);
|
|
198
|
-
const allEdges = (0, checker_js_1.findAllEdges)(graph);
|
|
199
|
-
const edgeOffsets = allEdges
|
|
200
|
-
.filter(e => e.operation.kind !== changeToEdgeOp)
|
|
201
|
-
.map(e => ({
|
|
202
|
-
start: (0, util_js_1.getStart)(file, e.operation),
|
|
203
|
-
end: e.operation.end,
|
|
204
|
-
}));
|
|
205
|
-
const graphTypeOffset = {
|
|
206
|
-
start: (0, util_js_1.getStart)(file, graph.keyword),
|
|
207
|
-
end: graph.keyword.end,
|
|
208
|
-
};
|
|
209
|
-
return ChangeAllOtherEdgeOpsAndFixGraphCommand.create(edgeOffsets, changeToEdgeOp, graphTypeOffset, graph.keyword.kind, changeToGraphType);
|
|
210
|
-
}
|
|
211
|
-
function isInRange(rangeStartOffset, rangeEndOffset, startOffset, endOffset) {
|
|
212
|
-
if (rangeStartOffset === rangeEndOffset)
|
|
213
|
-
return startOffset <= rangeStartOffset && rangeEndOffset <= endOffset;
|
|
214
|
-
if (rangeStartOffset === startOffset && rangeEndOffset === endOffset)
|
|
215
|
-
return true;
|
|
216
|
-
return false;
|
|
217
|
-
}
|
|
218
|
-
const commandHandlers = {
|
|
219
|
-
["DOT.changeEdgeOp"]: ChangeEdgeOpCommand.execute,
|
|
220
|
-
["DOT.convertGraphType"]: ChangeAllOtherEdgeOpsAndFixGraphCommand.execute,
|
|
221
|
-
["DOT.consolidateDescendants"]: ConsolidateDescendantsCommand.execute,
|
|
222
|
-
["DOT.removeSemicolons"]: RemoveSemicolonsCommand.execute,
|
|
223
|
-
};
|
|
224
|
-
function getAvailableCommands() {
|
|
225
|
-
return Object.keys(commandHandlers);
|
|
226
|
-
}
|
|
227
|
-
function executeCommand(doc, sourceFile, cmd) {
|
|
228
|
-
const handler = commandHandlers[cmd.command];
|
|
229
|
-
return handler === undefined ? undefined : handler(doc, sourceFile, cmd);
|
|
230
|
-
}
|
|
231
|
-
function subtreeContainsErrors(node) {
|
|
232
|
-
if ((0, checker_js_1.nodeContainsErrors)(node))
|
|
233
|
-
return true;
|
|
234
|
-
let hasError = false;
|
|
235
|
-
(0, index_js_1.forEachChild)(node, child => {
|
|
236
|
-
if ((0, checker_js_1.nodeContainsErrors)(child)) {
|
|
237
|
-
hasError = true;
|
|
238
|
-
}
|
|
239
|
-
if (!hasError) {
|
|
240
|
-
hasError = subtreeContainsErrors(child);
|
|
241
|
-
}
|
|
242
|
-
});
|
|
243
|
-
return hasError;
|
|
244
|
-
}
|
|
245
|
-
//# sourceMappingURL=codeAction.js.map
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { Color, ColorInformation, ColorPresentation, Range } from "vscode-languageserver-types";
|
|
2
|
-
import type { DocumentLike } from "../index.js";
|
|
3
|
-
import type { SourceFile } from "../types.js";
|
|
4
|
-
export declare function getDocumentColors(doc: DocumentLike, sourceFile: SourceFile): ColorInformation[] | undefined;
|
|
5
|
-
export declare function getColorRepresentations(_doc: DocumentLike, _sourceFile: SourceFile, color: Color, range: Range): ColorPresentation[] | undefined;
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.getDocumentColors = getDocumentColors;
|
|
37
|
-
exports.getColorRepresentations = getColorRepresentations;
|
|
38
|
-
const languageFacts = __importStar(require("./languageFacts.js"));
|
|
39
|
-
const util_js_1 = require("./util.js");
|
|
40
|
-
const colorMap = languageFacts.colors;
|
|
41
|
-
function getDocumentColors(doc, sourceFile) {
|
|
42
|
-
const cs = sourceFile.colors;
|
|
43
|
-
return cs ? colorTableToColorInformation(doc, sourceFile, cs) : undefined;
|
|
44
|
-
}
|
|
45
|
-
function getColorRepresentations(_doc, _sourceFile, color, range) {
|
|
46
|
-
return !color || !range ? undefined : [{ label: `"${getColorStringFromColor(color)}"` }];
|
|
47
|
-
}
|
|
48
|
-
function colorTableToColorInformation(doc, sf, colors) {
|
|
49
|
-
if (!colors || colors.size === 0)
|
|
50
|
-
return [];
|
|
51
|
-
const res = [];
|
|
52
|
-
for (const [name, value] of colors) {
|
|
53
|
-
if (!name || !value)
|
|
54
|
-
continue;
|
|
55
|
-
const color = getColorFromName(name);
|
|
56
|
-
if (color) {
|
|
57
|
-
res.push({
|
|
58
|
-
range: (0, util_js_1.syntaxNodeToRange)(doc, sf, value.node),
|
|
59
|
-
color,
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
return res;
|
|
64
|
-
}
|
|
65
|
-
function getColorFromName(name) {
|
|
66
|
-
if (name.charAt(0) === "#")
|
|
67
|
-
return getHexCodeColor(name);
|
|
68
|
-
const colorAlias = colorMap[name.toLowerCase()];
|
|
69
|
-
return colorAlias ? getHexCodeColor(colorAlias) : undefined;
|
|
70
|
-
}
|
|
71
|
-
function getHexCodeColor(colorCode) {
|
|
72
|
-
const hexCode = colorCode.charAt(0) === "#" ? colorCode.substring(1) : colorCode;
|
|
73
|
-
const colorInt = Number.parseInt(hexCode, 16);
|
|
74
|
-
return {
|
|
75
|
-
red: ((colorInt >> 16) & 0xff) / 255.0,
|
|
76
|
-
green: ((colorInt >> 8) & 0xff) / 255.0,
|
|
77
|
-
blue: (colorInt & 0xff) / 255.0,
|
|
78
|
-
alpha: hexCode.length === 8 ? ((colorInt >> 24) & 0xff) / 255.0 : 1.0,
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
function getColorStringFromColor(c) {
|
|
82
|
-
const red = (c.red * 255) | 0;
|
|
83
|
-
const green = (c.green * 255) | 0;
|
|
84
|
-
const blue = (c.blue * 255) | 0;
|
|
85
|
-
return `#${numberToPaddedString(red)}${numberToPaddedString(green)}${numberToPaddedString(blue)}`;
|
|
86
|
-
}
|
|
87
|
-
function numberToPaddedString(n) {
|
|
88
|
-
const s = n.toString(16);
|
|
89
|
-
return (s.length === 1 ? `0${s}` : s).toLowerCase();
|
|
90
|
-
}
|
|
91
|
-
//# sourceMappingURL=colorProvider.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type * as lst from "vscode-languageserver-types";
|
|
2
|
-
import type { CommandApplication, DocumentLike, SourceFile } from "../../index.js";
|
|
3
|
-
import { CommandIds } from "../codeAction.js";
|
|
4
|
-
import { type EdgeOpStr, type EdgeType, type ExecutableCommand, type GraphType, type GraphTypeStr, type Offset } from "./common.js";
|
|
5
|
-
export interface ChangeAllOtherEdgeOpsAndFixGraphCommand extends lst.Command {
|
|
6
|
-
command: CommandIds.ConvertGraphType;
|
|
7
|
-
arguments: [Offset[], EdgeOpStr, Offset, GraphTypeStr];
|
|
8
|
-
}
|
|
9
|
-
export declare function create(edgeOffsets: Offset[], changeEdgesTo: EdgeType, graphOffset: Offset, changeFromGraph: GraphType, changeGraphTo: GraphType): ChangeAllOtherEdgeOpsAndFixGraphCommand;
|
|
10
|
-
export declare function execute(doc: DocumentLike, _sourceFile: SourceFile, cmd: ExecutableCommand<unknown[]>): CommandApplication | undefined;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.create = create;
|
|
4
|
-
exports.execute = execute;
|
|
5
|
-
const common_js_1 = require("./common.js");
|
|
6
|
-
function create(edgeOffsets, changeEdgesTo, graphOffset, changeFromGraph, changeGraphTo) {
|
|
7
|
-
const toGraph = (0, common_js_1.getGraphKeywordStr)(changeGraphTo);
|
|
8
|
-
const title = changeGraphTo === changeFromGraph
|
|
9
|
-
? `Fix all edges to match ${toGraph}`
|
|
10
|
-
: `Convert ${(0, common_js_1.getGraphKeywordStr)(changeFromGraph)} to ${toGraph}`;
|
|
11
|
-
const edgeStr = (0, common_js_1.getEdgeStr)(changeEdgesTo);
|
|
12
|
-
return {
|
|
13
|
-
title,
|
|
14
|
-
command: "DOT.convertGraphType",
|
|
15
|
-
arguments: [edgeOffsets, edgeStr, graphOffset, toGraph],
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
function execute(doc, _sourceFile, cmd) {
|
|
19
|
-
if (!isChangeAllOtherEdgeOpsAndFixGraphCommand(cmd))
|
|
20
|
-
return undefined;
|
|
21
|
-
const [edgeOffsets, changeEdgeTo, graphOffset, changeGraphTo] = cmd.arguments;
|
|
22
|
-
const edits = edgeOffsets.map(o => {
|
|
23
|
-
const startPos = doc.positionAt(o.start);
|
|
24
|
-
const endPos = doc.positionAt(o.end);
|
|
25
|
-
return (0, common_js_1.createChangeToEdit)(startPos, endPos, changeEdgeTo);
|
|
26
|
-
});
|
|
27
|
-
const graphStart = doc.positionAt(graphOffset.start);
|
|
28
|
-
const graphEnd = doc.positionAt(graphOffset.end);
|
|
29
|
-
edits.push((0, common_js_1.createChangeToEdit)(graphStart, graphEnd, changeGraphTo));
|
|
30
|
-
return {
|
|
31
|
-
label: `Convert graph to "${changeGraphTo}"`,
|
|
32
|
-
edit: {
|
|
33
|
-
changes: {
|
|
34
|
-
[doc.uri]: edits,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
function isChangeAllOtherEdgeOpsAndFixGraphCommand(cmd) {
|
|
40
|
-
return (cmd.command === "DOT.convertGraphType" && !!cmd.arguments && cmd.arguments.length === 4);
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=ChangeAllOtherEdgeOpsAndFixGraphCommand.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import * as lst from "vscode-languageserver-types";
|
|
2
|
-
import type { CommandApplication, DocumentLike, SourceFile } from "../../index.js";
|
|
3
|
-
import { CommandIds } from "../codeAction.js";
|
|
4
|
-
import { type EdgeOpStr, type EdgeType, type ExecutableCommand } from "./common.js";
|
|
5
|
-
export interface ChangeEdgeOpCommand extends lst.Command {
|
|
6
|
-
command: CommandIds.ChangeEdgeOp;
|
|
7
|
-
arguments: [number, number, EdgeOpStr];
|
|
8
|
-
}
|
|
9
|
-
export declare function create(startOffset: number, endOffset: number, changeTo: EdgeType, changeFrom: EdgeType): ChangeEdgeOpCommand;
|
|
10
|
-
export declare function execute(doc: DocumentLike, _sourceFile: SourceFile, cmd: ExecutableCommand<unknown[]>): CommandApplication | undefined;
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.create = create;
|
|
37
|
-
exports.execute = execute;
|
|
38
|
-
const lst = __importStar(require("vscode-languageserver-types"));
|
|
39
|
-
const common_js_1 = require("./common.js");
|
|
40
|
-
function create(startOffset, endOffset, changeTo, changeFrom) {
|
|
41
|
-
const from = (0, common_js_1.getEdgeStr)(changeFrom);
|
|
42
|
-
const to = (0, common_js_1.getEdgeStr)(changeTo);
|
|
43
|
-
return {
|
|
44
|
-
title: `Change "${from}" to "${to}".`,
|
|
45
|
-
command: "DOT.changeEdgeOp",
|
|
46
|
-
arguments: [startOffset, endOffset, to],
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
function execute(doc, _sourceFile, cmd) {
|
|
50
|
-
if (!isChangeEdgeOpCommand(cmd))
|
|
51
|
-
return undefined;
|
|
52
|
-
const [startOffset, endOffset, changeTo] = cmd.arguments;
|
|
53
|
-
const startPos = doc.positionAt(startOffset);
|
|
54
|
-
const endPos = doc.positionAt(endOffset);
|
|
55
|
-
return {
|
|
56
|
-
label: `Change of invalid edge to "${changeTo}"'"`,
|
|
57
|
-
edit: {
|
|
58
|
-
changes: {
|
|
59
|
-
[doc.uri]: [lst.TextEdit.replace(lst.Range.create(startPos, endPos), changeTo)],
|
|
60
|
-
},
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
}
|
|
64
|
-
function isChangeEdgeOpCommand(cmd) {
|
|
65
|
-
return cmd.command === "DOT.changeEdgeOp" && !!cmd.arguments && cmd.arguments.length === 3;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=ChangeEdgeOpCommand.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type * as lst from "vscode-languageserver-types";
|
|
2
|
-
import type { CommandApplication, DocumentLike, EdgeStatement, SourceFile } from "../../index.js";
|
|
3
|
-
import { CommandIds } from "../codeAction.js";
|
|
4
|
-
import type { ExecutableCommand } from "./common.js";
|
|
5
|
-
export interface ConsolidateDescendantsCommand extends lst.Command {
|
|
6
|
-
command: CommandIds.ConsolidateDescendants;
|
|
7
|
-
arguments: number[];
|
|
8
|
-
}
|
|
9
|
-
export declare function create(statements: EdgeStatement[], below: boolean): ConsolidateDescendantsCommand;
|
|
10
|
-
export declare function execute(doc: DocumentLike, sourceFile: SourceFile, cmd: ExecutableCommand<unknown[]>): CommandApplication | undefined;
|
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.create = create;
|
|
4
|
-
exports.execute = execute;
|
|
5
|
-
const checker_js_1 = require("../../checker.js");
|
|
6
|
-
const util_js_1 = require("../util.js");
|
|
7
|
-
function create(statements, below) {
|
|
8
|
-
const first = statements[0];
|
|
9
|
-
const from = (0, checker_js_1.getIdentifierText)(first.source.id);
|
|
10
|
-
const title = below
|
|
11
|
-
? `Convert edges below from "${from}" to subgraph`
|
|
12
|
-
: `Convert edges from "${from}" to subgraph`;
|
|
13
|
-
return {
|
|
14
|
-
title,
|
|
15
|
-
command: "DOT.consolidateDescendants",
|
|
16
|
-
arguments: statements.map(s => s.pos),
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
function execute(doc, sourceFile, cmd) {
|
|
20
|
-
if (!isConsolidateDescendantsCommand(cmd))
|
|
21
|
-
return undefined;
|
|
22
|
-
const g = sourceFile.graph;
|
|
23
|
-
if (!g)
|
|
24
|
-
return undefined;
|
|
25
|
-
const candidateIndexes = cmd.arguments;
|
|
26
|
-
const candidates = candidateIndexes.map(i => (0, checker_js_1.findNodeAtOffset)(g, i).parent.parent);
|
|
27
|
-
const first = candidates.shift();
|
|
28
|
-
const from = (0, checker_js_1.getIdentifierText)(first.source.id);
|
|
29
|
-
const edits = [];
|
|
30
|
-
const firstRight = first.rhs[0];
|
|
31
|
-
const firstRightTargetStart = (0, util_js_1.getStart)(sourceFile, firstRight.target);
|
|
32
|
-
const firstRightTargetEnd = firstRight.target.end;
|
|
33
|
-
const contents = [sourceFile.content.substring(firstRightTargetStart, firstRightTargetEnd)];
|
|
34
|
-
for (const descendant of candidates) {
|
|
35
|
-
const rightItem = descendant.rhs[0];
|
|
36
|
-
const rightItemTarget = rightItem.target;
|
|
37
|
-
const rightItemTargetStart = rightItemTarget.pos;
|
|
38
|
-
const rightItemTargetEnd = rightItem.target.end;
|
|
39
|
-
const rightItemContent = sourceFile.content.substring(rightItemTargetStart, rightItemTargetEnd);
|
|
40
|
-
edits.push({
|
|
41
|
-
newText: "",
|
|
42
|
-
range: {
|
|
43
|
-
start: doc.positionAt(descendant.pos),
|
|
44
|
-
end: doc.positionAt(rightItemTargetStart),
|
|
45
|
-
},
|
|
46
|
-
});
|
|
47
|
-
edits.push({
|
|
48
|
-
newText: "",
|
|
49
|
-
range: {
|
|
50
|
-
start: doc.positionAt(rightItemTargetStart),
|
|
51
|
-
end: doc.positionAt(rightItemTargetEnd),
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
if (descendant.terminator !== undefined) {
|
|
55
|
-
edits.push({
|
|
56
|
-
newText: "",
|
|
57
|
-
range: {
|
|
58
|
-
start: doc.positionAt((0, util_js_1.getStart)(sourceFile, descendant.terminator)),
|
|
59
|
-
end: doc.positionAt(descendant.terminator.end),
|
|
60
|
-
},
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
contents.push(rightItemContent);
|
|
64
|
-
}
|
|
65
|
-
const toInsert = `{ ${contents.map(s => s.trim()).join(" ")} }`;
|
|
66
|
-
edits.push({
|
|
67
|
-
newText: toInsert,
|
|
68
|
-
range: {
|
|
69
|
-
start: doc.positionAt(firstRightTargetStart),
|
|
70
|
-
end: doc.positionAt(firstRightTargetEnd),
|
|
71
|
-
},
|
|
72
|
-
});
|
|
73
|
-
return {
|
|
74
|
-
label: `Convert edges from "${from}" to subgraph.`,
|
|
75
|
-
edit: {
|
|
76
|
-
changes: {
|
|
77
|
-
[doc.uri]: edits,
|
|
78
|
-
},
|
|
79
|
-
},
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
function isConsolidateDescendantsCommand(cmd) {
|
|
83
|
-
return (cmd.command === "DOT.consolidateDescendants" &&
|
|
84
|
-
!!cmd.arguments &&
|
|
85
|
-
cmd.arguments.length > 1);
|
|
86
|
-
}
|
|
87
|
-
//# sourceMappingURL=ConsolidateDescendantsCommand.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type * as lst from "vscode-languageserver-types";
|
|
2
|
-
import type { CommandApplication, DocumentLike, SourceFile } from "../../index.js";
|
|
3
|
-
import { CommandIds } from "../codeAction.js";
|
|
4
|
-
import { type ExecutableCommand } from "./common.js";
|
|
5
|
-
export interface RemoveSemicolonsCommand extends lst.Command {
|
|
6
|
-
command: CommandIds.RemoveSemicolons;
|
|
7
|
-
arguments: undefined;
|
|
8
|
-
}
|
|
9
|
-
export declare function create(): RemoveSemicolonsCommand;
|
|
10
|
-
export declare function execute(doc: DocumentLike, sourceFile: SourceFile, cmd: ExecutableCommand<unknown[]>): CommandApplication | undefined;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.create = create;
|
|
4
|
-
exports.execute = execute;
|
|
5
|
-
const checker_js_1 = require("../../checker.js");
|
|
6
|
-
const common_js_1 = require("./common.js");
|
|
7
|
-
function create() {
|
|
8
|
-
return {
|
|
9
|
-
title: "Remove optional semicolons",
|
|
10
|
-
command: "DOT.removeSemicolons",
|
|
11
|
-
arguments: undefined,
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
function execute(doc, sourceFile, cmd) {
|
|
15
|
-
if (!isRemoveSemicolonsCommand(cmd))
|
|
16
|
-
return undefined;
|
|
17
|
-
const g = sourceFile.graph;
|
|
18
|
-
if (!g)
|
|
19
|
-
return undefined;
|
|
20
|
-
const semicolons = (0, checker_js_1.findOptionalSemicolons)(g);
|
|
21
|
-
const edits = semicolons.map(s => {
|
|
22
|
-
const end = s.end;
|
|
23
|
-
const start = end - 1;
|
|
24
|
-
return (0, common_js_1.createChangeToEdit)(doc.positionAt(start), doc.positionAt(end), "");
|
|
25
|
-
});
|
|
26
|
-
return {
|
|
27
|
-
label: "Remove optional semicolons",
|
|
28
|
-
edit: {
|
|
29
|
-
changes: {
|
|
30
|
-
[doc.uri]: edits,
|
|
31
|
-
},
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
function isRemoveSemicolonsCommand(cmd) {
|
|
36
|
-
return (cmd.command === "DOT.removeSemicolons" &&
|
|
37
|
-
(!cmd.arguments || cmd.arguments.length === 0 || cmd.arguments.every(e => e === undefined)));
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=RemoveSemicolons.js.map
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type Position, TextEdit } from "vscode-languageserver-types";
|
|
2
|
-
import { SyntaxKind } from "../../index.js";
|
|
3
|
-
import type { CommandIds } from "../codeAction.js";
|
|
4
|
-
export declare function createChangeToEdit(start: Position, end: Position, changeTo: string): TextEdit;
|
|
5
|
-
export interface Offset {
|
|
6
|
-
start: number;
|
|
7
|
-
end: number;
|
|
8
|
-
}
|
|
9
|
-
export type ExecutableCommand<TArgs> = {
|
|
10
|
-
command: CommandIds;
|
|
11
|
-
arguments?: TArgs;
|
|
12
|
-
};
|
|
13
|
-
export type EdgeOpStr = "--" | "->";
|
|
14
|
-
export declare function getEdgeStr(op: SyntaxKind.UndirectedEdgeOp): "--";
|
|
15
|
-
export declare function getEdgeStr(op: SyntaxKind.DirectedEdgeOp): "->";
|
|
16
|
-
export declare function getEdgeStr(op: SyntaxKind.DirectedEdgeOp | SyntaxKind.UndirectedEdgeOp): "->" | "--";
|
|
17
|
-
export type GraphTypeStr = "graph" | "digraph";
|
|
18
|
-
export declare function getGraphKeywordStr(g: SyntaxKind.GraphKeyword): "graph";
|
|
19
|
-
export declare function getGraphKeywordStr(g: SyntaxKind.DigraphKeyword): "digraph";
|
|
20
|
-
export declare function getGraphKeywordStr(g: GraphType): "digraph" | "graph";
|
|
21
|
-
export type GraphType = SyntaxKind.DigraphKeyword | SyntaxKind.GraphKeyword;
|
|
22
|
-
export declare function getOppositeKind(g: SyntaxKind.DigraphKeyword): SyntaxKind.GraphKeyword;
|
|
23
|
-
export declare function getOppositeKind(g: SyntaxKind.GraphKeyword): SyntaxKind.DigraphKeyword;
|
|
24
|
-
export declare function getOppositeKind(g: GraphType): GraphType;
|
|
25
|
-
export type EdgeType = SyntaxKind.DirectedEdgeOp | SyntaxKind.UndirectedEdgeOp;
|
|
26
|
-
export declare function getOppositeEdgeOp(g: SyntaxKind.DirectedEdgeOp): SyntaxKind.UndirectedEdgeOp;
|
|
27
|
-
export declare function getOppositeEdgeOp(g: SyntaxKind.UndirectedEdgeOp): SyntaxKind.DirectedEdgeOp;
|
|
28
|
-
export declare function getOppositeEdgeOp(g: EdgeType): EdgeType;
|
|
29
|
-
export declare function getAllowedOp(g: SyntaxKind.GraphKeyword): SyntaxKind.UndirectedEdgeOp;
|
|
30
|
-
export declare function getAllowedOp(g: SyntaxKind.DigraphKeyword): SyntaxKind.DirectedEdgeOp;
|
|
31
|
-
export declare function getAllowedOp(g: GraphType): EdgeType;
|