diff --git a/src/input_handler.cc b/src/input_handler.cc index d5e299ff..11f2d5e3 100644 --- a/src/input_handler.cc +++ b/src/input_handler.cc @@ -1096,8 +1096,7 @@ public: m_disable_hooks{context().hooks_disabled(), context().hooks_disabled()}, m_idle_timer{TimePoint::max(), context().flags() & Context::Flags::Draft ? Timer::Callback{} : [this](Timer&) { - if (m_auto_complete) - m_completer.update(); + m_completer.update(m_auto_complete); context().hooks().run_hook("InsertIdle", "", context()); }} { diff --git a/src/insert_completer.cc b/src/insert_completer.cc index 5d067ba0..3dbe699b 100644 --- a/src/insert_completer.cc +++ b/src/insert_completer.cc @@ -459,13 +459,14 @@ void InsertCompleter::select(int index, bool relative, Vector& keystrokes) } } -void InsertCompleter::update() +void InsertCompleter::update(bool allow_implicit) { if (m_explicit_completer and try_complete(m_explicit_completer)) return; reset(); - setup_ifn(); + if (allow_implicit) + setup_ifn(); } void InsertCompleter::reset() diff --git a/src/insert_completer.hh b/src/insert_completer.hh index 0f16e8aa..305435a9 100644 --- a/src/insert_completer.hh +++ b/src/insert_completer.hh @@ -83,7 +83,7 @@ public: ~InsertCompleter(); void select(int index, bool relative, Vector& keystrokes); - void update(); + void update(bool allow_implicit); void reset(); void explicit_file_complete();