summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2022-01-10 09:04:35 +1100
committerMaxime Coste <mawww@kakoune.org>2022-01-10 09:04:35 +1100
commit9acd4e62dc485aa7e44a601a0300697f8825a98c (patch)
tree527252c360d7b2b2203e07435c9fea8d01b358aa /src
parentc120063da95ed7b9f2f8f506ba00e499bbcd208f (diff)
parent6f7c5aed107c183565661336ae840998a73e783f (diff)
Merge remote-tracking branch 'krobelus/autocomplete-overrules-completers'
Diffstat (limited to 'src')
-rw-r--r--src/insert_completer.cc6
-rw-r--r--src/insert_completer.hh1
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,