diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2015-10-22 13:48:57 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2015-10-22 13:48:57 +0100 |
| commit | e51ef6c3c29ca23c342776a19bdb9bcfc257875d (patch) | |
| tree | cbbfc7905c6399851a35376f51f872637de000c8 /src/shell_manager.cc | |
| parent | 7346220e38b24f32e4f250909d81eceda4478397 (diff) | |
Wrap the shell params en env vars in a ShellContext struct
Diffstat (limited to 'src/shell_manager.cc')
| -rw-r--r-- | src/shell_manager.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/shell_manager.cc b/src/shell_manager.cc index e6fb068c..6ac02d65 100644 --- a/src/shell_manager.cc +++ b/src/shell_manager.cc @@ -83,7 +83,7 @@ pid_t spawn_process(StringView cmdline, ConstArrayView<String> params, ConstArra std::pair<String, int> ShellManager::eval( StringView cmdline, const Context& context, StringView input, - Flags flags, ConstArrayView<String> params, const EnvVarMap& env_vars) + Flags flags, const ShellContext& shell_context) { static const Regex re(R"(\bkak_(\w+)\b)"); @@ -100,10 +100,10 @@ std::pair<String, int> ShellManager::eval( if (find_if(kak_env, match_name) != kak_env.end()) continue; - auto var_it = env_vars.find(name); + auto var_it = shell_context.env_vars.find(name); try { - const String& value = var_it != env_vars.end() ? + const String& value = var_it != shell_context.env_vars.end() ? var_it->value : get_val(name, context); kak_env.push_back(format("kak_{}={}", name, value)); @@ -111,7 +111,7 @@ std::pair<String, int> ShellManager::eval( } Pipe child_stdin, child_stdout, child_stderr; - pid_t pid = spawn_process(cmdline, params, kak_env, + pid_t pid = spawn_process(cmdline, shell_context.params, kak_env, child_stdin, child_stdout, child_stderr); child_stdin.close_read_fd(); |
