mirror of
https://github.com/godotengine/godot-vscode-plugin.git
synced 2026-01-04 10:09:58 +03:00
Implements base class and native class of script parsing
This commit is contained in:
@@ -48,12 +48,11 @@ class GDScriptCompletionItemProvider implements CompletionItemProvider {
|
||||
provideCompletionItems(document : TextDocument, position : Position, token : CancellationToken) : CompletionItem[] | Thenable < CompletionItem[] > | CompletionList | Thenable < CompletionList > {
|
||||
|
||||
const lastFlag = this.get_previous_flag(document, position);
|
||||
|
||||
const builtins = config.getBuiltinCompletions();
|
||||
const workspaces = config.getWorkspaceCompletionItems([config.normalizePath(document.fileName)]);
|
||||
|
||||
|
||||
let items:CompletionItem[] = [...(builtins.builtinConstants)];
|
||||
if(!lastFlag || lastFlag.trim().length == 0) {
|
||||
const workspaces = config.getWorkspaceCompletionItems([config.normalizePath(document.fileName)]);
|
||||
items = [
|
||||
...items,
|
||||
...(workspaces.functions),
|
||||
|
||||
@@ -28,8 +28,8 @@ class GDScriptSymbolParser {
|
||||
variables: {},
|
||||
signals: {},
|
||||
classes: {},
|
||||
base: "Object",
|
||||
native: "Object",
|
||||
base: "",
|
||||
native: "",
|
||||
signatures: {},
|
||||
documents: {},
|
||||
constvalues: {},
|
||||
@@ -37,6 +37,17 @@ class GDScriptSymbolParser {
|
||||
}
|
||||
const text = content;
|
||||
const lines = text.split(/\r?\n/);
|
||||
|
||||
// Base class and native class
|
||||
for (let line of lines) {
|
||||
let match;
|
||||
if (match = line.match(/extends\s+(\w+)/)) {
|
||||
script.native = match[1];
|
||||
break;
|
||||
} else if (match = line.match(/extends\s+('|")(.*)('|")/)) {
|
||||
script.base = match[2];
|
||||
}
|
||||
}
|
||||
|
||||
const getMatches = (regex:RegExp, index=1) => {
|
||||
var matches = [];
|
||||
@@ -222,4 +233,4 @@ class GDScriptSymbolParser {
|
||||
|
||||
}
|
||||
|
||||
export default GDScriptSymbolParser;
|
||||
export default GDScriptSymbolParser;
|
||||
Reference in New Issue
Block a user