You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-13 13:31:48 +00:00
Fix code completion not working with class_name
This commit is contained in:
@@ -245,7 +245,7 @@ public:
|
|||||||
virtual Error open_in_external_editor(const Ref<Script> &p_script, int p_line, int p_col) { return ERR_UNAVAILABLE; }
|
virtual Error open_in_external_editor(const Ref<Script> &p_script, int p_line, int p_col) { return ERR_UNAVAILABLE; }
|
||||||
virtual bool overrides_external_editor() { return false; }
|
virtual bool overrides_external_editor() { return false; }
|
||||||
|
|
||||||
virtual Error complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, bool &r_force, String &r_call_hint) { return ERR_UNAVAILABLE; }
|
virtual Error complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, bool &r_force, String &r_call_hint) { return ERR_UNAVAILABLE; }
|
||||||
|
|
||||||
struct LookupResult {
|
struct LookupResult {
|
||||||
enum Type {
|
enum Type {
|
||||||
|
|||||||
@@ -603,7 +603,7 @@ void ScriptTextEditor::_code_complete_script(const String &p_code, List<String>
|
|||||||
base = _find_node_for_script(base, base, script);
|
base = _find_node_for_script(base, base, script);
|
||||||
}
|
}
|
||||||
String hint;
|
String hint;
|
||||||
Error err = script->get_language()->complete_code(p_code, script->get_path().get_base_dir(), base, r_options, r_force, hint);
|
Error err = script->get_language()->complete_code(p_code, script->get_path(), base, r_options, r_force, hint);
|
||||||
if (err == OK && hint != "") {
|
if (err == OK && hint != "") {
|
||||||
code_editor->get_text_edit()->set_code_hint(hint);
|
code_editor->get_text_edit()->set_code_hint(hint);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -136,7 +136,7 @@ typedef struct {
|
|||||||
godot_bool (*validate)(godot_pluginscript_language_data *p_data, const godot_string *p_script, int *r_line_error, int *r_col_error, godot_string *r_test_error, const godot_string *p_path, godot_pool_string_array *r_functions);
|
godot_bool (*validate)(godot_pluginscript_language_data *p_data, const godot_string *p_script, int *r_line_error, int *r_col_error, godot_string *r_test_error, const godot_string *p_path, godot_pool_string_array *r_functions);
|
||||||
int (*find_function)(godot_pluginscript_language_data *p_data, const godot_string *p_function, const godot_string *p_code); // Can be NULL
|
int (*find_function)(godot_pluginscript_language_data *p_data, const godot_string *p_function, const godot_string *p_code); // Can be NULL
|
||||||
godot_string (*make_function)(godot_pluginscript_language_data *p_data, const godot_string *p_class, const godot_string *p_name, const godot_pool_string_array *p_args);
|
godot_string (*make_function)(godot_pluginscript_language_data *p_data, const godot_string *p_class, const godot_string *p_name, const godot_pool_string_array *p_args);
|
||||||
godot_error (*complete_code)(godot_pluginscript_language_data *p_data, const godot_string *p_code, const godot_string *p_base_path, godot_object *p_owner, godot_array *r_options, godot_bool *r_force, godot_string *r_call_hint);
|
godot_error (*complete_code)(godot_pluginscript_language_data *p_data, const godot_string *p_code, const godot_string *p_path, godot_object *p_owner, godot_array *r_options, godot_bool *r_force, godot_string *r_call_hint);
|
||||||
void (*auto_indent_code)(godot_pluginscript_language_data *p_data, godot_string *p_code, int p_from_line, int p_to_line);
|
void (*auto_indent_code)(godot_pluginscript_language_data *p_data, godot_string *p_code, int p_from_line, int p_to_line);
|
||||||
|
|
||||||
void (*add_global_constant)(godot_pluginscript_language_data *p_data, const godot_string *p_variable, const godot_variant *p_value);
|
void (*add_global_constant)(godot_pluginscript_language_data *p_data, const godot_string *p_variable, const godot_variant *p_value);
|
||||||
|
|||||||
@@ -159,13 +159,13 @@ String PluginScriptLanguage::make_function(const String &p_class, const String &
|
|||||||
return String();
|
return String();
|
||||||
}
|
}
|
||||||
|
|
||||||
Error PluginScriptLanguage::complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, bool &r_force, String &r_call_hint) {
|
Error PluginScriptLanguage::complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, bool &r_force, String &r_call_hint) {
|
||||||
if (_desc.complete_code) {
|
if (_desc.complete_code) {
|
||||||
Array options;
|
Array options;
|
||||||
godot_error tmp = _desc.complete_code(
|
godot_error tmp = _desc.complete_code(
|
||||||
_data,
|
_data,
|
||||||
(godot_string *)&p_code,
|
(godot_string *)&p_code,
|
||||||
(godot_string *)&p_base_path,
|
(godot_string *)&p_path,
|
||||||
(godot_object *)p_owner,
|
(godot_object *)p_owner,
|
||||||
(godot_array *)&options,
|
(godot_array *)&options,
|
||||||
&r_force,
|
&r_force,
|
||||||
|
|||||||
@@ -81,7 +81,7 @@ public:
|
|||||||
virtual bool can_inherit_from_file() { return true; }
|
virtual bool can_inherit_from_file() { return true; }
|
||||||
virtual int find_function(const String &p_function, const String &p_code) const;
|
virtual int find_function(const String &p_function, const String &p_code) const;
|
||||||
virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
|
virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
|
||||||
virtual Error complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, bool &r_force, String &r_call_hint);
|
virtual Error complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, bool &r_force, String &r_call_hint);
|
||||||
virtual void auto_indent_code(String &p_code, int p_from_line, int p_to_line) const;
|
virtual void auto_indent_code(String &p_code, int p_from_line, int p_to_line) const;
|
||||||
virtual void add_global_constant(const StringName &p_variable, const Variant &p_value);
|
virtual void add_global_constant(const StringName &p_variable, const Variant &p_value);
|
||||||
|
|
||||||
|
|||||||
@@ -456,7 +456,7 @@ public:
|
|||||||
virtual bool can_inherit_from_file() { return true; }
|
virtual bool can_inherit_from_file() { return true; }
|
||||||
virtual int find_function(const String &p_function, const String &p_code) const;
|
virtual int find_function(const String &p_function, const String &p_code) const;
|
||||||
virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
|
virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
|
||||||
virtual Error complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, bool &r_forced, String &r_call_hint);
|
virtual Error complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, bool &r_forced, String &r_call_hint);
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
virtual Error lookup_code(const String &p_code, const String &p_symbol, const String &p_base_path, Object *p_owner, LookupResult &r_result);
|
virtual Error lookup_code(const String &p_code, const String &p_symbol, const String &p_base_path, Object *p_owner, LookupResult &r_result);
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -2458,11 +2458,11 @@ static void _find_call_arguments(GDScriptCompletionContext &p_context, const GDS
|
|||||||
r_forced = r_result.size() > 0;
|
r_forced = r_result.size() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
Error GDScriptLanguage::complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, bool &r_forced, String &r_call_hint) {
|
Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, bool &r_forced, String &r_call_hint) {
|
||||||
|
|
||||||
GDScriptParser parser;
|
GDScriptParser parser;
|
||||||
|
|
||||||
parser.parse(p_code, p_base_path, false, "", true);
|
parser.parse(p_code, p_path.get_base_dir(), false, p_path, true);
|
||||||
r_forced = false;
|
r_forced = false;
|
||||||
Set<String> options;
|
Set<String> options;
|
||||||
GDScriptCompletionContext context;
|
GDScriptCompletionContext context;
|
||||||
@@ -2473,7 +2473,7 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_base
|
|||||||
|
|
||||||
if (!context._class || context._class->owner == NULL) {
|
if (!context._class || context._class->owner == NULL) {
|
||||||
context.base = p_owner;
|
context.base = p_owner;
|
||||||
context.base_path = p_base_path;
|
context.base_path = p_path.get_base_dir();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_function = false;
|
bool is_function = false;
|
||||||
@@ -2879,7 +2879,7 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_base
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
Error GDScriptLanguage::complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, bool &r_forced, String &r_call_hint) {
|
Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, bool &r_forced, String &r_call_hint) {
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -368,7 +368,7 @@ public:
|
|||||||
virtual bool supports_builtin_mode() const;
|
virtual bool supports_builtin_mode() const;
|
||||||
/* TODO? */ virtual int find_function(const String &p_function, const String &p_code) const { return -1; }
|
/* TODO? */ virtual int find_function(const String &p_function, const String &p_code) const { return -1; }
|
||||||
virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
|
virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
|
||||||
/* TODO? */ Error complete_code(const String &p_code, const String &p_base_path, Object *p_owner, List<String> *r_options, String &r_call_hint) { return ERR_UNAVAILABLE; }
|
/* TODO? */ Error complete_code(const String &p_code, const String &p_path, Object *p_owner, List<String> *r_options, String &r_call_hint) { return ERR_UNAVAILABLE; }
|
||||||
virtual String _get_indentation() const;
|
virtual String _get_indentation() const;
|
||||||
/* TODO? */ virtual void auto_indent_code(String &p_code, int p_from_line, int p_to_line) const {}
|
/* TODO? */ virtual void auto_indent_code(String &p_code, int p_from_line, int p_to_line) const {}
|
||||||
/* TODO */ virtual void add_global_constant(const StringName &p_variable, const Variant &p_value) {}
|
/* TODO */ virtual void add_global_constant(const StringName &p_variable, const Variant &p_value) {}
|
||||||
|
|||||||
Reference in New Issue
Block a user