diff options
author | Juan Linietsky <reduzio@gmail.com> | 2017-01-08 03:01:52 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2017-01-08 03:01:52 -0300 |
commit | 8963ca3d17ff6e1340cb5c2eb88a6485ec422a64 (patch) | |
tree | 9154c469e1f0a33dc34ae0f4ed49b36b49cfdbf9 /modules/gdscript/gd_editor.cpp | |
parent | 8b912d11152410302f45eaa117c19b7016d781f5 (diff) | |
download | redot-engine-8963ca3d17ff6e1340cb5c2eb88a6485ec422a64.tar.gz |
Fix code completion for new getnode syntax
Diffstat (limited to 'modules/gdscript/gd_editor.cpp')
-rw-r--r-- | modules/gdscript/gd_editor.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/gdscript/gd_editor.cpp b/modules/gdscript/gd_editor.cpp index fbd81a61bf..ebb753d129 100644 --- a/modules/gdscript/gd_editor.cpp +++ b/modules/gdscript/gd_editor.cpp @@ -2155,6 +2155,27 @@ Error GDScriptLanguage::complete_code(const String& p_code, const String& p_base case GDParser::COMPLETION_PARENT_FUNCTION: { } break; + case GDParser::COMPLETION_GET_NODE: { + + if (p_owner) { + List<String> opts; + p_owner->get_argument_options("get_node",0,&opts); + + for (List<String>::Element *E=opts.front();E;E=E->next()) { + + String opt = E->get().strip_edges(); + if (opt.begins_with("\"") && opt.ends_with("\"")) { + String idopt=opt.substr(1,opt.length()-2); + if (idopt.replace("/","_").is_valid_identifier()) { + options.insert(idopt); + } else { + options.insert(opt); + } + } + } + + } + } break; case GDParser::COMPLETION_METHOD: isfunction=true; case GDParser::COMPLETION_INDEX: { |