runescript-lsp 0.0.1
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 +15 -0
- package/dist/cache/CompletionCache.d.ts +15 -0
- package/dist/cache/CompletionCache.js +58 -0
- package/dist/cache/CompletionCache.js.map +1 -0
- package/dist/cache/FileCache.d.ts +25 -0
- package/dist/cache/FileCache.js +101 -0
- package/dist/cache/FileCache.js.map +1 -0
- package/dist/cache/IdCache.d.ts +28 -0
- package/dist/cache/IdCache.js +47 -0
- package/dist/cache/IdCache.js.map +1 -0
- package/dist/cache/SymbolCache.d.ts +76 -0
- package/dist/cache/SymbolCache.js +205 -0
- package/dist/cache/SymbolCache.js.map +1 -0
- package/dist/cache/Trie.d.ts +22 -0
- package/dist/cache/Trie.js +122 -0
- package/dist/cache/Trie.js.map +1 -0
- package/dist/cache/WorkspaceCache.d.ts +32 -0
- package/dist/cache/WorkspaceCache.js +60 -0
- package/dist/cache/WorkspaceCache.js.map +1 -0
- package/dist/cache/cacheManager.d.ts +16 -0
- package/dist/cache/cacheManager.js +47 -0
- package/dist/cache/cacheManager.js.map +1 -0
- package/dist/handler/colorProvider.d.ts +2 -0
- package/dist/handler/colorProvider.js +103 -0
- package/dist/handler/colorProvider.js.map +1 -0
- package/dist/handler/commands.d.ts +6 -0
- package/dist/handler/commands.js +25 -0
- package/dist/handler/commands.js.map +1 -0
- package/dist/handler/completion.d.ts +3 -0
- package/dist/handler/completion.js +25 -0
- package/dist/handler/completion.js.map +1 -0
- package/dist/handler/definition.d.ts +2 -0
- package/dist/handler/definition.js +20 -0
- package/dist/handler/definition.js.map +1 -0
- package/dist/handler/fileEvents.d.ts +3 -0
- package/dist/handler/fileEvents.js +107 -0
- package/dist/handler/fileEvents.js.map +1 -0
- package/dist/handler/gitEvents.d.ts +6 -0
- package/dist/handler/gitEvents.js +22 -0
- package/dist/handler/gitEvents.js.map +1 -0
- package/dist/handler/hover.d.ts +2 -0
- package/dist/handler/hover.js +125 -0
- package/dist/handler/hover.js.map +1 -0
- package/dist/handler/references.d.ts +2 -0
- package/dist/handler/references.js +33 -0
- package/dist/handler/references.js.map +1 -0
- package/dist/handler/rename.d.ts +2 -0
- package/dist/handler/rename.js +6 -0
- package/dist/handler/rename.js.map +1 -0
- package/dist/handler/semanticTokens.d.ts +4 -0
- package/dist/handler/semanticTokens.js +40 -0
- package/dist/handler/semanticTokens.js.map +1 -0
- package/dist/handler/settingsEvents.d.ts +2 -0
- package/dist/handler/settingsEvents.js +11 -0
- package/dist/handler/settingsEvents.js.map +1 -0
- package/dist/handler/signatureHelp.d.ts +2 -0
- package/dist/handler/signatureHelp.js +6 -0
- package/dist/handler/signatureHelp.js.map +1 -0
- package/dist/handler/workspaceEvents.d.ts +2 -0
- package/dist/handler/workspaceEvents.js +30 -0
- package/dist/handler/workspaceEvents.js.map +1 -0
- package/dist/manager.d.ts +6 -0
- package/dist/manager.js +126 -0
- package/dist/manager.js.map +1 -0
- package/dist/parser/configParser.d.ts +29 -0
- package/dist/parser/configParser.js +216 -0
- package/dist/parser/configParser.js.map +1 -0
- package/dist/parser/constantParser.d.ts +14 -0
- package/dist/parser/constantParser.js +40 -0
- package/dist/parser/constantParser.js.map +1 -0
- package/dist/parser/dbtableParser.d.ts +18 -0
- package/dist/parser/dbtableParser.js +114 -0
- package/dist/parser/dbtableParser.js.map +1 -0
- package/dist/parser/packParser.d.ts +11 -0
- package/dist/parser/packParser.js +13 -0
- package/dist/parser/packParser.js.map +1 -0
- package/dist/parser/parser.d.ts +44 -0
- package/dist/parser/parser.js +34 -0
- package/dist/parser/parser.js.map +1 -0
- package/dist/parser/runescriptParser.d.ts +13 -0
- package/dist/parser/runescriptParser.js +28 -0
- package/dist/parser/runescriptParser.js.map +1 -0
- package/dist/public/commands.d.ts +1 -0
- package/dist/public/commands.js +2 -0
- package/dist/public/commands.js.map +1 -0
- package/dist/public/settings.d.ts +2 -0
- package/dist/public/settings.js +2 -0
- package/dist/public/settings.js.map +1 -0
- package/dist/public/types.d.ts +2 -0
- package/dist/public/types.js +2 -0
- package/dist/public/types.js.map +1 -0
- package/dist/resolver/configResolver.d.ts +2 -0
- package/dist/resolver/configResolver.js +102 -0
- package/dist/resolver/configResolver.js.map +1 -0
- package/dist/resolver/constantResolver.d.ts +2 -0
- package/dist/resolver/constantResolver.js +37 -0
- package/dist/resolver/constantResolver.js.map +1 -0
- package/dist/resolver/dbtableResolver.d.ts +2 -0
- package/dist/resolver/dbtableResolver.js +28 -0
- package/dist/resolver/dbtableResolver.js.map +1 -0
- package/dist/resolver/packResolver.d.ts +2 -0
- package/dist/resolver/packResolver.js +32 -0
- package/dist/resolver/packResolver.js.map +1 -0
- package/dist/resolver/resolver.d.ts +15 -0
- package/dist/resolver/resolver.js +95 -0
- package/dist/resolver/resolver.js.map +1 -0
- package/dist/resolver/runescriptResolver.d.ts +2 -0
- package/dist/resolver/runescriptResolver.js +347 -0
- package/dist/resolver/runescriptResolver.js.map +1 -0
- package/dist/resource/configKeys.d.ts +21 -0
- package/dist/resource/configKeys.js +86 -0
- package/dist/resource/configKeys.js.map +1 -0
- package/dist/resource/enum/displayItems.d.ts +13 -0
- package/dist/resource/enum/displayItems.js +23 -0
- package/dist/resource/enum/displayItems.js.map +1 -0
- package/dist/resource/enum/fileTypes.d.ts +26 -0
- package/dist/resource/enum/fileTypes.js +28 -0
- package/dist/resource/enum/fileTypes.js.map +1 -0
- package/dist/resource/enum/languages.d.ts +25 -0
- package/dist/resource/enum/languages.js +27 -0
- package/dist/resource/enum/languages.js.map +1 -0
- package/dist/resource/enum/regex.d.ts +24 -0
- package/dist/resource/enum/regex.js +25 -0
- package/dist/resource/enum/regex.js.map +1 -0
- package/dist/resource/enum/semanticTokens.d.ts +24 -0
- package/dist/resource/enum/semanticTokens.js +26 -0
- package/dist/resource/enum/semanticTokens.js.map +1 -0
- package/dist/resource/enum/symbolTypes.d.ts +49 -0
- package/dist/resource/enum/symbolTypes.js +51 -0
- package/dist/resource/enum/symbolTypes.js.map +1 -0
- package/dist/resource/enum/types.d.ts +47 -0
- package/dist/resource/enum/types.js +49 -0
- package/dist/resource/enum/types.js.map +1 -0
- package/dist/resource/scriptTriggers.d.ts +8 -0
- package/dist/resource/scriptTriggers.js +72 -0
- package/dist/resource/scriptTriggers.js.map +1 -0
- package/dist/resource/symbolConfig.d.ts +10 -0
- package/dist/resource/symbolConfig.js +234 -0
- package/dist/resource/symbolConfig.js.map +1 -0
- package/dist/resource/symbolPostProcessors.d.ts +15 -0
- package/dist/resource/symbolPostProcessors.js +70 -0
- package/dist/resource/symbolPostProcessors.js.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.js +110 -0
- package/dist/server.js.map +1 -0
- package/dist/types.d.ts +214 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/cacheUtils.d.ts +12 -0
- package/dist/utils/cacheUtils.js +26 -0
- package/dist/utils/cacheUtils.js.map +1 -0
- package/dist/utils/connectionUtils.d.ts +3 -0
- package/dist/utils/connectionUtils.js +8 -0
- package/dist/utils/connectionUtils.js.map +1 -0
- package/dist/utils/diagnosticsUtils.d.ts +4 -0
- package/dist/utils/diagnosticsUtils.js +11 -0
- package/dist/utils/diagnosticsUtils.js.map +1 -0
- package/dist/utils/documentUtils.d.ts +5 -0
- package/dist/utils/documentUtils.js +14 -0
- package/dist/utils/documentUtils.js.map +1 -0
- package/dist/utils/fileUtils.d.ts +42 -0
- package/dist/utils/fileUtils.js +82 -0
- package/dist/utils/fileUtils.js.map +1 -0
- package/dist/utils/handlerUtils.d.ts +1 -0
- package/dist/utils/handlerUtils.js +5 -0
- package/dist/utils/handlerUtils.js.map +1 -0
- package/dist/utils/highlightUtils.d.ts +7 -0
- package/dist/utils/highlightUtils.js +52 -0
- package/dist/utils/highlightUtils.js.map +1 -0
- package/dist/utils/initUtils.d.ts +3 -0
- package/dist/utils/initUtils.js +18 -0
- package/dist/utils/initUtils.js.map +1 -0
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.js +38 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/progressUtils.d.ts +7 -0
- package/dist/utils/progressUtils.js +31 -0
- package/dist/utils/progressUtils.js.map +1 -0
- package/dist/utils/resolverUtils.d.ts +17 -0
- package/dist/utils/resolverUtils.js +97 -0
- package/dist/utils/resolverUtils.js.map +1 -0
- package/dist/utils/settingsUtils.d.ts +19 -0
- package/dist/utils/settingsUtils.js +88 -0
- package/dist/utils/settingsUtils.js.map +1 -0
- package/dist/utils/symbolBuilder.d.ts +10 -0
- package/dist/utils/symbolBuilder.js +135 -0
- package/dist/utils/symbolBuilder.js.map +1 -0
- package/dist/utils/workspaceUtils.d.ts +11 -0
- package/dist/utils/workspaceUtils.js +52 -0
- package/dist/utils/workspaceUtils.js.map +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
import { getScriptTriggerSymbol } from "../resource/scriptTriggers.js";
|
|
2
|
+
import { warn } from "../utils/logger.js";
|
|
3
|
+
import { buildSymbolFromRef, buildSymbolFromDec, buildModifiedWordContext } from "../utils/symbolBuilder.js";
|
|
4
|
+
import { SymbolType } from "../resource/enum/symbolTypes.js";
|
|
5
|
+
import { resolveRefDataRange, resolveDefDataRange, toCoord } from "../utils/resolverUtils.js";
|
|
6
|
+
import { AstVisitor, NodeKind, PTagStringPart } from "runescript-parser";
|
|
7
|
+
import { CommandCallExpression, Identifier } from "runescript-parser";
|
|
8
|
+
import { Script } from "runescript-parser";
|
|
9
|
+
import { typeToSymbolType } from "../resource/symbolConfig.js";
|
|
10
|
+
export const ScriptResolver = {
|
|
11
|
+
resolveDefinitions,
|
|
12
|
+
resolveReferences
|
|
13
|
+
};
|
|
14
|
+
function resolveDefinitions(parseResult, cache) {
|
|
15
|
+
const file = parseResult.data;
|
|
16
|
+
const fileCache = cache.getFileCache(parseResult.fileInfo.fsPath);
|
|
17
|
+
const resolvedDefs = [];
|
|
18
|
+
for (const script of file.scripts) {
|
|
19
|
+
fileCache?.addScriptRange(script.parsedScript.source.line, script.parsedScript.source.endLine, script.parsedScript.nameString);
|
|
20
|
+
const trigger = script.parsedScript.trigger;
|
|
21
|
+
const triggerType = getScriptTriggerSymbol(trigger.text);
|
|
22
|
+
if (!triggerType) {
|
|
23
|
+
warn(`Unable to resolve trigger details for trigger ${trigger.text}`);
|
|
24
|
+
continue;
|
|
25
|
+
}
|
|
26
|
+
// Resolve trigger symbol
|
|
27
|
+
const triggerSymbol = buildSymbolFromRef(trigger.text, SymbolType.Trigger, parseResult.fileInfo.type);
|
|
28
|
+
resolvedDefs.push(resolveDefDataRange(trigger.source.column, trigger.source.endColumn, trigger.source.line, triggerSymbol, false));
|
|
29
|
+
// Resolve script symbol
|
|
30
|
+
const source = script.parsedScript.name.source;
|
|
31
|
+
const end = script.parsedScript.isStar ? source.endColumn + 1 : source.endColumn;
|
|
32
|
+
if (triggerType.declaration) {
|
|
33
|
+
const scriptSymbol = buildSymbolFromDec(script.parsedScript.nameString, triggerType.symbolType, parseResult.fileInfo, source.line, source.column, source.endColumn, { info: script.info, signature: script.signature });
|
|
34
|
+
resolvedDefs.push(resolveDefDataRange(source.column, end, source.line, scriptSymbol, triggerType.declaration));
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
if (script.parsedScript.nameString.startsWith('_')) {
|
|
38
|
+
const name = script.parsedScript.nameString.substring(1);
|
|
39
|
+
const context = buildModifiedWordContext(script.parsedScript.nameString, '_');
|
|
40
|
+
const extraData = { symbolType: triggerType.symbolType, categoryName: name };
|
|
41
|
+
resolvedDefs.push(resolveRefDataRange(SymbolType.Category, source.column, end, source.line, name, parseResult.fileInfo.type, context, extraData));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
resolvedDefs.push(resolveRefDataRange(triggerType.symbolType, source.column, end, source.line, script.parsedScript.nameString, parseResult.fileInfo.type));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Resolve param (local vars)
|
|
48
|
+
if (fileCache) {
|
|
49
|
+
for (const param of (script.parsedScript.parameters ?? [])) {
|
|
50
|
+
const paramSymbol = buildSymbolFromDec(param.name.text, SymbolType.LocalVar, parseResult.fileInfo, param.source.line, param.name.source.column, param.name.source.endColumn, { extraData: { type: param.typeToken.text } });
|
|
51
|
+
paramSymbol.block = `${param.typeToken.text} ${param.name.text} (parameter)`;
|
|
52
|
+
fileCache.addLocalVariable(paramSymbol, param.source.line, param.name.source.column, param.name.source.endColumn);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
return resolvedDefs;
|
|
57
|
+
}
|
|
58
|
+
function resolveReferences(parseResult, cache) {
|
|
59
|
+
const file = parseResult.data;
|
|
60
|
+
const resolvedRefs = [];
|
|
61
|
+
const visitor = new RunescriptVisitor(resolvedRefs, parseResult.fileInfo, cache);
|
|
62
|
+
for (const script of file.scripts) {
|
|
63
|
+
script.parsedScript.accept(visitor);
|
|
64
|
+
}
|
|
65
|
+
visitor.finalize();
|
|
66
|
+
return resolvedRefs;
|
|
67
|
+
}
|
|
68
|
+
class RunescriptVisitor extends AstVisitor {
|
|
69
|
+
fileCache;
|
|
70
|
+
symbolCache;
|
|
71
|
+
resolvedNodes;
|
|
72
|
+
unknownIdens;
|
|
73
|
+
exprTypes;
|
|
74
|
+
resolvedRefs;
|
|
75
|
+
localVariableTypes;
|
|
76
|
+
fileInfo;
|
|
77
|
+
constructor(resolvedRefs, fileInfo, cache) {
|
|
78
|
+
super();
|
|
79
|
+
this.unknownIdens = new Set();
|
|
80
|
+
this.localVariableTypes = new Map();
|
|
81
|
+
this.resolvedNodes = new WeakSet();
|
|
82
|
+
this.exprTypes = new WeakMap();
|
|
83
|
+
this.resolvedRefs = resolvedRefs;
|
|
84
|
+
this.fileInfo = fileInfo;
|
|
85
|
+
this.symbolCache = cache.getSymbolCache();
|
|
86
|
+
this.fileCache = cache.getFileCache(fileInfo.fsPath);
|
|
87
|
+
}
|
|
88
|
+
finalize() {
|
|
89
|
+
this.unknownIdens.forEach(unknownIden => {
|
|
90
|
+
if (!this.resolvedNodes.has(unknownIden)) {
|
|
91
|
+
this.resolveRefFromNode(SymbolType.Unknown, unknownIden, unknownIden.text);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
resolveRefFromNode(symbolType, node, name, isStar = false) {
|
|
96
|
+
if (this.resolvedNodes.has(node))
|
|
97
|
+
return;
|
|
98
|
+
this.resolvedRefs.push(resolveRefDataRange(symbolType, node.source.column, isStar ? node.source.endColumn + 1 : node.source.endColumn, node.source.line, name, this.fileInfo.type));
|
|
99
|
+
this.resolvedNodes.add(node);
|
|
100
|
+
}
|
|
101
|
+
resolveRefManual(symbolType, node, name, line, start, end) {
|
|
102
|
+
if (this.resolvedNodes.has(node))
|
|
103
|
+
return;
|
|
104
|
+
this.resolvedRefs.push(resolveRefDataRange(symbolType, start, end, line, name, this.fileInfo.type));
|
|
105
|
+
this.resolvedNodes.add(node);
|
|
106
|
+
}
|
|
107
|
+
getScript(node) {
|
|
108
|
+
let cur = node;
|
|
109
|
+
while (cur !== null && !(cur instanceof Script)) {
|
|
110
|
+
cur = cur.parent;
|
|
111
|
+
}
|
|
112
|
+
return cur;
|
|
113
|
+
}
|
|
114
|
+
isCommand(identifier) {
|
|
115
|
+
const symbol = this.symbolCache.get(identifier.text, SymbolType.Command);
|
|
116
|
+
return !!symbol?.declaration;
|
|
117
|
+
}
|
|
118
|
+
resolveCall(node, calleeType) {
|
|
119
|
+
let queueName;
|
|
120
|
+
const calleeSignature = this.symbolCache.get(node.name.text, calleeType)?.signature;
|
|
121
|
+
if (calleeSignature?.returns) {
|
|
122
|
+
this.exprTypes.set(node, calleeSignature.returns.map(r => r.symbolType));
|
|
123
|
+
}
|
|
124
|
+
if (node.arguments.length > 0 && calleeSignature?.params) {
|
|
125
|
+
const calleeParams = calleeSignature?.params;
|
|
126
|
+
for (let i = 0; i < calleeParams.length; i++) {
|
|
127
|
+
const argument = node.arguments[i];
|
|
128
|
+
if (argument instanceof Identifier) {
|
|
129
|
+
const symbolType = this.isCommand(argument) ? SymbolType.Command : calleeParams[i].symbolType;
|
|
130
|
+
if (symbolType === SymbolType.Queue && i === 0)
|
|
131
|
+
queueName = argument.text;
|
|
132
|
+
this.resolveRefFromNode(symbolType, argument, argument.text);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
if (node instanceof CommandCallExpression && node.arguments2 && queueName) {
|
|
137
|
+
const queueParams = this.symbolCache.get(queueName, SymbolType.Queue)?.signature?.params ?? [];
|
|
138
|
+
if (queueParams.length > 0) {
|
|
139
|
+
for (let i = 0; i < Math.min(queueParams.length, node.arguments2.length); i++) {
|
|
140
|
+
const argument = node.arguments2[i];
|
|
141
|
+
if (argument instanceof Identifier) {
|
|
142
|
+
const symbolType = this.isCommand(argument) ? SymbolType.Command : queueParams[i].symbolType;
|
|
143
|
+
this.resolveRefFromNode(symbolType, argument, argument.text);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
visitNode(node) {
|
|
150
|
+
for (const child of node.children) {
|
|
151
|
+
child.accept(this);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
visitScript(node) {
|
|
155
|
+
this.localVariableTypes.clear();
|
|
156
|
+
this.resolvedNodes.add(node.trigger);
|
|
157
|
+
this.resolvedNodes.add(node.name);
|
|
158
|
+
for (const param of (node.parameters ?? [])) {
|
|
159
|
+
this.localVariableTypes.set(param.name.text, typeToSymbolType(param.typeToken.text));
|
|
160
|
+
this.resolvedNodes.add(param.name);
|
|
161
|
+
}
|
|
162
|
+
super.visitScript(node);
|
|
163
|
+
}
|
|
164
|
+
visitIdentifier(node) {
|
|
165
|
+
if (this.isCommand(node)) {
|
|
166
|
+
this.resolveRefFromNode(SymbolType.Command, node, node.text);
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
this.unknownIdens.add(node);
|
|
170
|
+
//this.resolveRefFromNode(SymbolType.Unknown, node, node.text);
|
|
171
|
+
}
|
|
172
|
+
super.visitIdentifier(node);
|
|
173
|
+
}
|
|
174
|
+
visitCallExpression(node) {
|
|
175
|
+
if (node.kind === NodeKind.ProcCallExpression) {
|
|
176
|
+
this.resolveRefFromNode(SymbolType.Proc, node.name, node.name.text);
|
|
177
|
+
}
|
|
178
|
+
else if (node.kind === NodeKind.JumpCallExpression) {
|
|
179
|
+
this.resolveRefFromNode(SymbolType.Label, node.name, node.name.text);
|
|
180
|
+
}
|
|
181
|
+
else if (node instanceof CommandCallExpression) {
|
|
182
|
+
this.resolveRefFromNode(SymbolType.Command, node.name, node.nameString, node.isStar);
|
|
183
|
+
}
|
|
184
|
+
super.visitCallExpression(node);
|
|
185
|
+
}
|
|
186
|
+
visitJoinedStringPart(node) {
|
|
187
|
+
if (node.kind === NodeKind.BasicStringPart) {
|
|
188
|
+
this.resolveRefFromNode(SymbolType.String, node, "string");
|
|
189
|
+
}
|
|
190
|
+
if (node instanceof PTagStringPart) {
|
|
191
|
+
const startIdx = node.source.column + 3;
|
|
192
|
+
const endIdx = node.source.endColumn - 1;
|
|
193
|
+
const name = node.value.substring(3, node.value.length - 1);
|
|
194
|
+
this.resolveRefManual(SymbolType.Mesanim, node, name, node.source.line, startIdx, endIdx);
|
|
195
|
+
}
|
|
196
|
+
super.visitJoinedStringPart(node);
|
|
197
|
+
}
|
|
198
|
+
visitLiteral(node) {
|
|
199
|
+
let symbolType = SymbolType.Unknown;
|
|
200
|
+
let name = 'unknown';
|
|
201
|
+
if (node.kind === NodeKind.NullLiteral) {
|
|
202
|
+
symbolType = SymbolType.Null;
|
|
203
|
+
name = "null";
|
|
204
|
+
}
|
|
205
|
+
else if (node.kind === NodeKind.CoordLiteral) {
|
|
206
|
+
symbolType = SymbolType.Coordinates;
|
|
207
|
+
name = toCoord(node.value);
|
|
208
|
+
}
|
|
209
|
+
else if (node.kind === NodeKind.IntegerLiteral) {
|
|
210
|
+
symbolType = SymbolType.Number;
|
|
211
|
+
name = "number";
|
|
212
|
+
}
|
|
213
|
+
else if (node.kind === NodeKind.StringLiteral || node.kind === NodeKind.CharacterLiteral) {
|
|
214
|
+
symbolType = SymbolType.String;
|
|
215
|
+
name = "string";
|
|
216
|
+
}
|
|
217
|
+
else if (node.kind === NodeKind.BooleanLiteral) {
|
|
218
|
+
symbolType = SymbolType.Boolean;
|
|
219
|
+
name = "boolean";
|
|
220
|
+
}
|
|
221
|
+
if (symbolType !== SymbolType.Unknown) {
|
|
222
|
+
this.resolveRefFromNode(symbolType, node, name);
|
|
223
|
+
this.exprTypes.set(node, [symbolType]);
|
|
224
|
+
}
|
|
225
|
+
super.visitLiteral(node);
|
|
226
|
+
}
|
|
227
|
+
visitVariableExpression(node) {
|
|
228
|
+
if (this.fileCache && node.kind === NodeKind.LocalVariableExpression) {
|
|
229
|
+
this.fileCache.addLocalVariableReference(node.name.text, node.name.source.line, node.name.source.column, node.name.source.endColumn);
|
|
230
|
+
this.resolvedNodes.add(node.name);
|
|
231
|
+
const symbolType = this.localVariableTypes.get(node.name.text);
|
|
232
|
+
if (symbolType) {
|
|
233
|
+
this.exprTypes.set(node, [symbolType]);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else if (node.kind === NodeKind.ConstantVariableExpression) {
|
|
237
|
+
this.resolveRefFromNode(SymbolType.Constant, node.name, node.name.text);
|
|
238
|
+
const exprTypes = this.symbolCache.get(node.name.text, SymbolType.Constant)?.comparisonTypes ?? [];
|
|
239
|
+
this.exprTypes.set(node, exprTypes);
|
|
240
|
+
}
|
|
241
|
+
else if (node.kind === NodeKind.GameVariableExpression) {
|
|
242
|
+
this.resolveRefFromNode(SymbolType.GameVar, node.name, node.name.text);
|
|
243
|
+
const exprTypes = this.symbolCache.get(node.name.text, SymbolType.GameVar)?.comparisonTypes ?? [];
|
|
244
|
+
this.exprTypes.set(node, exprTypes);
|
|
245
|
+
}
|
|
246
|
+
super.visitVariableExpression(node);
|
|
247
|
+
}
|
|
248
|
+
visitDeclarationStatement(node) {
|
|
249
|
+
const type = node.typeToken.text;
|
|
250
|
+
if (this.fileCache && type.startsWith('def_')) {
|
|
251
|
+
const typeStr = type.substring(4);
|
|
252
|
+
const localVarSymbol = buildSymbolFromDec(node.name.text, SymbolType.LocalVar, this.fileInfo, node.name.source.line, node.name.source.column, node.name.source.endColumn, { extraData: { type: typeStr } });
|
|
253
|
+
this.fileCache.addLocalVariable(localVarSymbol, node.name.source.line, node.name.source.column, node.name.source.endColumn);
|
|
254
|
+
this.resolvedNodes.add(node.name);
|
|
255
|
+
this.localVariableTypes.set(node.name.text, typeToSymbolType(typeStr));
|
|
256
|
+
}
|
|
257
|
+
super.visitDeclarationStatement(node);
|
|
258
|
+
}
|
|
259
|
+
visitSwitchStatement(node) {
|
|
260
|
+
const type = typeToSymbolType(node.typeToken.text.substring(7));
|
|
261
|
+
for (const switchCase of node.cases) {
|
|
262
|
+
for (const key of switchCase.keys) {
|
|
263
|
+
if (key instanceof Identifier) {
|
|
264
|
+
this.resolveRefFromNode(type, key, key.text);
|
|
265
|
+
}
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
super.visitSwitchStatement(node);
|
|
269
|
+
}
|
|
270
|
+
visitProcCallExpression(node) {
|
|
271
|
+
this.resolveCall(node, SymbolType.Proc);
|
|
272
|
+
super.visitProcCallExpression(node);
|
|
273
|
+
}
|
|
274
|
+
visitJumpCallExpression(node) {
|
|
275
|
+
this.resolveCall(node, SymbolType.Label);
|
|
276
|
+
super.visitJumpCallExpression(node);
|
|
277
|
+
}
|
|
278
|
+
visitCommandCallExpression(node) {
|
|
279
|
+
this.resolveCall(node, SymbolType.Command);
|
|
280
|
+
super.visitCommandCallExpression(node);
|
|
281
|
+
}
|
|
282
|
+
visitReturnStatement(node) {
|
|
283
|
+
if (node.expressions.length > 0) {
|
|
284
|
+
for (let i = 0; i < node.expressions.length; i++) {
|
|
285
|
+
const expression = node.expressions[i];
|
|
286
|
+
if (expression instanceof Identifier) {
|
|
287
|
+
if (this.isCommand(expression)) {
|
|
288
|
+
this.resolveRefFromNode(SymbolType.Command, expression, expression.text);
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
const returnTokens = this.getScript(expression)?.returnTokens ?? [];
|
|
292
|
+
const returnToken = returnTokens[i];
|
|
293
|
+
if (returnToken) {
|
|
294
|
+
this.resolveRefFromNode(typeToSymbolType(returnToken.text), expression, expression.text);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
super.visitReturnStatement(node);
|
|
301
|
+
}
|
|
302
|
+
visitCalcExpression(node) {
|
|
303
|
+
this.resolveRefManual(SymbolType.Command, node, "calc", node.source.line, node.source.column, node.source.column + 4);
|
|
304
|
+
super.visitCalcExpression(node);
|
|
305
|
+
}
|
|
306
|
+
visitConditionExpression(node) {
|
|
307
|
+
super.visitConditionExpression(node);
|
|
308
|
+
if (node.right instanceof Identifier && node.left instanceof Identifier) {
|
|
309
|
+
const rightCommand = this.resolveCommandIfAny(node.right);
|
|
310
|
+
const leftCommand = this.resolveCommandIfAny(node.left);
|
|
311
|
+
this.resolveFromCommandReturn(rightCommand, node.left);
|
|
312
|
+
this.resolveFromCommandReturn(leftCommand, node.right);
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
if (node.right instanceof Identifier) {
|
|
316
|
+
if (!this.resolveCommandIfAny(node.right)) {
|
|
317
|
+
this.resolveFromExpressionType(node.right, this.exprTypes.get(node.left));
|
|
318
|
+
}
|
|
319
|
+
return;
|
|
320
|
+
}
|
|
321
|
+
if (node.left instanceof Identifier) {
|
|
322
|
+
if (!this.resolveCommandIfAny(node.left)) {
|
|
323
|
+
this.resolveFromExpressionType(node.left, this.exprTypes.get(node.right));
|
|
324
|
+
}
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
resolveCommandIfAny(identifier) {
|
|
328
|
+
if (!this.isCommand(identifier))
|
|
329
|
+
return undefined;
|
|
330
|
+
this.resolveRefFromNode(SymbolType.Command, identifier, identifier.text);
|
|
331
|
+
return identifier.text;
|
|
332
|
+
}
|
|
333
|
+
resolveFromCommandReturn(commandName, target) {
|
|
334
|
+
if (!commandName)
|
|
335
|
+
return;
|
|
336
|
+
const commandReturns = this.symbolCache.get(commandName, SymbolType.Command)?.signature?.returns ?? [];
|
|
337
|
+
if (commandReturns.length > 0) {
|
|
338
|
+
this.resolveRefFromNode(commandReturns[0].symbolType, target, target.text);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
resolveFromExpressionType(target, types) {
|
|
342
|
+
if (!types || types.length === 0)
|
|
343
|
+
return;
|
|
344
|
+
this.resolveRefFromNode(types[0], target, target.text);
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
//# sourceMappingURL=runescriptResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runescriptResolver.js","sourceRoot":"","sources":["../../src/resolver/runescriptResolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { FileConfigData } from "../types.js";
|
|
2
|
+
import { FileType } from "./enum/fileTypes.js";
|
|
3
|
+
export declare function getFileConfigData(fileType: FileType): FileConfigData;
|
|
4
|
+
/**
|
|
5
|
+
* The source of the identifier for config keys which have dynamic varargs
|
|
6
|
+
* Used by the matcher to retrieve the identifier which contains the signature type params
|
|
7
|
+
*/
|
|
8
|
+
export declare enum ConfigVarArgSrc {
|
|
9
|
+
BlockName = "blockName",
|
|
10
|
+
FirstParam = "firstParam",
|
|
11
|
+
Column = "column"
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Learn a new config key name (save to the cache)
|
|
15
|
+
* @param key config key name
|
|
16
|
+
*/
|
|
17
|
+
export declare function learnConfigKey(key: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Returns all of the learned config keys so far
|
|
20
|
+
*/
|
|
21
|
+
export declare function getObservedConfigKeys(): Set<string>;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { FileType } from "./enum/fileTypes.js";
|
|
2
|
+
import { SymbolType } from "./enum/symbolTypes.js";
|
|
3
|
+
import { monitoredFileTypes } from "../utils/fileUtils.js";
|
|
4
|
+
const configDataByFileType = new Map();
|
|
5
|
+
export function getFileConfigData(fileType) {
|
|
6
|
+
if (configDataByFileType.size === 0) {
|
|
7
|
+
initConfigDataByFileType();
|
|
8
|
+
}
|
|
9
|
+
return configDataByFileType.get(fileType) ?? { directMap: new Map(), regexMap: new Map() };
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The source of the identifier for config keys which have dynamic varargs
|
|
13
|
+
* Used by the matcher to retrieve the identifier which contains the signature type params
|
|
14
|
+
*/
|
|
15
|
+
export var ConfigVarArgSrc;
|
|
16
|
+
(function (ConfigVarArgSrc) {
|
|
17
|
+
ConfigVarArgSrc["BlockName"] = "blockName";
|
|
18
|
+
ConfigVarArgSrc["FirstParam"] = "firstParam";
|
|
19
|
+
ConfigVarArgSrc["Column"] = "column";
|
|
20
|
+
})(ConfigVarArgSrc || (ConfigVarArgSrc = {}));
|
|
21
|
+
/**
|
|
22
|
+
* Defines static config keys (direct match)
|
|
23
|
+
* No need to specify fileType here with a simple key lookup
|
|
24
|
+
*/
|
|
25
|
+
const configKeys = [
|
|
26
|
+
{ key: 'walkanim', params: [SymbolType.Seq, SymbolType.Seq, SymbolType.Seq, SymbolType.Seq] },
|
|
27
|
+
{ key: 'multivar', params: [SymbolType.GameVar] },
|
|
28
|
+
{ key: 'multiloc', params: [SymbolType.Number, SymbolType.Loc] },
|
|
29
|
+
{ key: 'multinpc', params: [SymbolType.Number, SymbolType.Npc] },
|
|
30
|
+
{ key: 'basevar', params: [SymbolType.GameVar] },
|
|
31
|
+
{ key: 'category', params: [SymbolType.Category] },
|
|
32
|
+
{ key: 'huntmode', params: [SymbolType.Hunt] },
|
|
33
|
+
{ key: 'table', params: [SymbolType.Dbtable] },
|
|
34
|
+
{ key: 'check_category', params: [SymbolType.Category] },
|
|
35
|
+
{ key: 'check_inv', params: [SymbolType.Inv, SymbolType.Obj] },
|
|
36
|
+
{ key: 'param', params: [SymbolType.Param], varArgs: { symbolSource: ConfigVarArgSrc.FirstParam, symbolType: SymbolType.Param } },
|
|
37
|
+
{ key: 'val', params: [], varArgs: { symbolSource: ConfigVarArgSrc.BlockName, symbolType: SymbolType.Enum } },
|
|
38
|
+
{ key: 'data', params: [SymbolType.Dbcolumn], varArgs: { symbolSource: ConfigVarArgSrc.Column, symbolType: SymbolType.Dbcolumn } },
|
|
39
|
+
];
|
|
40
|
+
/**
|
|
41
|
+
* Defines regex config keys (check key against regex to find match)
|
|
42
|
+
* Need to specify file types here to limit excessive regex matching
|
|
43
|
+
*/
|
|
44
|
+
const regexConfigKeys = [
|
|
45
|
+
{ regex: /stock\d+/, params: [SymbolType.Obj, SymbolType.Number, SymbolType.Number], fileTypes: [FileType.Inv] },
|
|
46
|
+
{ regex: /count\d+/, params: [SymbolType.Obj, SymbolType.Number], fileTypes: [FileType.Obj] },
|
|
47
|
+
{ regex: /frame\d+/, params: [SymbolType.Frame], fileTypes: [FileType.Seq] },
|
|
48
|
+
{ regex: /(model|head|womanwear|manwear|womanhead|manhead|activemodel)\d*/, params: [SymbolType.Model], fileTypes: [FileType.Npc, FileType.Loc, FileType.Obj, FileType.Spotanim, FileType.If, FileType.Idk] },
|
|
49
|
+
{ regex: /\w*anim\w*/, params: [SymbolType.Seq], fileTypes: [FileType.Loc, FileType.Npc, FileType.If, FileType.Spotanim] },
|
|
50
|
+
{ regex: /replaceheldleft|replaceheldright/, params: [SymbolType.Obj], fileTypes: [FileType.Seq], ignoreValues: ["hide"] },
|
|
51
|
+
];
|
|
52
|
+
/**
|
|
53
|
+
* Build the "known config keys" by file type map used by the parser
|
|
54
|
+
*/
|
|
55
|
+
const nonConfigTypes = new Set([FileType.Pack, FileType.Rs2, FileType.Constant]);
|
|
56
|
+
function initConfigDataByFileType() {
|
|
57
|
+
monitoredFileTypes.forEach(fileType => {
|
|
58
|
+
if (fileType in nonConfigTypes)
|
|
59
|
+
return;
|
|
60
|
+
const fileTypeConfig = { directMap: new Map(), regexMap: new Map() };
|
|
61
|
+
configKeys.forEach(ck => fileTypeConfig.directMap.set(ck.key, ck));
|
|
62
|
+
regexConfigKeys.forEach(rck => {
|
|
63
|
+
if (rck.fileTypes.includes(fileType))
|
|
64
|
+
fileTypeConfig.regexMap.set(rck.regex, rck);
|
|
65
|
+
});
|
|
66
|
+
configDataByFileType.set(fileType, fileTypeConfig);
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Caches config keys found during matching, used by completion provider to suggest values
|
|
71
|
+
*/
|
|
72
|
+
const observedConfigKeys = new Set();
|
|
73
|
+
/**
|
|
74
|
+
* Learn a new config key name (save to the cache)
|
|
75
|
+
* @param key config key name
|
|
76
|
+
*/
|
|
77
|
+
export function learnConfigKey(key) {
|
|
78
|
+
observedConfigKeys.add(key);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Returns all of the learned config keys so far
|
|
82
|
+
*/
|
|
83
|
+
export function getObservedConfigKeys() {
|
|
84
|
+
return observedConfigKeys;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=configKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configKeys.js","sourceRoot":"","sources":["../../src/resource/configKeys.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Language } from "./languages.js";
|
|
2
|
+
import type { SymbolType } from "./symbolTypes.js";
|
|
3
|
+
export declare enum DisplayItem {
|
|
4
|
+
Title = "title",
|
|
5
|
+
Info = "info",
|
|
6
|
+
Value = "value",
|
|
7
|
+
Signature = "signature",
|
|
8
|
+
Codeblock = "codeblock"
|
|
9
|
+
}
|
|
10
|
+
export declare function getDeclarationDisplayItems(symbolType: SymbolType): Set<DisplayItem>;
|
|
11
|
+
export declare function getReferenceDisplayItems(symbolType: SymbolType): Set<DisplayItem>;
|
|
12
|
+
export declare function getDisplayLanguage(symbolType: SymbolType): Language;
|
|
13
|
+
export declare function getConfigInclusions(symbolType: SymbolType): string[] | undefined;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { getSymbolConfig } from "../symbolConfig.js";
|
|
2
|
+
import { Language } from "./languages.js";
|
|
3
|
+
export var DisplayItem;
|
|
4
|
+
(function (DisplayItem) {
|
|
5
|
+
DisplayItem["Title"] = "title";
|
|
6
|
+
DisplayItem["Info"] = "info";
|
|
7
|
+
DisplayItem["Value"] = "value";
|
|
8
|
+
DisplayItem["Signature"] = "signature";
|
|
9
|
+
DisplayItem["Codeblock"] = "codeblock";
|
|
10
|
+
})(DisplayItem || (DisplayItem = {}));
|
|
11
|
+
export function getDeclarationDisplayItems(symbolType) {
|
|
12
|
+
return new Set(getSymbolConfig(symbolType)?.hoverConfig?.declarationItems ?? []);
|
|
13
|
+
}
|
|
14
|
+
export function getReferenceDisplayItems(symbolType) {
|
|
15
|
+
return new Set(getSymbolConfig(symbolType)?.hoverConfig?.referenceItems ?? []);
|
|
16
|
+
}
|
|
17
|
+
export function getDisplayLanguage(symbolType) {
|
|
18
|
+
return getSymbolConfig(symbolType)?.hoverConfig?.language ?? Language.Runescript;
|
|
19
|
+
}
|
|
20
|
+
export function getConfigInclusions(symbolType) {
|
|
21
|
+
return getSymbolConfig(symbolType)?.hoverConfig?.configInclusions ?? undefined;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=displayItems.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"displayItems.js","sourceRoot":"","sources":["../../../src/resource/enum/displayItems.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,sCAAuB,CAAA;IACvB,sCAAuB,CAAA;AACzB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,UAAU,0BAA0B,CAAC,UAAsB;IAC/D,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,gBAAgB,IAAI,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,UAAsB;IAC7D,OAAO,IAAI,GAAG,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,UAAsB;IACvD,OAAO,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,QAAQ,IAAI,QAAQ,CAAC,UAAU,CAAC;AACnF,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAAsB;IACxD,OAAO,eAAe,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,gBAAgB,IAAI,SAAS,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export declare enum FileType {
|
|
2
|
+
Constant = "constant",
|
|
3
|
+
Dbrow = "dbrow",
|
|
4
|
+
Dbtable = "dbtable",
|
|
5
|
+
Enum = "enum",
|
|
6
|
+
Hunt = "hunt",
|
|
7
|
+
Idk = "idk",
|
|
8
|
+
If = "if",
|
|
9
|
+
Inv = "inv",
|
|
10
|
+
Loc = "loc",
|
|
11
|
+
Mesanim = "mesanim",
|
|
12
|
+
Npc = "npc",
|
|
13
|
+
Ob2 = "ob2",
|
|
14
|
+
Obj = "obj",
|
|
15
|
+
Param = "param",
|
|
16
|
+
Rs2 = "rs2",
|
|
17
|
+
Seq = "seq",
|
|
18
|
+
Spotanim = "spotanim",
|
|
19
|
+
Struct = "struct",
|
|
20
|
+
Synth = "synth",
|
|
21
|
+
Varbit = "varbit",
|
|
22
|
+
Varn = "varn",
|
|
23
|
+
Varp = "varp",
|
|
24
|
+
Vars = "vars",
|
|
25
|
+
Pack = "pack"
|
|
26
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export var FileType;
|
|
2
|
+
(function (FileType) {
|
|
3
|
+
FileType["Constant"] = "constant";
|
|
4
|
+
FileType["Dbrow"] = "dbrow";
|
|
5
|
+
FileType["Dbtable"] = "dbtable";
|
|
6
|
+
FileType["Enum"] = "enum";
|
|
7
|
+
FileType["Hunt"] = "hunt";
|
|
8
|
+
FileType["Idk"] = "idk";
|
|
9
|
+
FileType["If"] = "if";
|
|
10
|
+
FileType["Inv"] = "inv";
|
|
11
|
+
FileType["Loc"] = "loc";
|
|
12
|
+
FileType["Mesanim"] = "mesanim";
|
|
13
|
+
FileType["Npc"] = "npc";
|
|
14
|
+
FileType["Ob2"] = "ob2";
|
|
15
|
+
FileType["Obj"] = "obj";
|
|
16
|
+
FileType["Param"] = "param";
|
|
17
|
+
FileType["Rs2"] = "rs2";
|
|
18
|
+
FileType["Seq"] = "seq";
|
|
19
|
+
FileType["Spotanim"] = "spotanim";
|
|
20
|
+
FileType["Struct"] = "struct";
|
|
21
|
+
FileType["Synth"] = "synth";
|
|
22
|
+
FileType["Varbit"] = "varbit";
|
|
23
|
+
FileType["Varn"] = "varn";
|
|
24
|
+
FileType["Varp"] = "varp";
|
|
25
|
+
FileType["Vars"] = "vars";
|
|
26
|
+
FileType["Pack"] = "pack";
|
|
27
|
+
})(FileType || (FileType = {}));
|
|
28
|
+
//# sourceMappingURL=fileTypes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileTypes.js","sourceRoot":"","sources":["../../../src/resource/enum/fileTypes.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,QAyBX;AAzBD,WAAY,QAAQ;IAClB,iCAAqB,CAAA;IACrB,2BAAe,CAAA;IACf,+BAAmB,CAAA;IACnB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,qBAAS,CAAA;IACT,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,+BAAmB,CAAA;IACnB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,2BAAe,CAAA;IACf,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,iCAAqB,CAAA;IACrB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,yBAAa,CAAA;IACb,yBAAa,CAAA;AACf,CAAC,EAzBW,QAAQ,KAAR,QAAQ,QAyBnB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare enum Language {
|
|
2
|
+
Runescript = "runescript",
|
|
3
|
+
Locconfig = "locconfig",
|
|
4
|
+
Objconfig = "objconfig",
|
|
5
|
+
Npcconfig = "npcconfig",
|
|
6
|
+
Dbtableconfig = "dbtableconfig",
|
|
7
|
+
Dbrowconfig = "dbrowconfig",
|
|
8
|
+
Paramconfig = "paramconfig",
|
|
9
|
+
Structconfig = "structconfig",
|
|
10
|
+
Enumconfig = "enumconfig",
|
|
11
|
+
Varpconfig = "varpconfig",
|
|
12
|
+
Varbitconfig = "varbitconfig",
|
|
13
|
+
Varnconfig = "varnconfig",
|
|
14
|
+
Varsconfig = "varsconfig",
|
|
15
|
+
Invconfig = "invconfig",
|
|
16
|
+
Seqconfig = "seqconfig",
|
|
17
|
+
Spotanimconfig = "spotanimconfig",
|
|
18
|
+
Mesanimconfig = "mesanimconfig",
|
|
19
|
+
Idkconfig = "idkconfig",
|
|
20
|
+
Huntconfig = "huntconfig",
|
|
21
|
+
Constants = "constants",
|
|
22
|
+
Interface = "interface",
|
|
23
|
+
Pack = "pack",
|
|
24
|
+
Floconfig = "floconfig"
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export var Language;
|
|
2
|
+
(function (Language) {
|
|
3
|
+
Language["Runescript"] = "runescript";
|
|
4
|
+
Language["Locconfig"] = "locconfig";
|
|
5
|
+
Language["Objconfig"] = "objconfig";
|
|
6
|
+
Language["Npcconfig"] = "npcconfig";
|
|
7
|
+
Language["Dbtableconfig"] = "dbtableconfig";
|
|
8
|
+
Language["Dbrowconfig"] = "dbrowconfig";
|
|
9
|
+
Language["Paramconfig"] = "paramconfig";
|
|
10
|
+
Language["Structconfig"] = "structconfig";
|
|
11
|
+
Language["Enumconfig"] = "enumconfig";
|
|
12
|
+
Language["Varpconfig"] = "varpconfig";
|
|
13
|
+
Language["Varbitconfig"] = "varbitconfig";
|
|
14
|
+
Language["Varnconfig"] = "varnconfig";
|
|
15
|
+
Language["Varsconfig"] = "varsconfig";
|
|
16
|
+
Language["Invconfig"] = "invconfig";
|
|
17
|
+
Language["Seqconfig"] = "seqconfig";
|
|
18
|
+
Language["Spotanimconfig"] = "spotanimconfig";
|
|
19
|
+
Language["Mesanimconfig"] = "mesanimconfig";
|
|
20
|
+
Language["Idkconfig"] = "idkconfig";
|
|
21
|
+
Language["Huntconfig"] = "huntconfig";
|
|
22
|
+
Language["Constants"] = "constants";
|
|
23
|
+
Language["Interface"] = "interface";
|
|
24
|
+
Language["Pack"] = "pack";
|
|
25
|
+
Language["Floconfig"] = "floconfig";
|
|
26
|
+
})(Language || (Language = {}));
|
|
27
|
+
//# sourceMappingURL=languages.js.map
|