@pyreon/code 0.5.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/lib/analysis/index.js.html +5406 -0
- package/lib/dist-B5vB-rif.js +3904 -0
- package/lib/dist-B5vB-rif.js.map +1 -0
- package/lib/dist-BAfzu5eu.js +1428 -0
- package/lib/dist-BAfzu5eu.js.map +1 -0
- package/lib/dist-BLlV_D16.js +1166 -0
- package/lib/dist-BLlV_D16.js.map +1 -0
- package/lib/dist-BNmKLTu8.js +373 -0
- package/lib/dist-BNmKLTu8.js.map +1 -0
- package/lib/dist-BZtTlC1J.js +692 -0
- package/lib/dist-BZtTlC1J.js.map +1 -0
- package/lib/dist-CTDqGIAf.js +856 -0
- package/lib/dist-CTDqGIAf.js.map +1 -0
- package/lib/dist-CTPisNZp.js +83 -0
- package/lib/dist-CTPisNZp.js.map +1 -0
- package/lib/dist-Ce2tvOxv.js +379 -0
- package/lib/dist-Ce2tvOxv.js.map +1 -0
- package/lib/dist-CttF0OTv.js +465 -0
- package/lib/dist-CttF0OTv.js.map +1 -0
- package/lib/dist-DS2tluW9.js +818 -0
- package/lib/dist-DS2tluW9.js.map +1 -0
- package/lib/dist-DUNx9ldu.js +460 -0
- package/lib/dist-DUNx9ldu.js.map +1 -0
- package/lib/dist-Dej_yf3k.js +473 -0
- package/lib/dist-Dej_yf3k.js.map +1 -0
- package/lib/dist-DshStUxU.js +283 -0
- package/lib/dist-DshStUxU.js.map +1 -0
- package/lib/dist-qTrOe7xY.js +461 -0
- package/lib/dist-qTrOe7xY.js.map +1 -0
- package/lib/dist-v09vikKr.js +2421 -0
- package/lib/dist-v09vikKr.js.map +1 -0
- package/lib/index.js +915 -0
- package/lib/index.js.map +1 -0
- package/lib/types/dist.d.ts +798 -0
- package/lib/types/dist.d.ts.map +1 -0
- package/lib/types/dist10.d.ts +67 -0
- package/lib/types/dist10.d.ts.map +1 -0
- package/lib/types/dist11.d.ts +126 -0
- package/lib/types/dist11.d.ts.map +1 -0
- package/lib/types/dist12.d.ts +21 -0
- package/lib/types/dist12.d.ts.map +1 -0
- package/lib/types/dist13.d.ts +404 -0
- package/lib/types/dist13.d.ts.map +1 -0
- package/lib/types/dist14.d.ts +292 -0
- package/lib/types/dist14.d.ts.map +1 -0
- package/lib/types/dist15.d.ts +132 -0
- package/lib/types/dist15.d.ts.map +1 -0
- package/lib/types/dist2.d.ts +15 -0
- package/lib/types/dist2.d.ts.map +1 -0
- package/lib/types/dist3.d.ts +106 -0
- package/lib/types/dist3.d.ts.map +1 -0
- package/lib/types/dist4.d.ts +67 -0
- package/lib/types/dist4.d.ts.map +1 -0
- package/lib/types/dist5.d.ts +95 -0
- package/lib/types/dist5.d.ts.map +1 -0
- package/lib/types/dist6.d.ts +330 -0
- package/lib/types/dist6.d.ts.map +1 -0
- package/lib/types/dist7.d.ts +15 -0
- package/lib/types/dist7.d.ts.map +1 -0
- package/lib/types/dist8.d.ts +15 -0
- package/lib/types/dist8.d.ts.map +1 -0
- package/lib/types/dist9.d.ts +635 -0
- package/lib/types/dist9.d.ts.map +1 -0
- package/lib/types/index.d.ts +852 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index2.d.ts +347 -0
- package/lib/types/index2.d.ts.map +1 -0
- package/package.json +79 -0
- package/src/components/code-editor.tsx +42 -0
- package/src/components/diff-editor.tsx +97 -0
- package/src/components/tabbed-editor.tsx +86 -0
- package/src/editor.ts +652 -0
- package/src/index.ts +52 -0
- package/src/languages.ts +77 -0
- package/src/minimap.ts +160 -0
- package/src/tabbed-editor.ts +231 -0
- package/src/tests/code.test.ts +505 -0
- package/src/themes.ts +87 -0
- package/src/types.ts +253 -0
|
@@ -0,0 +1,404 @@
|
|
|
1
|
+
import { a as ExternalTokenizer, n as styleTags, o as LRParser, r as tags } from "./dist.js";
|
|
2
|
+
import { LRLanguage, LanguageSupport, continuedIndent, foldNodeProp, indentNodeProp, syntaxTree } from "@codemirror/language";
|
|
3
|
+
import { completeFromList, ifNotIn } from "@codemirror/autocomplete";
|
|
4
|
+
|
|
5
|
+
//#region ../../node_modules/.bun/@codemirror+lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.js
|
|
6
|
+
|
|
7
|
+
function isAlpha(ch) {
|
|
8
|
+
return ch >= 65 && ch <= 90 || ch >= 97 && ch <= 122 || ch >= 48 && ch <= 57;
|
|
9
|
+
}
|
|
10
|
+
function isHexDigit(ch) {
|
|
11
|
+
return ch >= 48 && ch <= 57 || ch >= 97 && ch <= 102 || ch >= 65 && ch <= 70;
|
|
12
|
+
}
|
|
13
|
+
function readLiteral(input, endQuote, backslashEscapes) {
|
|
14
|
+
for (let escaped = false;;) {
|
|
15
|
+
if (input.next < 0) return;
|
|
16
|
+
if (input.next == endQuote && !escaped) {
|
|
17
|
+
input.advance();
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
escaped = backslashEscapes && !escaped && input.next == 92;
|
|
21
|
+
input.advance();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function readDoubleDollarLiteral(input, tag) {
|
|
25
|
+
scan: for (;;) {
|
|
26
|
+
if (input.next < 0) return;
|
|
27
|
+
if (input.next == 36) {
|
|
28
|
+
input.advance();
|
|
29
|
+
for (let i = 0; i < tag.length; i++) {
|
|
30
|
+
if (input.next != tag.charCodeAt(i)) continue scan;
|
|
31
|
+
input.advance();
|
|
32
|
+
}
|
|
33
|
+
if (input.next == 36) {
|
|
34
|
+
input.advance();
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
} else input.advance();
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
function readPLSQLQuotedLiteral(input, openDelim) {
|
|
41
|
+
let matchingDelim = "[{<(".indexOf(String.fromCharCode(openDelim));
|
|
42
|
+
let closeDelim = matchingDelim < 0 ? openDelim : "]}>)".charCodeAt(matchingDelim);
|
|
43
|
+
for (;;) {
|
|
44
|
+
if (input.next < 0) return;
|
|
45
|
+
if (input.next == closeDelim && input.peek(1) == 39) {
|
|
46
|
+
input.advance(2);
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
input.advance();
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
function readWord(input, result) {
|
|
53
|
+
for (;;) {
|
|
54
|
+
if (input.next != 95 && !isAlpha(input.next)) break;
|
|
55
|
+
if (result != null) result += String.fromCharCode(input.next);
|
|
56
|
+
input.advance();
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
}
|
|
60
|
+
function readWordOrQuoted(input) {
|
|
61
|
+
if (input.next == 39 || input.next == 34 || input.next == 96) {
|
|
62
|
+
let quote = input.next;
|
|
63
|
+
input.advance();
|
|
64
|
+
readLiteral(input, quote, false);
|
|
65
|
+
} else readWord(input);
|
|
66
|
+
}
|
|
67
|
+
function readBits(input, endQuote) {
|
|
68
|
+
while (input.next == 48 || input.next == 49) input.advance();
|
|
69
|
+
if (endQuote && input.next == endQuote) input.advance();
|
|
70
|
+
}
|
|
71
|
+
function readNumber(input, sawDot) {
|
|
72
|
+
for (;;) {
|
|
73
|
+
if (input.next == 46) {
|
|
74
|
+
if (sawDot) break;
|
|
75
|
+
sawDot = true;
|
|
76
|
+
} else if (input.next < 48 || input.next > 57) break;
|
|
77
|
+
input.advance();
|
|
78
|
+
}
|
|
79
|
+
if (input.next == 69 || input.next == 101) {
|
|
80
|
+
input.advance();
|
|
81
|
+
if (input.next == 43 || input.next == 45) input.advance();
|
|
82
|
+
while (input.next >= 48 && input.next <= 57) input.advance();
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
function eol(input) {
|
|
86
|
+
while (!(input.next < 0 || input.next == 10)) input.advance();
|
|
87
|
+
}
|
|
88
|
+
function inString(ch, str) {
|
|
89
|
+
for (let i = 0; i < str.length; i++) if (str.charCodeAt(i) == ch) return true;
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
function keywords(keywords, types, builtin) {
|
|
93
|
+
let result = Object.create(null);
|
|
94
|
+
result["true"] = result["false"] = Bool;
|
|
95
|
+
result["null"] = result["unknown"] = Null;
|
|
96
|
+
for (let kw of keywords.split(" ")) if (kw) result[kw] = Keyword;
|
|
97
|
+
for (let tp of types.split(" ")) if (tp) result[tp] = Type;
|
|
98
|
+
for (let kw of (builtin || "").split(" ")) if (kw) result[kw] = Builtin;
|
|
99
|
+
return result;
|
|
100
|
+
}
|
|
101
|
+
function dialect(spec, kws, types, builtin) {
|
|
102
|
+
let dialect = {};
|
|
103
|
+
for (let prop in defaults) dialect[prop] = (spec.hasOwnProperty(prop) ? spec : defaults)[prop];
|
|
104
|
+
if (kws) dialect.words = keywords(kws, types || "", builtin);
|
|
105
|
+
return dialect;
|
|
106
|
+
}
|
|
107
|
+
function tokensFor(d) {
|
|
108
|
+
return new ExternalTokenizer(input => {
|
|
109
|
+
var _a;
|
|
110
|
+
let {
|
|
111
|
+
next
|
|
112
|
+
} = input;
|
|
113
|
+
input.advance();
|
|
114
|
+
if (inString(next, Space)) {
|
|
115
|
+
while (inString(input.next, Space)) input.advance();
|
|
116
|
+
input.acceptToken(whitespace);
|
|
117
|
+
} else if (next == 36 && d.doubleDollarQuotedStrings) {
|
|
118
|
+
let tag = readWord(input, "");
|
|
119
|
+
if (input.next == 36) {
|
|
120
|
+
input.advance();
|
|
121
|
+
readDoubleDollarLiteral(input, tag);
|
|
122
|
+
input.acceptToken(String$1);
|
|
123
|
+
}
|
|
124
|
+
} else if (next == 39 || next == 34 && d.doubleQuotedStrings) {
|
|
125
|
+
readLiteral(input, next, d.backslashEscapes);
|
|
126
|
+
input.acceptToken(String$1);
|
|
127
|
+
} else if (next == 35 && d.hashComments || next == 47 && input.next == 47 && d.slashComments) {
|
|
128
|
+
eol(input);
|
|
129
|
+
input.acceptToken(LineComment);
|
|
130
|
+
} else if (next == 45 && input.next == 45 && (!d.spaceAfterDashes || input.peek(1) == 32)) {
|
|
131
|
+
eol(input);
|
|
132
|
+
input.acceptToken(LineComment);
|
|
133
|
+
} else if (next == 47 && input.next == 42) {
|
|
134
|
+
input.advance();
|
|
135
|
+
for (let depth = 1;;) {
|
|
136
|
+
let cur = input.next;
|
|
137
|
+
if (input.next < 0) break;
|
|
138
|
+
input.advance();
|
|
139
|
+
if (cur == 42 && input.next == 47) {
|
|
140
|
+
depth--;
|
|
141
|
+
input.advance();
|
|
142
|
+
if (!depth) break;
|
|
143
|
+
} else if (cur == 47 && input.next == 42) {
|
|
144
|
+
depth++;
|
|
145
|
+
input.advance();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
input.acceptToken(BlockComment);
|
|
149
|
+
} else if ((next == 101 || next == 69) && input.next == 39) {
|
|
150
|
+
input.advance();
|
|
151
|
+
readLiteral(input, 39, true);
|
|
152
|
+
input.acceptToken(String$1);
|
|
153
|
+
} else if ((next == 110 || next == 78) && input.next == 39 && d.charSetCasts) {
|
|
154
|
+
input.advance();
|
|
155
|
+
readLiteral(input, 39, d.backslashEscapes);
|
|
156
|
+
input.acceptToken(String$1);
|
|
157
|
+
} else if (next == 95 && d.charSetCasts) for (let i = 0;; i++) {
|
|
158
|
+
if (input.next == 39 && i > 1) {
|
|
159
|
+
input.advance();
|
|
160
|
+
readLiteral(input, 39, d.backslashEscapes);
|
|
161
|
+
input.acceptToken(String$1);
|
|
162
|
+
break;
|
|
163
|
+
}
|
|
164
|
+
if (!isAlpha(input.next)) break;
|
|
165
|
+
input.advance();
|
|
166
|
+
} else if (d.plsqlQuotingMechanism && (next == 113 || next == 81) && input.next == 39 && input.peek(1) > 0 && !inString(input.peek(1), Space)) {
|
|
167
|
+
let openDelim = input.peek(1);
|
|
168
|
+
input.advance(2);
|
|
169
|
+
readPLSQLQuotedLiteral(input, openDelim);
|
|
170
|
+
input.acceptToken(String$1);
|
|
171
|
+
} else if (inString(next, d.identifierQuotes)) {
|
|
172
|
+
readLiteral(input, next == 91 ? 93 : next, false);
|
|
173
|
+
input.acceptToken(QuotedIdentifier);
|
|
174
|
+
} else if (next == 40) input.acceptToken(ParenL);else if (next == 41) input.acceptToken(ParenR);else if (next == 123) input.acceptToken(BraceL);else if (next == 125) input.acceptToken(BraceR);else if (next == 91) input.acceptToken(BracketL);else if (next == 93) input.acceptToken(BracketR);else if (next == 59) input.acceptToken(Semi);else if (d.unquotedBitLiterals && next == 48 && input.next == 98) {
|
|
175
|
+
input.advance();
|
|
176
|
+
readBits(input);
|
|
177
|
+
input.acceptToken(Bits);
|
|
178
|
+
} else if ((next == 98 || next == 66) && (input.next == 39 || input.next == 34)) {
|
|
179
|
+
const quoteStyle = input.next;
|
|
180
|
+
input.advance();
|
|
181
|
+
if (d.treatBitsAsBytes) {
|
|
182
|
+
readLiteral(input, quoteStyle, d.backslashEscapes);
|
|
183
|
+
input.acceptToken(Bytes);
|
|
184
|
+
} else {
|
|
185
|
+
readBits(input, quoteStyle);
|
|
186
|
+
input.acceptToken(Bits);
|
|
187
|
+
}
|
|
188
|
+
} else if (next == 48 && (input.next == 120 || input.next == 88) || (next == 120 || next == 88) && input.next == 39) {
|
|
189
|
+
let quoted = input.next == 39;
|
|
190
|
+
input.advance();
|
|
191
|
+
while (isHexDigit(input.next)) input.advance();
|
|
192
|
+
if (quoted && input.next == 39) input.advance();
|
|
193
|
+
input.acceptToken(Number);
|
|
194
|
+
} else if (next == 46 && input.next >= 48 && input.next <= 57) {
|
|
195
|
+
readNumber(input, true);
|
|
196
|
+
input.acceptToken(Number);
|
|
197
|
+
} else if (next == 46) input.acceptToken(Dot);else if (next >= 48 && next <= 57) {
|
|
198
|
+
readNumber(input, false);
|
|
199
|
+
input.acceptToken(Number);
|
|
200
|
+
} else if (inString(next, d.operatorChars)) {
|
|
201
|
+
while (inString(input.next, d.operatorChars)) input.advance();
|
|
202
|
+
input.acceptToken(Operator);
|
|
203
|
+
} else if (inString(next, d.specialVar)) {
|
|
204
|
+
if (input.next == next) input.advance();
|
|
205
|
+
readWordOrQuoted(input);
|
|
206
|
+
input.acceptToken(SpecialVar);
|
|
207
|
+
} else if (next == 58 || next == 44) input.acceptToken(Punctuation);else if (isAlpha(next)) {
|
|
208
|
+
let word = readWord(input, String.fromCharCode(next));
|
|
209
|
+
input.acceptToken(input.next == 46 || input.peek(-word.length - 1) == 46 ? Identifier : (_a = d.words[word.toLowerCase()]) !== null && _a !== void 0 ? _a : Identifier);
|
|
210
|
+
}
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
function tokenBefore(tree) {
|
|
214
|
+
let cursor = tree.cursor().moveTo(tree.from, -1);
|
|
215
|
+
while (/Comment/.test(cursor.name)) cursor.moveTo(cursor.from, -1);
|
|
216
|
+
return cursor.node;
|
|
217
|
+
}
|
|
218
|
+
function idName(doc, node) {
|
|
219
|
+
let text = doc.sliceString(node.from, node.to);
|
|
220
|
+
let quoted = /^([`'"\[])(.*)([`'"\]])$/.exec(text);
|
|
221
|
+
return quoted ? quoted[2] : text;
|
|
222
|
+
}
|
|
223
|
+
function plainID(node) {
|
|
224
|
+
return node && (node.name == "Identifier" || node.name == "QuotedIdentifier");
|
|
225
|
+
}
|
|
226
|
+
function pathFor(doc, id) {
|
|
227
|
+
if (id.name == "CompositeIdentifier") {
|
|
228
|
+
let path = [];
|
|
229
|
+
for (let ch = id.firstChild; ch; ch = ch.nextSibling) if (plainID(ch)) path.push(idName(doc, ch));
|
|
230
|
+
return path;
|
|
231
|
+
}
|
|
232
|
+
return [idName(doc, id)];
|
|
233
|
+
}
|
|
234
|
+
function parentsFor(doc, node) {
|
|
235
|
+
for (let path = [];;) {
|
|
236
|
+
if (!node || node.name != ".") return path;
|
|
237
|
+
let name = tokenBefore(node);
|
|
238
|
+
if (!plainID(name)) return path;
|
|
239
|
+
path.unshift(idName(doc, name));
|
|
240
|
+
node = tokenBefore(name);
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
function sourceContext(state, startPos) {
|
|
244
|
+
let pos = syntaxTree(state).resolveInner(startPos, -1);
|
|
245
|
+
let aliases = getAliases(state.doc, pos);
|
|
246
|
+
if (pos.name == "Identifier" || pos.name == "QuotedIdentifier" || pos.name == "Keyword") return {
|
|
247
|
+
from: pos.from,
|
|
248
|
+
quoted: pos.name == "QuotedIdentifier" ? state.doc.sliceString(pos.from, pos.from + 1) : null,
|
|
249
|
+
parents: parentsFor(state.doc, tokenBefore(pos)),
|
|
250
|
+
aliases
|
|
251
|
+
};
|
|
252
|
+
if (pos.name == ".") return {
|
|
253
|
+
from: startPos,
|
|
254
|
+
quoted: null,
|
|
255
|
+
parents: parentsFor(state.doc, pos),
|
|
256
|
+
aliases
|
|
257
|
+
};else return {
|
|
258
|
+
from: startPos,
|
|
259
|
+
quoted: null,
|
|
260
|
+
parents: [],
|
|
261
|
+
empty: true,
|
|
262
|
+
aliases
|
|
263
|
+
};
|
|
264
|
+
}
|
|
265
|
+
function getAliases(doc, at) {
|
|
266
|
+
let statement;
|
|
267
|
+
for (let parent = at; !statement; parent = parent.parent) {
|
|
268
|
+
if (!parent) return null;
|
|
269
|
+
if (parent.name == "Statement") statement = parent;
|
|
270
|
+
}
|
|
271
|
+
let aliases = null;
|
|
272
|
+
for (let scan = statement.firstChild, sawFrom = false, prevID = null; scan; scan = scan.nextSibling) {
|
|
273
|
+
let kw = scan.name == "Keyword" ? doc.sliceString(scan.from, scan.to).toLowerCase() : null;
|
|
274
|
+
let alias = null;
|
|
275
|
+
if (!sawFrom) sawFrom = kw == "from";else if (kw == "as" && prevID && plainID(scan.nextSibling)) alias = idName(doc, scan.nextSibling);else if (kw && EndFrom.has(kw)) break;else if (prevID && plainID(scan)) alias = idName(doc, scan);
|
|
276
|
+
if (alias) {
|
|
277
|
+
if (!aliases) aliases = Object.create(null);
|
|
278
|
+
aliases[alias] = pathFor(doc, prevID);
|
|
279
|
+
}
|
|
280
|
+
prevID = /Identifier$/.test(scan.name) ? scan : null;
|
|
281
|
+
}
|
|
282
|
+
return aliases;
|
|
283
|
+
}
|
|
284
|
+
function maybeQuoteCompletions(openingQuote, closingQuote, completions) {
|
|
285
|
+
return completions.map(c => ({
|
|
286
|
+
...c,
|
|
287
|
+
label: c.label[0] == openingQuote ? c.label : openingQuote + c.label + closingQuote,
|
|
288
|
+
apply: void 0
|
|
289
|
+
}));
|
|
290
|
+
}
|
|
291
|
+
function isSelfTag(namespace) {
|
|
292
|
+
return namespace.self && typeof namespace.self.label == "string";
|
|
293
|
+
}
|
|
294
|
+
function nameCompletion(label, type, idQuote, idCaseInsensitive) {
|
|
295
|
+
if (new RegExp("^[a-z_][a-z_\\d]*$", idCaseInsensitive ? "i" : "").test(label)) return {
|
|
296
|
+
label,
|
|
297
|
+
type
|
|
298
|
+
};
|
|
299
|
+
return {
|
|
300
|
+
label,
|
|
301
|
+
type,
|
|
302
|
+
apply: idQuote + label + getClosingQuote(idQuote)
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
function getClosingQuote(openingQuote) {
|
|
306
|
+
return openingQuote === "[" ? "]" : openingQuote;
|
|
307
|
+
}
|
|
308
|
+
function completeFromSchema(schema, tables, schemas, defaultTableName, defaultSchemaName, dialect) {
|
|
309
|
+
var _a;
|
|
310
|
+
let top = new CompletionLevel(((_a = dialect === null || dialect === void 0 ? void 0 : dialect.spec.identifierQuotes) === null || _a === void 0 ? void 0 : _a[0]) || "\"", !!(dialect === null || dialect === void 0 ? void 0 : dialect.spec.caseInsensitiveIdentifiers));
|
|
311
|
+
let defaultSchema = defaultSchemaName ? top.child(defaultSchemaName) : null;
|
|
312
|
+
top.addNamespace(schema);
|
|
313
|
+
if (tables) (defaultSchema || top).addCompletions(tables);
|
|
314
|
+
if (schemas) top.addCompletions(schemas);
|
|
315
|
+
if (defaultSchema) top.addCompletions(defaultSchema.list);
|
|
316
|
+
if (defaultTableName) top.addCompletions((defaultSchema || top).child(defaultTableName).list);
|
|
317
|
+
return context => {
|
|
318
|
+
let {
|
|
319
|
+
parents,
|
|
320
|
+
from,
|
|
321
|
+
quoted,
|
|
322
|
+
empty,
|
|
323
|
+
aliases
|
|
324
|
+
} = sourceContext(context.state, context.pos);
|
|
325
|
+
if (empty && !context.explicit) return null;
|
|
326
|
+
if (aliases && parents.length == 1) parents = aliases[parents[0]] || parents;
|
|
327
|
+
let level = top;
|
|
328
|
+
for (let name of parents) {
|
|
329
|
+
while (!level.children || !level.children[name]) if (level == top && defaultSchema) level = defaultSchema;else if (level == defaultSchema && defaultTableName) level = level.child(defaultTableName);else return null;
|
|
330
|
+
let next = level.maybeChild(name);
|
|
331
|
+
if (!next) return null;
|
|
332
|
+
level = next;
|
|
333
|
+
}
|
|
334
|
+
let options = level.list;
|
|
335
|
+
if (level == top && aliases) options = options.concat(Object.keys(aliases).map(name => ({
|
|
336
|
+
label: name,
|
|
337
|
+
type: "constant"
|
|
338
|
+
})));
|
|
339
|
+
if (quoted) {
|
|
340
|
+
let openingQuote = quoted[0];
|
|
341
|
+
let closingQuote = getClosingQuote(openingQuote);
|
|
342
|
+
return {
|
|
343
|
+
from,
|
|
344
|
+
to: context.state.sliceDoc(context.pos, context.pos + 1) == closingQuote ? context.pos + 1 : void 0,
|
|
345
|
+
options: maybeQuoteCompletions(openingQuote, closingQuote, options),
|
|
346
|
+
validFor: QuotedSpan
|
|
347
|
+
};
|
|
348
|
+
} else return {
|
|
349
|
+
from,
|
|
350
|
+
options,
|
|
351
|
+
validFor: Span
|
|
352
|
+
};
|
|
353
|
+
};
|
|
354
|
+
}
|
|
355
|
+
function completionType(tokenType) {
|
|
356
|
+
return tokenType == Type ? "type" : tokenType == Keyword ? "keyword" : "variable";
|
|
357
|
+
}
|
|
358
|
+
function completeKeywords(keywords, upperCase, build) {
|
|
359
|
+
return ifNotIn(["QuotedIdentifier", "String", "LineComment", "BlockComment", "."], completeFromList(Object.keys(keywords).map(keyword => build(upperCase ? keyword.toUpperCase() : keyword, completionType(keywords[keyword])))));
|
|
360
|
+
}
|
|
361
|
+
function defaultKeyword(label, type) {
|
|
362
|
+
return {
|
|
363
|
+
label,
|
|
364
|
+
type,
|
|
365
|
+
boost: -1
|
|
366
|
+
};
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
Returns a completion source that provides keyword completion for
|
|
370
|
+
the given SQL dialect.
|
|
371
|
+
*/
|
|
372
|
+
function keywordCompletionSource(dialect, upperCase = false, build) {
|
|
373
|
+
return completeKeywords(dialect.dialect.words, upperCase, build || defaultKeyword);
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
Returns a completion sources that provides schema-based completion
|
|
377
|
+
for the given configuration.
|
|
378
|
+
*/
|
|
379
|
+
function schemaCompletionSource(config) {
|
|
380
|
+
return config.schema ? completeFromSchema(config.schema, config.tables, config.schemas, config.defaultTable, config.defaultSchema, config.dialect || StandardSQL) : () => null;
|
|
381
|
+
}
|
|
382
|
+
function schemaCompletion(config) {
|
|
383
|
+
return config.schema ? (config.dialect || StandardSQL).language.data.of({
|
|
384
|
+
autocomplete: schemaCompletionSource(config)
|
|
385
|
+
}) : [];
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
SQL language support for the given SQL dialect, with keyword
|
|
389
|
+
completion, and, if provided, schema-based completion as extra
|
|
390
|
+
extensions.
|
|
391
|
+
*/
|
|
392
|
+
function sql(config = {}) {
|
|
393
|
+
let lang = config.dialect || StandardSQL;
|
|
394
|
+
return new LanguageSupport(lang.language, [schemaCompletion(config), lang.language.data.of({
|
|
395
|
+
autocomplete: keywordCompletionSource(lang, config.upperCaseKeywords, config.keywordCompletion)
|
|
396
|
+
})]);
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
The standard SQL dialect.
|
|
400
|
+
*/
|
|
401
|
+
|
|
402
|
+
//#endregion
|
|
403
|
+
export { sql };
|
|
404
|
+
//# sourceMappingURL=dist13.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dist13.d.ts","names":[],"sources":["../../../../node_modules/.bun/@codemirror+lang-sql@6.10.0/node_modules/@codemirror/lang-sql/dist/index.js"],"x_google_ignoreList":[0],"mappings":"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"}
|