#ifndef shell_manager_hh_INCLUDED #define shell_manager_hh_INCLUDED #include "utils.hh" #include "regex.hh" #include namespace Kakoune { class Context; typedef std::function EnvVarRetriever; typedef std::unordered_map EnvVarMap; class ShellManager : public Singleton { public: ShellManager(); String eval(const String& cmdline, const Context& context, const EnvVarMap& env_vars); void register_env_var(const String& name, EnvVarRetriever retriever); private: Regex m_regex; std::unordered_map m_env_vars; }; } #endif // shell_manager_hh_INCLUDED