SMOLNET PORTAL home about changes
imove to the prev/next header with Alt + n/p - iomenu - interactive terminal-based selection menu	Err	bitreich.org	70
hgit clone git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu	URL:git://bitreich.org/iomenu git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/iomenu	bitreich.org	70
1Log	/scm/iomenu/log.gph	bitreich.org	70
1Files	/scm/iomenu/files.gph	bitreich.org	70
1Refs	/scm/iomenu/refs.gph	bitreich.org	70
1Tags	/scm/iomenu/tag	bitreich.org	70
1README	/scm/iomenu/file/README.gph	bitreich.org	70
1LICENSE	/scm/iomenu/file/LICENSE.gph	bitreich.org	70
i---	Err	bitreich.org	70
1commit e72aa011e805f26becc50b68673bad057a743c39	/scm/iomenu/commit/e72aa011e805f26becc50b68673bad057a743c39.gph	bitreich.org	70
1parent 49b2a2f664d47cd98352daf4068933ae56633cf7	/scm/iomenu/commit/49b2a2f664d47cd98352daf4068933ae56633cf7.gph	bitreich.org	70
hAuthor: Josuah Demangeon <mail@josuah.net>	URL:mailto:mail@josuah.net	bitreich.org	70
iDate:   Sat,  5 May 2018 23:03:27 +0200	Err	bitreich.org	70
i	Err	bitreich.org	70
imove to the prev/next header with Alt + n/p	Err	bitreich.org	70
i	Err	bitreich.org	70
iDiffstat:	Err	bitreich.org	70
i  M iomenu.1                            |       5 ++++-	Err	bitreich.org	70
i  M iomenu.c                            |      34 +++++++++++++++++++++++++++----	Err	bitreich.org	70
i	Err	bitreich.org	70
i2 files changed, 34 insertions(+), 5 deletions(-)	Err	bitreich.org	70
i---	Err	bitreich.org	70
1diff --git a/iomenu.1 b/iomenu.1	/scm/iomenu/file/iomenu.1.gph	bitreich.org	70
i@@ -40,11 +40,14 @@ An active selection is highlighted, and can be controlled with keybindings.	Err	bitreich.org	70
i As printable keys are entered, the lines are filtered to match each	Err	bitreich.org	70
i word from the input.	Err	bitreich.org	70
i .	Err	bitreich.org	70
i-.Bl -tag -width XXXXXXXXXXXXXXX	Err	bitreich.org	70
i+.Bl -tag -width 6n	Err	bitreich.org	70
i .	Err	bitreich.org	70
i .It Ic Up Ns , Ic Down Ns , Ic Ctrl + p Ns , Ic Ctrl + n	Err	bitreich.org	70
i Move selection to the previous/next item.	Err	bitreich.org	70
i .	Err	bitreich.org	70
i+.It Ic Alt + p Ns , Ic Alt + n	Err	bitreich.org	70
i+Move selection to the previous/next header.	Err	bitreich.org	70
i+.	Err	bitreich.org	70
i .It Ic PageUp Ns , Ic PageDown Ns , Ic Alt + v Ns , Ic Ctrl + v	Err	bitreich.org	70
i Move one page up or down.	Err	bitreich.org	70
i .	Err	bitreich.org	70
1diff --git a/iomenu.c b/iomenu.c	/scm/iomenu/file/iomenu.c.gph	bitreich.org	70
i@@ -124,15 +124,15 @@ read_stdin(void)	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i-move(int direction)	Err	bitreich.org	70
i+move(int sign)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         extern char        **matchv;	Err	bitreich.org	70
i         extern int        matchc;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         int        i;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i-        for (i = cur + direction; 0 <= i && i < matchc; i += direction) {	Err	bitreich.org	70
i-                if (!hsflag || matchv[i][0] != '#') {	Err	bitreich.org	70
i+        for (i = cur + sign; 0 <= i && i < matchc; i += sign) {	Err	bitreich.org	70
i+                if (hsflag == 0 || matchv[i][0] != '#') {	Err	bitreich.org	70
i                         cur = i;	Err	bitreich.org	70
i                         break;	Err	bitreich.org	70
i                 }	Err	bitreich.org	70
i@@ -180,7 +180,7 @@ static void	Err	bitreich.org	70
i move_page(signed int sign)	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         extern        struct        winsize ws;	Err	bitreich.org	70
i-        extern        int        matchc;	Err	bitreich.org	70
i+        extern        int        matchc, cur;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i         int        i, rows;	Err	bitreich.org	70
i 	Err	bitreich.org	70
i@@ -193,6 +193,26 @@ move_page(signed int sign)	Err	bitreich.org	70
i }	Err	bitreich.org	70
i 	Err	bitreich.org	70
i static void	Err	bitreich.org	70
i+move_header(signed int sign)	Err	bitreich.org	70
i+{	Err	bitreich.org	70
i+        extern char        **matchv;	Err	bitreich.org	70
i+        extern int        matchc, cur;	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+        move(sign);	Err	bitreich.org	70
i+        if (hsflag == 0)	Err	bitreich.org	70
i+                return;	Err	bitreich.org	70
i+        for (cur += sign; 0 <= cur; cur += sign) {	Err	bitreich.org	70
i+                if (cur >= matchc) {	Err	bitreich.org	70
i+                        cur--;	Err	bitreich.org	70
i+                        break;	Err	bitreich.org	70
i+                }	Err	bitreich.org	70
i+                if (matchv[cur][0] == '#')	Err	bitreich.org	70
i+                        break;	Err	bitreich.org	70
i+        }	Err	bitreich.org	70
i+        move(+1);	Err	bitreich.org	70
i+}	Err	bitreich.org	70
i+	Err	bitreich.org	70
i+static void	Err	bitreich.org	70
i remove_word()	Err	bitreich.org	70
i {	Err	bitreich.org	70
i         extern        char        input[LINE_MAX];	Err	bitreich.org	70
i@@ -277,10 +297,16 @@ top:	Err	bitreich.org	70
i         case CTL('P'):	Err	bitreich.org	70
i                 move(-1);	Err	bitreich.org	70
i                 break;	Err	bitreich.org	70
i+        case ALT('p'):	Err	bitreich.org	70
i+                move_header(-1);	Err	bitreich.org	70
i+                break;	Err	bitreich.org	70
i         case CSI('B'):        /* down */	Err	bitreich.org	70
i         case CTL('N'):	Err	bitreich.org	70
i                 move(+1);	Err	bitreich.org	70
i                 break;	Err	bitreich.org	70
i+        case ALT('n'):	Err	bitreich.org	70
i+                move_header(+1);	Err	bitreich.org	70
i+                break;	Err	bitreich.org	70
i         case CSI('5'):        /* page up */	Err	bitreich.org	70
i                 if (getkey() != '~')	Err	bitreich.org	70
i                         break;	Err	bitreich.org	70
.
Response: text/plain
Original URLgopher://bitreich.org/0/scm/iomenu/commit/e72aa011e805f26...
Content-Typetext/plain; charset=utf-8