diff options
| author | Johannes Altmanninger <aclopte@gmail.com> | 2023-02-12 20:51:28 +0100 |
|---|---|---|
| committer | Johannes Altmanninger <aclopte@gmail.com> | 2023-02-17 20:50:58 +0100 |
| commit | 213ea922b16bf95c5b441ce2cae2de6d221f638a (patch) | |
| tree | 96cc2e01ea2702c7e9c480e5bee6538fefb6b816 /src/command_manager.cc | |
| parent | 9e0502a1ca234bd20e17f078e75c3d5da4687a82 (diff) | |
Complete arguments to "echo -to-file"
Including this here because grandparent parent commit broke completions
for "edit -fifo".
Diffstat (limited to 'src/command_manager.cc')
| -rw-r--r-- | src/command_manager.cc | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc index caae2776..22b365ea 100644 --- a/src/command_manager.cc +++ b/src/command_manager.cc @@ -831,7 +831,12 @@ Completions CommandManager::complete(const Context& context, : Completions{start+1, cursor_pos, std::move(switches), Completions::Flags::Menu}; } case ParametersParser::State::SwitchArgument: - return Completions{}; + { + const auto& switch_desc = command.param_desc.switches.get(raw_params.at(raw_params.size() - 2).substr(1_byte)); + if (not *switch_desc.arg_completer) + return Completions{}; + return offset_pos(requote((*switch_desc.arg_completer)(context, flags, raw_params.back(), pos_in_token), token.type), start); + } case ParametersParser::State::Positional: break; } |
