diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2017-05-12 18:17:20 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-12 18:17:20 +0200 |
commit | 88d5c943e73cc2f16500c58fb53c71a38f7a0ceb (patch) | |
tree | 7d95efbb17b740e3c60f72dd1534279863c3986f /modules/gdscript/gd_parser.cpp | |
parent | 86ce51ce1d48c52c5ab55b3882d8e9d211164f42 (diff) | |
parent | 837a66722506a578b9ea379b5ea425ed22344354 (diff) | |
download | redot-engine-88d5c943e73cc2f16500c58fb53c71a38f7a0ceb.tar.gz |
Merge pull request #8696 from bojidar-bg/fix-path-autocomplete
Fix gdscript autocomplete showing only paths
Diffstat (limited to 'modules/gdscript/gd_parser.cpp')
-rw-r--r-- | modules/gdscript/gd_parser.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/modules/gdscript/gd_parser.cpp b/modules/gdscript/gd_parser.cpp index b02d7f713b..4ae62eb1d0 100644 --- a/modules/gdscript/gd_parser.cpp +++ b/modules/gdscript/gd_parser.cpp @@ -387,15 +387,21 @@ GDParser::Node *GDParser::_parse_expression(Node *p_parent, bool p_static, bool _set_error("Expected '(' after 'preload'"); return NULL; } - completion_cursor = StringName(); - completion_type = COMPLETION_PRELOAD; - completion_class = current_class; - completion_function = current_function; - completion_line = tokenizer->get_token_line(); - completion_block = current_block; - completion_found = true; tokenizer->advance(); + if (tokenizer->get_token() == GDTokenizer::TK_CURSOR) { + completion_cursor = StringName(); + completion_node = p_parent; + completion_type = COMPLETION_RESOURCE_PATH; + completion_class = current_class; + completion_function = current_function; + completion_line = tokenizer->get_token_line(); + completion_block = current_block; + completion_argument = 0; + completion_found = true; + tokenizer->advance(); + } + String path; bool found_constant = false; bool valid = false; @@ -467,10 +473,10 @@ GDParser::Node *GDParser::_parse_expression(Node *p_parent, bool p_static, bool _set_error("Expected ')' after 'preload' path"); return NULL; } + tokenizer->advance(); ConstantNode *constant = alloc_node<ConstantNode>(); constant->value = res; - tokenizer->advance(); expr = constant; } else if (tokenizer->get_token() == GDTokenizer::TK_PR_YIELD) { |