summaryrefslogtreecommitdiff
path: root/src/command_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-06-18 20:20:58 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-06-18 20:20:58 +0100
commit1c697647749ee559df7cd39e512bf10680678fe7 (patch)
tree7f5d0682e3caa5ecace7bdaf2378ee634abb5441 /src/command_manager.cc
parentcbcc05396bbadaae2f5710c59aeff9ef60095f7a (diff)
parenta5ff40c10716f3e5ef0de8536b5b436c47162975 (diff)
Merge branch 'master' into hierarchical-highlighters
Diffstat (limited to 'src/command_manager.cc')
-rw-r--r--src/command_manager.cc5
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: