summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 632ac90)
raw | patch | inline | side by side (parent: 632ac90)
author | Romain Bignon <romain@peerfuse.org> | |
Fri, 27 Mar 2009 09:09:29 +0000 (10:09 +0100) | ||
committer | Max Kellermann <max@duempel.org> | |
Fri, 27 Mar 2009 09:11:00 +0000 (10:11 +0100) |
src/wreadln.c | patch | blob | history |
diff --git a/src/wreadln.c b/src/wreadln.c
index 441e1ce589bb573d51e7551c26cc422ded187cf1..ad1047fd5cc001365a886264958710190b390379 100644 (file)
--- a/src/wreadln.c
+++ b/src/wreadln.c
/* ncmpc (Ncurses MPD Client)
* (c) 2004-2009 The Music Player Daemon Project
* Project homepage: http://musicpd.org
-
+
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
#define KEY_CTRL_N 14
#define KEY_CTRL_P 16
#define KEY_CTRL_U 21
+#define KEY_CTRL_W 23
#define KEY_CTRL_Z 26
#define KEY_BCKSPC 8
#define TAB 9
wr.line[i] = '\0';
wr.cursor = 0;
break;
+ case KEY_CTRL_W:
+ /* Firstly remove trailing spaces. */
+ for (i = wr.cursor; i > 0 && wr.line[i-1] == ' '; i--)
+ {
+ cursor_move_left(&wr);
+ wreadln_delete_char(&wr, wr.cursor);
+ }
+ /* Then remove word until next space. */
+ for (; i > 0 && wr.line[i-1] != ' '; i--)
+ {
+ cursor_move_left(&wr);
+ wreadln_delete_char(&wr, wr.cursor);
+ }
+ break;
case 127:
case KEY_BCKSPC: /* handle backspace: copy all */
case KEY_BACKSPACE: /* chars starting from curpos */