Merge pull request #8696 from bojidar-bg/fix-path-autocomplete

Fix gdscript autocomplete showing only paths
This commit is contained in:
Rémi Verschelde 2017-05-12 18:17:20 +02:00 committed by GitHub
commit 88d5c943e7
3 changed files with 16 additions and 10 deletions

View file

@ -2395,7 +2395,7 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_base
} }
} break; } break;
case GDParser::COMPLETION_PRELOAD: { case GDParser::COMPLETION_RESOURCE_PATH: {
if (EditorSettings::get_singleton()->get("text_editor/completion/complete_file_paths")) if (EditorSettings::get_singleton()->get("text_editor/completion/complete_file_paths"))
get_directory_contents(EditorFileSystem::get_singleton()->get_filesystem(), options); get_directory_contents(EditorFileSystem::get_singleton()->get_filesystem(), options);

View file

@ -387,15 +387,21 @@ GDParser::Node *GDParser::_parse_expression(Node *p_parent, bool p_static, bool
_set_error("Expected '(' after 'preload'"); _set_error("Expected '(' after 'preload'");
return NULL; 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(); 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; String path;
bool found_constant = false; bool found_constant = false;
bool valid = 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"); _set_error("Expected ')' after 'preload' path");
return NULL; return NULL;
} }
tokenizer->advance();
ConstantNode *constant = alloc_node<ConstantNode>(); ConstantNode *constant = alloc_node<ConstantNode>();
constant->value = res; constant->value = res;
tokenizer->advance();
expr = constant; expr = constant;
} else if (tokenizer->get_token() == GDTokenizer::TK_PR_YIELD) { } else if (tokenizer->get_token() == GDTokenizer::TK_PR_YIELD) {

View file

@ -437,7 +437,7 @@ public:
COMPLETION_PARENT_FUNCTION, COMPLETION_PARENT_FUNCTION,
COMPLETION_METHOD, COMPLETION_METHOD,
COMPLETION_CALL_ARGUMENTS, COMPLETION_CALL_ARGUMENTS,
COMPLETION_PRELOAD, COMPLETION_RESOURCE_PATH,
COMPLETION_INDEX, COMPLETION_INDEX,
COMPLETION_VIRTUAL_FUNC, COMPLETION_VIRTUAL_FUNC,
COMPLETION_YIELD, COMPLETION_YIELD,