diff options
| author | Maxime Coste <mawww@kakoune.org> | 2022-01-10 09:04:35 +1100 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2022-01-10 09:04:35 +1100 |
| commit | 9acd4e62dc485aa7e44a601a0300697f8825a98c (patch) | |
| tree | 527252c360d7b2b2203e07435c9fea8d01b358aa /src | |
| parent | c120063da95ed7b9f2f8f506ba00e499bbcd208f (diff) | |
| parent | 6f7c5aed107c183565661336ae840998a73e783f (diff) | |
Merge remote-tracking branch 'krobelus/autocomplete-overrules-completers'
Diffstat (limited to 'src')
| -rw-r--r-- | src/insert_completer.cc | 6 | ||||
| -rw-r--r-- | src/insert_completer.hh | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/insert_completer.cc b/src/insert_completer.cc index 54792052..f32b35ca 100644 --- a/src/insert_completer.cc +++ b/src/insert_completer.cc @@ -461,12 +461,12 @@ void InsertCompleter::select(int index, bool relative, Vector<Key>& keystrokes) void InsertCompleter::update(bool allow_implicit) { + m_enabled = allow_implicit or m_explicit_completer; if (m_explicit_completer and try_complete(m_explicit_completer)) return; reset(); - if (allow_implicit) - setup_ifn(); + setup_ifn(); } auto& get_first(BufferRange& range) { return range.begin; } @@ -500,6 +500,8 @@ void InsertCompleter::reset() bool InsertCompleter::setup_ifn() { + if (!m_enabled) + return false; using namespace std::placeholders; if (not m_completions.is_valid()) { diff --git a/src/insert_completer.hh b/src/insert_completer.hh index b3c7480d..1d68be86 100644 --- a/src/insert_completer.hh +++ b/src/insert_completer.hh @@ -107,6 +107,7 @@ private: InsertCompletion m_completions; Vector<BufferRange> m_inserted_ranges; int m_current_candidate = -1; + bool m_enabled = true; using CompleteFunc = InsertCompletion (const SelectionList& sels, const OptionManager& options, |
