summaryrefslogtreecommitdiff
path: root/src/command_manager.cc
diff options
context:
space:
mode:
authorFrank LENORMAND <lenormf@gmail.com>2019-11-23 08:59:44 +0100
committerFrank LENORMAND <lenormf@gmail.com>2019-11-23 08:59:44 +0100
commitae85753c411df1dabe593d14f3b601ea15569f00 (patch)
treebb89ad6d2f035a9441f34bd902f08c5ca1a7e1f8 /src/command_manager.cc
parent936bd923eae554d83dc77ab788d84b6d83c108f9 (diff)
src: Complete filenames in `%file{}` expansions
Diffstat (limited to 'src/command_manager.cc')
-rw-r--r--src/command_manager.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc
index 099ee244..7eca7cd6 100644
--- a/src/command_manager.cc
+++ b/src/command_manager.cc
@@ -9,6 +9,7 @@
#include "optional.hh"
#include "option_types.hh"
#include "ranges.hh"
+#include "regex.hh"
#include "register_manager.hh"
#include "shell_manager.hh"
#include "utils.hh"
@@ -689,6 +690,13 @@ Completions CommandManager::complete(const Context& context,
ShellManager::instance().complete_env_var(
token.content, cursor_pos_in_token) };
+ case Token::Type::FileExpand:
+ {
+ const auto& ignored_files = context.options()["ignored_files"].get<Regex>();
+ return {start , cursor_pos, complete_filename(
+ token.content, ignored_files, cursor_pos_in_token, FilenameFlags::Expand) };
+ }
+
case Token::Type::Raw:
case Token::Type::RawQuoted:
case Token::Type::RawEval: