summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2013-08-21 02:42:35 +1000
committerDamien Miller <djm@mindrot.org>2013-08-21 02:42:35 +1000
commite0ee727b8281a7c2ae20630ce83f6b200b404059 (patch)
treea51702bd2063df0c35d43e8786070e6b56b1b45f
parentfec029f1dc2c338f3fae3fa82aabc988dc07868c (diff)
- djm@cvs.openbsd.org 2013/08/09 03:56:42
[sftp.c] enable ctrl-left-arrow and ctrl-right-arrow to move forward/back a word; matching ksh's relatively recent change.
-rw-r--r--ChangeLog4
-rw-r--r--sftp.c7
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 7e486302..2c8b45a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -36,6 +36,10 @@
being initialised so was starting at a random value from the heap
(harmless, but confusing). 2) some error conditions were not being
propagated back to the caller
+ - djm@cvs.openbsd.org 2013/08/09 03:56:42
+ [sftp.c]
+ enable ctrl-left-arrow and ctrl-right-arrow to move forward/back a word;
+ matching ksh's relatively recent change.
20130808
- (dtucker) [regress/Makefile regress/test-exec.sh] Don't try to use test -nt
diff --git a/sftp.c b/sftp.c
index 1ddfef6b..e2114406 100644
--- a/sftp.c
+++ b/sftp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sftp.c,v 1.153 2013/08/09 03:37:25 djm Exp $ */
+/* $OpenBSD: sftp.c,v 1.154 2013/08/09 03:56:42 djm Exp $ */
/*
* Copyright (c) 2001-2004 Damien Miller <djm@openbsd.org>
*
@@ -2008,6 +2008,11 @@ interactive_loop(struct sftp_conn *conn, char *file1, char *file2)
complete_ctx.remote_pathp = &remote_path;
el_set(el, EL_CLIENTDATA, (void*)&complete_ctx);
el_set(el, EL_BIND, "^I", "ftp-complete", NULL);
+ /* enable ctrl-left-arrow and ctrl-right-arrow */
+ el_set(el, EL_BIND, "\\e[1;5C", "em-next-word", NULL);
+ el_set(el, EL_BIND, "\\e[5C", "em-next-word", NULL);
+ el_set(el, EL_BIND, "\\e[1;5D", "ed-prev-word", NULL);
+ el_set(el, EL_BIND, "\\e\\e[D", "ed-prev-word", NULL);
}
#endif /* USE_LIBEDIT */