summaryrefslogtreecommitdiff
path: root/src/main.cc
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-05-03 07:25:13 +0000
committerMaxime Coste <frrrwww@gmail.com>2012-05-03 07:25:13 +0000
commit0c596a9d6424a2e3aa118780e739ed6a09acbec2 (patch)
tree8912ec38926bc2228c38fe44fe724f3da2e36038 /src/main.cc
parent2a291e6868f43ffe0f2068f51b12bbea3152eb55 (diff)
Add a ShellManager which handles executing shell commands
ShellManager provides shell commands with environement variable to retrieve some internal values in the shell parameters.
Diffstat (limited to 'src/main.cc')
-rw-r--r--src/main.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/main.cc b/src/main.cc
index 0fa6d879..0af2824e 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -1,6 +1,7 @@
#include "window.hh"
#include "buffer.hh"
#include "file.hh"
+#include "shell_manager.hh"
#include "command_manager.hh"
#include "buffer_manager.hh"
#include "register_manager.hh"
@@ -929,6 +930,7 @@ int main(int argc, char* argv[])
{
NCurses::init(prompt_func, get_key_func);
+ ShellManager shell_manager;
CommandManager command_manager;
BufferManager buffer_manager;
RegisterManager register_manager;
@@ -939,6 +941,11 @@ int main(int argc, char* argv[])
run_unit_tests();
+ shell_manager.register_env_var("bufname",
+ [](const Context& context)
+ { return context.buffer().name(); });
+
+
command_manager.register_commands({ "e", "edit" }, edit<false>,
CommandManager::None,
PerArgumentCommandCompleter({ complete_filename }));