From 0771020c8357eee5ea9c395782089d867db84c05 Mon Sep 17 00:00:00 2001 From: marynate Date: Sun, 4 May 2014 11:22:49 +0800 Subject: Add auto code completion (without press Ctrl+Space manually) Disalbe auto code completion even there's only one option Hide auto-completion if only one completion option and it's been typed Support use tab key to accept code completion option --- scene/gui/text_edit.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'scene') diff --git a/scene/gui/text_edit.cpp b/scene/gui/text_edit.cpp index bd15e14ccd..2ac9c66771 100644 --- a/scene/gui/text_edit.cpp +++ b/scene/gui/text_edit.cpp @@ -1106,7 +1106,7 @@ void TextEdit::_input_event(const InputEvent& p_input_event) { return; } - if (k.scancode==KEY_RETURN) { + if (k.scancode==KEY_RETURN || k.scancode==KEY_TAB) { _confirm_completion(); accept_event(); @@ -2896,6 +2896,7 @@ void TextEdit::_update_completion_candidates() { completion_current=completion_options[completion_index]; +#if 0 // even there's only one option, user still get the chance to choose using it or not if (completion_options.size()==1) { //one option to complete, just complete it automagically _confirm_completion(); @@ -2904,6 +2905,9 @@ void TextEdit::_update_completion_candidates() { return; } +#endif + if (completion_options.size()==1 && s==completion_options[0]) + _cancel_completion(); completion_enabled=true; -- cgit v1.2.3