mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 11:51:27 +00:00
Handle nav cases separately
This commit is contained in:
parent
cfb524ea5e
commit
1430993858
59
src/nnn.c
59
src/nnn.c
|
@ -2962,42 +2962,33 @@ nochange:
|
||||||
printmsg("unsupported file");
|
printmsg("unsupported file");
|
||||||
goto nochange;
|
goto nochange;
|
||||||
}
|
}
|
||||||
case SEL_NEXT: // fallthrough
|
case SEL_NEXT:
|
||||||
case SEL_PREV: // fallthrough
|
if (cur < ndents - 1)
|
||||||
case SEL_PGDN: // fallthrough
|
++cur;
|
||||||
case SEL_PGUP: // fallthrough
|
else if (ndents)
|
||||||
case SEL_HOME: // fallthrough
|
/* Roll over, set cursor to first entry */
|
||||||
case SEL_END:
|
|
||||||
switch (sel) {
|
|
||||||
case SEL_NEXT:
|
|
||||||
if (cur < ndents - 1)
|
|
||||||
++cur;
|
|
||||||
else if (ndents)
|
|
||||||
/* Roll over, set cursor to first entry */
|
|
||||||
cur = 0;
|
|
||||||
break;
|
|
||||||
case SEL_PREV:
|
|
||||||
if (cur > 0)
|
|
||||||
--cur;
|
|
||||||
else if (ndents)
|
|
||||||
/* Roll over, set cursor to last entry */
|
|
||||||
cur = ndents - 1;
|
|
||||||
break;
|
|
||||||
case SEL_PGDN:
|
|
||||||
if (cur < ndents - 1)
|
|
||||||
cur += MIN((LINES - 4) / 2, ndents - 1 - cur);
|
|
||||||
break;
|
|
||||||
case SEL_PGUP:
|
|
||||||
if (cur > 0)
|
|
||||||
cur -= MIN((LINES - 4) / 2, cur);
|
|
||||||
break;
|
|
||||||
case SEL_HOME:
|
|
||||||
cur = 0;
|
cur = 0;
|
||||||
break;
|
break;
|
||||||
default: /* case SEL_END */
|
case SEL_PREV:
|
||||||
|
if (cur > 0)
|
||||||
|
--cur;
|
||||||
|
else if (ndents)
|
||||||
|
/* Roll over, set cursor to last entry */
|
||||||
cur = ndents - 1;
|
cur = ndents - 1;
|
||||||
break;
|
break;
|
||||||
}
|
case SEL_PGDN:
|
||||||
|
if (cur < ndents - 1)
|
||||||
|
cur += MIN((LINES - 4) / 2, ndents - 1 - cur);
|
||||||
|
break;
|
||||||
|
case SEL_PGUP:
|
||||||
|
if (cur > 0)
|
||||||
|
cur -= MIN((LINES - 4) / 2, cur);
|
||||||
|
break;
|
||||||
|
case SEL_HOME:
|
||||||
|
cur = 0;
|
||||||
|
break;
|
||||||
|
case SEL_END:
|
||||||
|
cur = ndents - 1;
|
||||||
break;
|
break;
|
||||||
case SEL_CDHOME: // fallthrough
|
case SEL_CDHOME: // fallthrough
|
||||||
case SEL_CDBEGIN: // fallthrough
|
case SEL_CDBEGIN: // fallthrough
|
||||||
|
|
Loading…
Reference in a new issue