diff --git a/crates/debugger_ui/src/session/running/console.rs b/crates/debugger_ui/src/session/running/console.rs index e84e0d74e6..0b4bc8865e 100644 --- a/crates/debugger_ui/src/session/running/console.rs +++ b/crates/debugger_ui/src/session/running/console.rs @@ -582,14 +582,31 @@ impl CompletionProvider for ConsoleQueryBarCompletionProvider { fn is_completion_trigger( &self, - _buffer: &Entity, - _position: language::Anchor, - _text: &str, + buffer: &Entity, + position: language::Anchor, + text: &str, _trigger_in_words: bool, - _menu_is_open: bool, - _cx: &mut Context, + menu_is_open: bool, + cx: &mut Context, ) -> bool { - true + let snapshot = buffer.read(cx).snapshot(); + if !menu_is_open && !snapshot.settings_at(position, cx).show_completions_on_input { + return false; + } + + self.0 + .read_with(cx, |console, cx| { + console + .session + .read(cx) + .capabilities() + .completion_trigger_characters + .as_ref() + .map(|triggers| triggers.contains(&text.to_string())) + }) + .ok() + .flatten() + .unwrap_or(true) } }