diff options
Diffstat (limited to 'editor')
| -rw-r--r-- | editor/code_editor.cpp | 6 | ||||
| -rw-r--r-- | editor/code_editor.h | 2 | ||||
| -rw-r--r-- | editor/plugins/script_text_editor.cpp | 8 | ||||
| -rw-r--r-- | editor/plugins/script_text_editor.h | 4 |
4 files changed, 11 insertions, 9 deletions
diff --git a/editor/code_editor.cpp b/editor/code_editor.cpp index 4575bfcb0..d49b240c8 100644 --- a/editor/code_editor.cpp +++ b/editor/code_editor.cpp @@ -1036,8 +1036,9 @@ void CodeTextEditor::_complete_request() { List<String> entries; String ctext = text_editor->get_text_for_completion(); _code_complete_script(ctext, &entries); + bool forced = false; if (code_complete_func) { - code_complete_func(code_complete_ud, ctext, &entries); + code_complete_func(code_complete_ud, ctext, &entries, forced); } // print_line("COMPLETE: "+p_request); if (entries.size() == 0) @@ -1050,7 +1051,7 @@ void CodeTextEditor::_complete_request() { strs[i++] = E->get(); } - text_editor->code_complete(strs); + text_editor->code_complete(strs, forced); } void CodeTextEditor::_font_resize_timeout() { @@ -1267,6 +1268,7 @@ CodeTextEditor::CodeTextEditor() { cs.push_back("."); cs.push_back(","); cs.push_back("("); + cs.push_back("="); cs.push_back("$"); text_editor->set_completion(true, cs); idle->connect("timeout", this, "_text_changed_idle_timeout"); diff --git a/editor/code_editor.h b/editor/code_editor.h index 8d48c5650..e56d7f7fa 100644 --- a/editor/code_editor.h +++ b/editor/code_editor.h @@ -186,7 +186,7 @@ public: FindReplaceDialog(); }; -typedef void (*CodeTextEditorCodeCompleteFunc)(void *p_ud, const String &p_code, List<String> *r_options); +typedef void (*CodeTextEditorCodeCompleteFunc)(void *p_ud, const String &p_code, List<String> *r_options, bool &r_forced); class CodeTextEditor : public VBoxContainer { diff --git a/editor/plugins/script_text_editor.cpp b/editor/plugins/script_text_editor.cpp index e69fa6da8..e86ff8cac 100644 --- a/editor/plugins/script_text_editor.cpp +++ b/editor/plugins/script_text_editor.cpp @@ -602,13 +602,13 @@ void ScriptEditor::_update_modified_scripts_for_external_editor(Ref<Script> p_fo } } -void ScriptTextEditor::_code_complete_scripts(void *p_ud, const String &p_code, List<String> *r_options) { +void ScriptTextEditor::_code_complete_scripts(void *p_ud, const String &p_code, List<String> *r_options, bool &r_force) { ScriptTextEditor *ste = (ScriptTextEditor *)p_ud; - ste->_code_complete_script(p_code, r_options); + ste->_code_complete_script(p_code, r_options, r_force); } -void ScriptTextEditor::_code_complete_script(const String &p_code, List<String> *r_options) { +void ScriptTextEditor::_code_complete_script(const String &p_code, List<String> *r_options, bool &r_force) { if (color_panel->is_visible_in_tree()) return; Node *base = get_tree()->get_edited_scene_root(); @@ -616,7 +616,7 @@ void ScriptTextEditor::_code_complete_script(const String &p_code, List<String> base = _find_node_for_script(base, base, script); } String hint; - Error err = script->get_language()->complete_code(p_code, script->get_path().get_base_dir(), base, r_options, hint); + Error err = script->get_language()->complete_code(p_code, script->get_path().get_base_dir(), base, r_options, r_force, hint); if (hint != "") { code_editor->get_text_edit()->set_code_hint(hint); } diff --git a/editor/plugins/script_text_editor.h b/editor/plugins/script_text_editor.h index c50597622..561fa26c7 100644 --- a/editor/plugins/script_text_editor.h +++ b/editor/plugins/script_text_editor.h @@ -94,12 +94,12 @@ class ScriptTextEditor : public ScriptEditorBase { }; protected: - static void _code_complete_scripts(void *p_ud, const String &p_code, List<String> *r_options); + static void _code_complete_scripts(void *p_ud, const String &p_code, List<String> *r_options, bool &r_force); void _breakpoint_toggled(int p_row); //no longer virtual void _validate_script(); - void _code_complete_script(const String &p_code, List<String> *r_options); + void _code_complete_script(const String &p_code, List<String> *r_options, bool &r_force); void _load_theme_settings(); void _notification(int p_what); |
