Applied, thanks!
On Thu, Jan 12, 2012 at 09:18:28PM -0500, Ben Boeckel wrote: > On Thu, Jan 12, 2012 at 21:15:30 -0500, Ben Boeckel wrote: > > On Fri, Dec 02, 2011 at 00:24:00 -0500, Ben Boeckel wrote: > > > dev/add-WORD-motions-to-status > > > Adds 'B', 'E', and 'W' motions to edit mode. Not sure of emacs > > > equivalents. > > > > Works here. It uses the emacs 'E' behavior. I have another branch here > > which fixes the behavior when vi behavior of 'e' and 'E' where > > applicable. > > And let's actually attach the patch... > > --Ben > From f9c64aa28a09fb7092d52d2001b25ab9794b5743 Mon Sep 17 00:00:00 2001 > From: Ben Boeckel <maths...@gmail.com> > Date: Thu, 12 Jan 2012 20:50:51 -0500 > Subject: [PATCH] Add WORD motions to status line editing > > --- > trunk/mode-key.c | 6 ++++++ > trunk/status.c | 20 ++++++++++++++++---- > trunk/tmux.h | 3 +++ > 3 files changed, 25 insertions(+), 4 deletions(-) > > diff --git a/trunk/mode-key.c b/trunk/mode-key.c > index bfa8b4a..c8581d7 100644 > --- a/trunk/mode-key.c > +++ b/trunk/mode-key.c > @@ -54,9 +54,12 @@ const struct mode_key_cmdstr mode_key_cmdstr_edit[] = { > { MODEKEYEDIT_ENTER, "enter" }, > { MODEKEYEDIT_HISTORYDOWN, "history-down" }, > { MODEKEYEDIT_HISTORYUP, "history-up" }, > + { MODEKEYEDIT_NEXTSPACE, "next-space" }, > + { MODEKEYEDIT_NEXTSPACEEND, "next-space-end" }, > { MODEKEYEDIT_NEXTWORD, "next-word" }, > { MODEKEYEDIT_NEXTWORDEND, "next-word-end" }, > { MODEKEYEDIT_PASTE, "paste" }, > + { MODEKEYEDIT_PREVIOUSSPACE, "previous-space" }, > { MODEKEYEDIT_PREVIOUSWORD, "previous-word" }, > { MODEKEYEDIT_STARTOFLINE, "start-of-line" }, > { MODEKEYEDIT_SWITCHMODE, "switch-mode" }, > @@ -148,7 +151,10 @@ const struct mode_key_entry mode_key_vi_edit[] = { > > { '$', 1, MODEKEYEDIT_ENDOFLINE }, > { '0', 1, MODEKEYEDIT_STARTOFLINE }, > + { 'B', 1, MODEKEYEDIT_PREVIOUSSPACE }, > { 'D', 1, MODEKEYEDIT_DELETETOENDOFLINE }, > + { 'E', 1, MODEKEYEDIT_NEXTSPACEEND }, > + { 'W', 1, MODEKEYEDIT_NEXTSPACE }, > { 'X', 1, MODEKEYEDIT_BACKSPACE }, > { '\003' /* C-c */, 1, MODEKEYEDIT_CANCEL }, > { '\010' /* C-h */, 1, MODEKEYEDIT_BACKSPACE }, > diff --git a/trunk/status.c b/trunk/status.c > index 49836a2..154bd6c 100644 > --- a/trunk/status.c > +++ b/trunk/status.c > @@ -978,7 +978,7 @@ status_prompt_key(struct client *c, int key) > struct paste_buffer *pb; > char *s, *first, *last, word[64], swapc; > const char *histstr; > - const char *wsep; > + const char *wsep = NULL; > u_char ch; > size_t size, n, off, idx; > > @@ -1124,8 +1124,12 @@ status_prompt_key(struct client *c, int key) > c->prompt_index = idx; > c->flags |= CLIENT_STATUS; > break; > + case MODEKEYEDIT_NEXTSPACE: > + wsep = " "; > + /* FALLTHROUGH */ > case MODEKEYEDIT_NEXTWORD: > - wsep = options_get_string(oo, "word-separators"); > + if (wsep == NULL) > + wsep = options_get_string(oo, "word-separators"); > > /* Find a separator. */ > while (c->prompt_index != size) { > @@ -1143,8 +1147,12 @@ status_prompt_key(struct client *c, int key) > > c->flags |= CLIENT_STATUS; > break; > + case MODEKEYEDIT_NEXTSPACEEND: > + wsep = " "; > + /* FALLTHROUGH */ > case MODEKEYEDIT_NEXTWORDEND: > - wsep = options_get_string(oo, "word-separators"); > + if (wsep == NULL) > + wsep = options_get_string(oo, "word-separators"); > > /* Find a word. */ > while (c->prompt_index != size) { > @@ -1162,8 +1170,12 @@ status_prompt_key(struct client *c, int key) > > c->flags |= CLIENT_STATUS; > break; > + case MODEKEYEDIT_PREVIOUSSPACE: > + wsep = " "; > + /* FALLTHROUGH */ > case MODEKEYEDIT_PREVIOUSWORD: > - wsep = options_get_string(oo, "word-separators"); > + if (wsep == NULL) > + wsep = options_get_string(oo, "word-separators"); > > /* Find a non-separator. */ > while (c->prompt_index != 0) { > diff --git a/trunk/tmux.h b/trunk/tmux.h > index 6553388..afeba8b 100644 > --- a/trunk/tmux.h > +++ b/trunk/tmux.h > @@ -443,9 +443,12 @@ enum mode_key_cmd { > MODEKEYEDIT_ENTER, > MODEKEYEDIT_HISTORYDOWN, > MODEKEYEDIT_HISTORYUP, > + MODEKEYEDIT_NEXTSPACE, > + MODEKEYEDIT_NEXTSPACEEND, > MODEKEYEDIT_NEXTWORD, > MODEKEYEDIT_NEXTWORDEND, > MODEKEYEDIT_PASTE, > + MODEKEYEDIT_PREVIOUSSPACE, > MODEKEYEDIT_PREVIOUSWORD, > MODEKEYEDIT_STARTOFLINE, > MODEKEYEDIT_SWITCHMODE, > -- > 1.7.6.5 > > ------------------------------------------------------------------------------ > RSA(R) Conference 2012 > Mar 27 - Feb 2 > Save $400 by Jan. 27 > Register now! > http://p.sf.net/sfu/rsa-sfdev2dev2 > _______________________________________________ > tmux-users mailing list > tmux-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/tmux-users ------------------------------------------------------------------------------ Keep Your Developer Skills Current with LearnDevNow! The most comprehensive online learning library for Microsoft developers is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3, Metro Style Apps, more. Free future releases when you subscribe now! http://p.sf.net/sfu/learndevnow-d2d _______________________________________________ tmux-users mailing list tmux-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tmux-users