summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDan Rosén <dan.rosen@gu.se>2017-05-25 21:39:05 +0200
committerDan Rosén <dan.rosen@gu.se>2017-05-25 21:48:41 +0200
commitb1735ae76ed730698c9b25b9534a96c625f52b03 (patch)
tree97c4d6922fa39b8917fa52d8e6aa2ea286e70301 /src
parent55d1d1020d215730737554045537cf3a8877c46a (diff)
Expose last entered command in register :
Diffstat (limited to 'src')
-rw-r--r--src/input_handler.cc3
-rw-r--r--src/main.cc2
-rw-r--r--src/normal.cc1
3 files changed, 4 insertions, 2 deletions
diff --git a/src/input_handler.cc b/src/input_handler.cc
index 9a4d8c83..18da32d7 100644
--- a/src/input_handler.cc
+++ b/src/input_handler.cc
@@ -149,7 +149,8 @@ constexpr StringView register_doc =
" * @: default macro register\n"
" * /: default search register\n"
" * ^: default mark register\n"
- " * |: default shell command register\n";
+ " * |: default shell command register\n"
+ " * :: last entered command\n";
class Normal : public InputMode
{
diff --git a/src/main.cc b/src/main.cc
index 1dc5bf16..5bd1afe5 100644
--- a/src/main.cc
+++ b/src/main.cc
@@ -171,7 +171,7 @@ void register_registers()
{
RegisterManager& register_manager = RegisterManager::instance();
- for (auto c : "abcdefghijklmnopqrstuvwxyz/\"|^@")
+ for (auto c : "abcdefghijklmnopqrstuvwxyz/\"|^@:")
register_manager.add_register(c, make_unique<StaticRegister>());
using StringList = Vector<String, MemoryDomain::Registers>;
diff --git a/src/normal.cc b/src/normal.cc
index 6b2b568a..aa2c3903 100644
--- a/src/normal.cc
+++ b/src/normal.cc
@@ -451,6 +451,7 @@ void command(Context& context, NormalParams params)
}
if (event == PromptEvent::Validate)
{
+ RegisterManager::instance()[':'].set(context, cmdline.str());
EnvVarMap env_vars = {
{ "count", to_string(params.count) },
{ "register", String{&params.reg, 1} }