summaryrefslogtreecommitdiff
path: root/src/shell_manager.cc
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2018-02-18 14:52:29 +1100
committerMaxime Coste <mawww@kakoune.org>2018-02-18 14:52:29 +1100
commit5924694bda89fab3287fc827b71b3ce488848922 (patch)
tree4e8d8cbb2a4855e13e9928a3cddefc8e7af25ee0 /src/shell_manager.cc
parentd9cddf41f2d2cb41cb2f7b0fbe47ccdfdb942991 (diff)
ShellManager: init from a static list of env vars
No need to go through a static list and then copy them one by one in a vector.
Diffstat (limited to 'src/shell_manager.cc')
-rw-r--r--src/shell_manager.cc9
1 files changed, 2 insertions, 7 deletions
diff --git a/src/shell_manager.cc b/src/shell_manager.cc
index e2253334..97103fc1 100644
--- a/src/shell_manager.cc
+++ b/src/shell_manager.cc
@@ -23,7 +23,8 @@ extern char **environ;
namespace Kakoune
{
-ShellManager::ShellManager()
+ShellManager::ShellManager(ConstArrayView<EnvVarDesc> builtin_env_vars)
+ : m_env_vars{builtin_env_vars}
{
// Get a guaranteed to be POSIX shell binary
{
@@ -293,12 +294,6 @@ std::pair<String, int> ShellManager::eval(
return { std::move(stdout_contents), WIFEXITED(status) ? WEXITSTATUS(status) : -1 };
}
-void ShellManager::register_env_var(StringView str, bool prefix,
- EnvVarRetriever retriever)
-{
- m_env_vars.push_back({ str.str(), prefix, std::move(retriever) });
-}
-
String ShellManager::get_val(StringView name, const Context& context) const
{
auto env_var = find_if(m_env_vars, [name](const EnvVarDesc& desc) {