diff options
Diffstat (limited to 'src/command_manager.cc')
| -rw-r--r-- | src/command_manager.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/command_manager.cc b/src/command_manager.cc index a99f89b3..874d0290 100644 --- a/src/command_manager.cc +++ b/src/command_manager.cc @@ -55,6 +55,7 @@ struct Token ShellExpand, RegisterExpand, OptionExpand, + ValExpand, CommandSeparator }; Token() : m_type(Type::Raw) {} @@ -150,6 +151,8 @@ Token::Type token_type(StringView type_name) return Token::Type::RegisterExpand; else if (type_name == "opt") return Token::Type::OptionExpand; + else if (type_name == "val") + return Token::Type::ValExpand; else if (type_name == "rec") return Token::Type::RawEval; else if (throw_on_invalid) @@ -316,6 +319,8 @@ String eval_token(const Token& token, Context& context, return RegisterManager::instance()[content].values(context)[0]; case Token::Type::OptionExpand: return context.options()[content].get_as_string(); + case Token::Type::ValExpand: + return ShellManager::instance().get_val(content, context); case Token::Type::RawEval: return eval(content, context, shell_params, env_vars); case Token::Type::Raw: |
