Forráskód Böngészése

function/signal signatures with symbols

Geequlim 8 éve
szülő
commit
78b68b8b6f

+ 3 - 2
src/gdscript/symbolprovider.ts

@@ -21,15 +21,16 @@ class GDScriptSymbolProvider implements DocumentSymbolProvider {
 
     const symbols: SymbolInformation[] = [];
     const script = this.parser.parseContent(document.getText());
+    const signatures = script.signatures;
     config.setSymbols(document.fileName, script);
 
     const funcs = script.functions;
     for (let key of Object.keys(funcs))
-      symbols.push(new SymbolInformation(key, SymbolKind.Function, funcs[key]));
+      symbols.push(new SymbolInformation(key+signatures[key], SymbolKind.Function, funcs[key]));
     
     const signals = script.signals;
     for (let key of Object.keys(signals))
-      symbols.push(new SymbolInformation(key, SymbolKind.Interface, signals[key]));
+      symbols.push(new SymbolInformation(key+signatures[key], SymbolKind.Interface, signals[key]));
 
     const vars = script.variables;
     for (let key of Object.keys(vars))

+ 5 - 4
src/gdscript/workspace_symbol_provider.ts

@@ -6,12 +6,12 @@ class GDScriptWorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvider
       const scripts = config.getAllSymbols();
       const symbols: vscode.SymbolInformation[] = [];
       for (let path of Object.keys(scripts)) {
-        const queryMembers = (query, members, kind: vscode.SymbolKind, path:string)=> {
+        const queryMembers = (query, members, kind: vscode.SymbolKind, path:string, extra=(text)=>text)=> {
           for (let name of Object.keys(members)) {
             const range: vscode.Range = members[name];
             if(name.toLowerCase().indexOf(query.toLowerCase()) != -1) {
               const symbol: vscode.SymbolInformation = {
-                name,
+                name: extra(name),
                 kind,
                 containerName: "",
                 location: {
@@ -24,8 +24,9 @@ class GDScriptWorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvider
           }
         }
         const scrip = scripts[path];
-        queryMembers(query, scrip.functions, vscode.SymbolKind.Function, path);
-        queryMembers(query, scrip.signals, vscode.SymbolKind.Interface, path);
+        const signatures = scrip.signatures;
+        queryMembers(query, scrip.functions, vscode.SymbolKind.Function, path, (name)=>(name+signatures[name]));
+        queryMembers(query, scrip.signals, vscode.SymbolKind.Interface, path, (name)=>(name+signatures[name]));
         queryMembers(query, scrip.variables, vscode.SymbolKind.Variable, path);
         queryMembers(query, scrip.constants, vscode.SymbolKind.Constant, path);
         queryMembers(query, scrip.classes, vscode.SymbolKind.Class, path);