summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/language_server/gdscript_extend_parser.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-04-24 16:44:44 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-04-24 16:44:44 +0200
commitd45c6fd5911a0026a43e0c908c30464718a6f014 (patch)
treebe632e2a29d332af7eef9cc0659fb9b17f0d0bdb /modules/gdscript/language_server/gdscript_extend_parser.cpp
parent13544fb508454b5e37d815d6e7a00cd627d12e79 (diff)
parent10fe6f14bba67950bde486051f1fd5e06c7f6dcd (diff)
downloadredot-engine-d45c6fd5911a0026a43e0c908c30464718a6f014.tar.gz
Merge pull request #76095 from adamscott/fix-rename-lsp-variables
[LSP] Fix GDScript inner method variable rename
Diffstat (limited to 'modules/gdscript/language_server/gdscript_extend_parser.cpp')
-rw-r--r--modules/gdscript/language_server/gdscript_extend_parser.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/modules/gdscript/language_server/gdscript_extend_parser.cpp b/modules/gdscript/language_server/gdscript_extend_parser.cpp
index 07f9465516..3a5a54e275 100644
--- a/modules/gdscript/language_server/gdscript_extend_parser.cpp
+++ b/modules/gdscript/language_server/gdscript_extend_parser.cpp
@@ -400,6 +400,20 @@ void ExtendGDScriptParser::parse_function_symbol(const GDScriptParser::FunctionN
}
} break;
+ case GDScriptParser::TypeNode::VARIABLE: {
+ GDScriptParser::VariableNode *variable_node = (GDScriptParser::VariableNode *)(node);
+ lsp::DocumentSymbol symbol;
+ symbol.kind = lsp::SymbolKind::Variable;
+ symbol.name = variable_node->identifier->name;
+ symbol.range.start.line = LINE_NUMBER_TO_INDEX(variable_node->start_line);
+ symbol.range.start.character = LINE_NUMBER_TO_INDEX(variable_node->start_column);
+ symbol.range.end.line = LINE_NUMBER_TO_INDEX(variable_node->end_line);
+ symbol.range.end.character = LINE_NUMBER_TO_INDEX(variable_node->end_column);
+ symbol.uri = uri;
+ symbol.script_path = path;
+ r_symbol.children.push_back(symbol);
+ } break;
+
default:
continue;
}