it* sacc + cursorline and uri preview Err codevoid.de 70 i Err codevoid.de 70 hgit clone git://git.codevoid.de/sacc-sdk URL:git://git.codevoid.de/sacc-sdk codevoid.de 70 1Log /git/sacc-sdk/log.gph codevoid.de 70 1Files /git/sacc-sdk/files.gph codevoid.de 70 1Refs /git/sacc-sdk/refs.gph codevoid.de 70 1LICENSE /git/sacc-sdk/file/LICENSE.gph codevoid.de 70 i--- Err codevoid.de 70 1commit 859b7150efb9e4ae7b0040a36a8e337f36062f48 /git/sacc-sdk/commit/859b7150efb9e4ae7b0040a36a8e337f36062f48.gph codevoid.de 70 1parent 65bb62ab632f7bbc5eda03595ca58d0f67805ae6 /git/sacc-sdk/commit/65bb62ab632f7bbc5eda03595ca58d0f67805ae6.gph codevoid.de 70 hAuthor: Quentin Rameau URL:mailto:quinq@fifth.space codevoid.de 70 iDate: Mon, 23 Oct 2017 19:25:36 +0200 Err codevoid.de 70 i Err codevoid.de 70 iSearch directly for string in text UI Err codevoid.de 70 i Err codevoid.de 70 iDiffstat: Err codevoid.de 70 i M ui_txt.c | 17 ++++++++++------- Err codevoid.de 70 i Err codevoid.de 70 i1 file changed, 10 insertions(+), 7 deletions(-) Err codevoid.de 70 i--- Err codevoid.de 70 1diff --git a/ui_txt.c b/ui_txt.c /git/sacc-sdk/file/ui_txt.c.gph codevoid.de 70 it@@ -171,7 +171,7 @@ searchinline(const char *searchstr, Item *entry) Err codevoid.de 70 i Dir *dir; Err codevoid.de 70 i size_t i; Err codevoid.de 70 i Err codevoid.de 70 i- if (!(dir = entry->dat)) Err codevoid.de 70 i+ if (!searchstr || !*searchstr || !(dir = entry->dat)) Err codevoid.de 70 i return; Err codevoid.de 70 i Err codevoid.de 70 i for (i = 0; i < dir->nitems; ++i) Err codevoid.de 70 it@@ -184,7 +184,7 @@ uiselectitem(Item *entry) Err codevoid.de 70 i { Err codevoid.de 70 i Dir *dir; Err codevoid.de 70 i static char c; Err codevoid.de 70 i- char buf[BUFSIZ], nl, *searchstr; Err codevoid.de 70 i+ char buf[BUFSIZ], *sstr, nl; Err codevoid.de 70 i int item, nitems, lines; Err codevoid.de 70 i Err codevoid.de 70 i if (!entry || !(dir = entry->dat)) Err codevoid.de 70 it@@ -210,6 +210,12 @@ uiselectitem(Item *entry) Err codevoid.de 70 i } else if (!strcmp(buf+1, "\n")) { Err codevoid.de 70 i item = -1; Err codevoid.de 70 i c = *buf; Err codevoid.de 70 i+ } else if (*buf == '/') { Err codevoid.de 70 i+ for (sstr = buf+1; *sstr && *sstr != '\n'; ++sstr) Err codevoid.de 70 i+ ; Err codevoid.de 70 i+ *sstr = '\0'; Err codevoid.de 70 i+ sstr = buf+1; Err codevoid.de 70 i+ c = *buf; Err codevoid.de 70 i } else if (isdigit(*(buf+1))) { Err codevoid.de 70 i nl = '\0'; Err codevoid.de 70 i if (sscanf(buf+1, "%d%c", &item, &nl) != 2 || nl != '\n') Err codevoid.de 70 it@@ -255,11 +261,8 @@ uiselectitem(Item *entry) Err codevoid.de 70 i printuri(&dir->items[item-1], item); Err codevoid.de 70 i continue; Err codevoid.de 70 i case '/': Err codevoid.de 70 i- if ((searchstr = uiprompt("Search for: ")) && Err codevoid.de 70 i- searchstr[0]) Err codevoid.de 70 i- searchinline(searchstr, entry); Err codevoid.de 70 i- free(searchstr); Err codevoid.de 70 i- searchstr = NULL; Err codevoid.de 70 i+ if (*sstr) Err codevoid.de 70 i+ searchinline(sstr, entry); Err codevoid.de 70 i continue; Err codevoid.de 70 i case 'h': Err codevoid.de 70 i case '?': Err codevoid.de 70 .