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