summaryrefslogtreecommitdiff
path: root/src/buffer_manager.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/buffer_manager.cc')
-rw-r--r--src/buffer_manager.cc12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/buffer_manager.cc b/src/buffer_manager.cc
index 9aba924d..c5235cb1 100644
--- a/src/buffer_manager.cc
+++ b/src/buffer_manager.cc
@@ -3,6 +3,7 @@
#include "assert.hh"
#include "buffer.hh"
#include "exception.hh"
+#include "regex.hh"
namespace Kakoune
{
@@ -62,6 +63,17 @@ CandidateList BufferManager::complete_buffername(const String& prefix,
if (name.substr(0, real_prefix.length()) == real_prefix)
result.push_back(name);
}
+ // no prefix completion found, check regex matching
+ if (result.empty())
+ {
+ Regex ex(real_prefix.begin(), real_prefix.end());
+ for (auto& buffer : m_buffers)
+ {
+ const String& name = buffer->name();
+ if (boost::regex_search(name.begin(), name.end(), ex))
+ result.push_back(name);
+ }
+ }
return result;
}