summaryrefslogtreecommitdiff
path: root/src/commands.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2025-07-08 10:33:56 +1000
committerMaxime Coste <mawww@kakoune.org>2025-07-08 12:07:33 +1000
commitfea08fc18d268ace4f843ec2b57cc33e36562098 (patch)
tree0573099b42c357f6031191bcf92f0b0f44e67481 /src/commands.cc
parent2823c5e94c1bad72a7a22ea37452d2390d5b1e17 (diff)
Remove uses of Regex in BufferManager by taking a more general filter
Diffstat (limited to 'src/commands.cc')
-rw-r--r--src/commands.cc6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/commands.cc b/src/commands.cc
index 9a50fdf5..e7faf5ec 100644
--- a/src/commands.cc
+++ b/src/commands.cc
@@ -880,7 +880,11 @@ const CommandDesc buffer_cmd = {
make_completer(menu(complete_buffer_name<true>)),
[](const ParametersParser& parser, Context& context, const ShellContext&)
{
- Buffer& buffer = parser.get_switch("matching") ? BufferManager::instance().get_buffer_matching(Regex{parser[0]})
+ Buffer& buffer = parser.get_switch("matching") ? BufferManager::instance().get_buffer_matching(
+ [re=Regex{parser[0]}](Buffer& buffer) {
+ auto name = buffer.name();
+ return regex_match(name.begin(), name.end(), re);
+ })
: BufferManager::instance().get_buffer(parser[0]);
if (&buffer != &context.buffer())
{