summaryrefslogtreecommitdiff
path: root/src/command_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2014-07-30 19:17:04 +0100
committerMaxime Coste <frrrwww@gmail.com>2014-07-30 19:17:04 +0100
commit4c31449a6505f802fe990014cc9aa095e3fa2f60 (patch)
tree3768a468727d9afb186f331b8beb9c1d38008550 /src/command_manager.cc
parent31f9d8779879962defe82138b7bab73d0f40062b (diff)
Add access to specific env vars in %val{...} evaluation
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 81cd1c02..c1d43e2e 100644
--- a/src/command_manager.cc
+++ b/src/command_manager.cc
@@ -323,7 +323,12 @@ String eval_token(const Token& token, Context& context,
case Token::Type::OptionExpand:
return context.options()[content].get_as_string();
case Token::Type::ValExpand:
+ {
+ auto it = env_vars.find(content);
+ if (it != env_vars.end())
+ return it->second;
return ShellManager::instance().get_val(content, context);
+ }
case Token::Type::RawEval:
return eval(content, context, shell_params, env_vars);
case Token::Type::Raw: