mirror of
https://github.com/jarun/nnn.git
synced 2024-11-28 05:41:31 +00:00
Add 'c' command to change into a destination directory by typing the path
This commit is contained in:
parent
58f897fead
commit
61bc5cd817
3
README
3
README
|
@ -35,8 +35,9 @@ You can navigate the list using the following keybinds (hardcoded):
|
|||
| l | RIGHT | ^M | open file / directory (see section "File opening")
|
||||
| h | LEFT | ^? | navigate up one directory
|
||||
| / | & | | filter output
|
||||
| q | | | exit program
|
||||
| ! | | | spawn shell in current directory
|
||||
| c | | | type and change into destination directory
|
||||
| q | | | exit program
|
||||
+------+-------+-------+---------------------------------------------------
|
||||
|
||||
File opening
|
||||
|
|
25
noice.c
25
noice.c
|
@ -204,6 +204,7 @@ enum {
|
|||
SEL_GOIN,
|
||||
SEL_FLTR,
|
||||
SEL_SH,
|
||||
SEL_CD,
|
||||
};
|
||||
|
||||
int
|
||||
|
@ -258,6 +259,8 @@ nextsel(int *cur, int max)
|
|||
break;
|
||||
case '!':
|
||||
return SEL_SH;
|
||||
case 'c':
|
||||
return SEL_CD;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -604,6 +607,28 @@ nochange:
|
|||
if (chdir(ipath) == -1)
|
||||
printwarn();
|
||||
break;
|
||||
case SEL_CD:
|
||||
/* Read target dir */
|
||||
printmsg("");
|
||||
move(LINES - 1, 0);
|
||||
printw("chdir: ");
|
||||
tmp = readln();
|
||||
if (tmp == NULL) {
|
||||
printmsg("");
|
||||
goto nochange;
|
||||
}
|
||||
if (testopendir(tmp) == 0) {
|
||||
printwarn();
|
||||
goto nochange;
|
||||
} else {
|
||||
free(path);
|
||||
path = strdup(tmp);
|
||||
free(filter);
|
||||
filter = strdup(ifilter); /* Reset filter */
|
||||
DPRINTF_S(path);
|
||||
cur = 0;
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue