fzy
terminal fuzzy finder picker
git clone https://9o.is/git/fzy.git
commit 7e90299f3a67cc23a221f0c9f22d2f2bcfdf975f parent 8c362f91162affd464d5ff060f676f9e00a3e5c5 Author: Michael Mackus <michaelmackus@gmail.com> Date: Wed, 18 Jul 2018 14:54:22 -0700 Add support for underlining selected item Diffstat:
| M | src/tty.c | | | 4 | ++++ |
| M | src/tty.h | | | 1 | + |
| M | src/tty_interface.c | | | 4 | ++++ |
3 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/tty.c b/src/tty.c @@ -110,6 +110,10 @@ void tty_setinvert(tty_t *tty) { tty_sgr(tty, 7); } +void tty_setunderline(tty_t *tty) { + tty_sgr(tty, 4); +} + void tty_setnormal(tty_t *tty) { tty_sgr(tty, 0); tty->fgcolor = 9; diff --git a/src/tty.h b/src/tty.h @@ -21,6 +21,7 @@ int tty_input_ready(tty_t *tty); void tty_setfg(tty_t *tty, int fg); void tty_setinvert(tty_t *tty); +void tty_setunderline(tty_t *tty); void tty_setnormal(tty_t *tty); #define TTY_COLOR_BLACK 0 diff --git a/src/tty_interface.c b/src/tty_interface.c @@ -46,7 +46,11 @@ static void draw_match(tty_interface_t *state, const char *choice, int selected) } if (selected) +#ifdef TTY_SELECTION_UNDERLINE + tty_setunderline(tty); +#else tty_setinvert(tty); +#endif for (size_t i = 0, p = 0; choice[i] != '\0'; i++) { if (i + 1 < maxwidth) {