summaryrefslogtreecommitdiff
path: root/src/shell_manager.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/shell_manager.hh')
-rw-r--r--src/shell_manager.hh9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/shell_manager.hh b/src/shell_manager.hh
index 6394f5e3..b7e462e7 100644
--- a/src/shell_manager.hh
+++ b/src/shell_manager.hh
@@ -14,6 +14,12 @@ class Context;
using EnvVarRetriever = std::function<String (StringView name, const Context&)>;
+struct ShellContext
+{
+ ConstArrayView<String> params;
+ EnvVarMap env_vars;
+};
+
class ShellManager : public Singleton<ShellManager>
{
public:
@@ -28,8 +34,7 @@ public:
std::pair<String, int> eval(StringView cmdline, const Context& context,
StringView input = {},
Flags flags = Flags::WaitForStdout,
- ConstArrayView<String> params = {},
- const EnvVarMap& env_vars = EnvVarMap{});
+ const ShellContext& shell_context = {});
void register_env_var(StringView str, bool prefix, EnvVarRetriever retriever);
String get_val(StringView name, const Context& context) const;