@@ -173,6 +173,7 @@ optional args: | |||||
-f run filter as cmd on prompt key | -f run filter as cmd on prompt key | ||||
-H show hidden files | -H show hidden files | ||||
-i nav-as-you-type mode | -i nav-as-you-type mode | ||||
-K detect key collision | |||||
-n version sort | -n version sort | ||||
-o open files on Enter | -o open files on Enter | ||||
-p file selection file [stdout if '-'] | -p file selection file [stdout if '-'] | ||||
@@ -18,6 +18,7 @@ _nnn () { | |||||
-f | -f | ||||
-H | -H | ||||
-i | -i | ||||
-K | |||||
-n | -n | ||||
-o | -o | ||||
-p | -p | ||||
@@ -12,6 +12,7 @@ complete -c nnn -s d -d 'start in detail mode' | |||||
complete -c nnn -s f -d 'run filter as cmd on prompt key' | complete -c nnn -s f -d 'run filter as cmd on prompt key' | ||||
complete -c nnn -s H -d 'show hidden files' | complete -c nnn -s H -d 'show hidden files' | ||||
complete -c nnn -s i -d 'start in navigate-as-you-type mode' | complete -c nnn -s i -d 'start in navigate-as-you-type mode' | ||||
complete -c nnn -s K -d 'detect key collision' | |||||
complete -c nnn -s n -d 'use version compare to sort files' | complete -c nnn -s n -d 'use version compare to sort files' | ||||
complete -c nnn -s o -d 'open files only on Enter' | complete -c nnn -s o -d 'open files only on Enter' | ||||
complete -c nnn -s p -r -d 'copy selection to file' | complete -c nnn -s p -r -d 'copy selection to file' | ||||
@@ -16,6 +16,7 @@ args=( | |||||
'(-f)-d[run filter as cmd on prompt key]' | '(-f)-d[run filter as cmd on prompt key]' | ||||
'(-H)-H[show hidden files]' | '(-H)-H[show hidden files]' | ||||
'(-i)-i[start in navigate-as-you-type mode]' | '(-i)-i[start in navigate-as-you-type mode]' | ||||
'(-K)-K[detect key collision]' | |||||
'(-n)-n[use version compare to sort files]' | '(-n)-n[use version compare to sort files]' | ||||
'(-o)-o[open files only on Enter]' | '(-o)-o[open files only on Enter]' | ||||
'(-p)-p[copy selection to file]:file name' | '(-p)-p[copy selection to file]:file name' | ||||
@@ -4671,19 +4671,19 @@ nochange: | |||||
} | } | ||||
} | } | ||||
static void check_keybinding_collision(void) | static void check_key_collision(void) | ||||
{ | { | ||||
unsigned long i; | int key; | ||||
uint i = 0; | |||||
bool bitmap[KEY_MAX] = {FALSE}; | bool bitmap[KEY_MAX] = {FALSE}; | ||||
for (i = 0; i < sizeof(bindings) / sizeof(struct key); ++i) { | for (; i < sizeof(bindings) / sizeof(struct key); ++i) { | ||||
int curr_sym = bindings[i].sym; | key = bindings[i].sym; | ||||
if (bitmap[curr_sym]) | if (bitmap[key]) | ||||
fprintf(stdout, | fprintf(stdout, "collision detected: key [%s]\n", keyname(key)); | ||||
"Collision of key %s detected\n", keyname(curr_sym)); | |||||
else | else | ||||
bitmap[curr_sym] = TRUE; | bitmap[key] = TRUE; | ||||
} | } | ||||
} | } | ||||
@@ -4701,8 +4701,8 @@ static void usage(void) | |||||
" -d detail mode\n" | " -d detail mode\n" | ||||
" -f run filter as cmd on prompt key\n" | " -f run filter as cmd on prompt key\n" | ||||
" -H show hidden files\n" | " -H show hidden files\n" | ||||
" -K test for keybinding collision\n" | |||||
" -i nav-as-you-type mode\n" | " -i nav-as-you-type mode\n" | ||||
" -K detect key collision\n" | |||||
" -n version sort\n" | " -n version sort\n" | ||||
" -o open files on Enter\n" | " -o open files on Enter\n" | ||||
" -p file selection file [stdout if '-']\n" | " -p file selection file [stdout if '-']\n" | ||||
@@ -4909,7 +4909,7 @@ int main(int argc, char *argv[]) | |||||
cfg.autoselect = 0; | cfg.autoselect = 0; | ||||
break; | break; | ||||
case 'K': | case 'K': | ||||
check_keybinding_collision(); | check_key_collision(); | ||||
return _SUCCESS; | return _SUCCESS; | ||||
case 'v': | case 'v': | ||||
fprintf(stdout, "%s\n", VERSION); | fprintf(stdout, "%s\n", VERSION); | ||||