mirror of
https://github.com/jarun/nnn.git
synced 2024-11-24 11:51:27 +00:00
Combine navigation case
This commit is contained in:
parent
c400a19268
commit
a8234f26e8
86
src/nnn.c
86
src/nnn.c
|
@ -2797,45 +2797,61 @@ nochange:
|
||||||
printmsg("unsupported file");
|
printmsg("unsupported file");
|
||||||
goto nochange;
|
goto nochange;
|
||||||
}
|
}
|
||||||
case SEL_NEXT:
|
case SEL_NEXT: // fallthrough
|
||||||
if (cur < ndents - 1)
|
case SEL_PREV: // fallthrough
|
||||||
++cur;
|
case SEL_PGDN: // fallthrough
|
||||||
else if (ndents)
|
case SEL_PGUP: // fallthrough
|
||||||
/* Roll over, set cursor to first entry */
|
case SEL_HOME: // fallthrough
|
||||||
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;
|
|
||||||
break;
|
|
||||||
case SEL_END:
|
case SEL_END:
|
||||||
cur = ndents - 1;
|
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;
|
||||||
|
break;
|
||||||
|
default: /* case SEL_END */
|
||||||
|
cur = ndents - 1;
|
||||||
|
break;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case SEL_CDHOME:
|
case SEL_CDHOME: // fallthrough
|
||||||
dir = xgetenv("HOME", path); // fallthrough
|
case SEL_CDBEGIN: // fallthrough
|
||||||
case SEL_CDBEGIN:
|
case SEL_CDLAST: // fallthrough
|
||||||
if (sel == SEL_CDBEGIN)
|
|
||||||
dir = ipath; // fallthrough
|
|
||||||
case SEL_CDLAST:
|
|
||||||
if (sel == SEL_CDLAST)
|
|
||||||
dir = lastdir; // fallthrough
|
|
||||||
case SEL_VISIT:
|
case SEL_VISIT:
|
||||||
if (sel == SEL_VISIT)
|
switch (sel) {
|
||||||
|
case SEL_CDHOME:
|
||||||
|
dir = xgetenv("HOME", path);
|
||||||
|
break;
|
||||||
|
case SEL_CDBEGIN:
|
||||||
|
dir = ipath;
|
||||||
|
break;
|
||||||
|
case SEL_CDLAST:
|
||||||
|
dir = lastdir;
|
||||||
|
break;
|
||||||
|
default: /* case SEL_VISIT */
|
||||||
dir = mark;
|
dir = mark;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (dir[0] == '\0') {
|
if (dir[0] == '\0') {
|
||||||
printmsg("not set");
|
printmsg("not set");
|
||||||
|
|
Loading…
Reference in a new issue