mirror of
https://github.com/jarun/nnn.git
synced 2025-03-18 20:39:45 +00:00
Option -C to disable color
This commit is contained in:
parent
0e3146ebd2
commit
02c02c520d
5 changed files with 39 additions and 21 deletions
|
@ -15,6 +15,7 @@ _nnn ()
|
||||||
-A
|
-A
|
||||||
-b
|
-b
|
||||||
-c
|
-c
|
||||||
|
-C
|
||||||
-d
|
-d
|
||||||
-e
|
-e
|
||||||
-E
|
-E
|
||||||
|
|
|
@ -14,6 +14,7 @@ end
|
||||||
complete -c nnn -s A -d 'disable dir auto-select'
|
complete -c nnn -s A -d 'disable dir auto-select'
|
||||||
complete -c nnn -s b -r -d 'bookmark key to open' -x -a '(echo $NNN_BMS | awk -F: -v RS=\; \'{print $1"\t"$2}\')'
|
complete -c nnn -s b -r -d 'bookmark key to open' -x -a '(echo $NNN_BMS | awk -F: -v RS=\; \'{print $1"\t"$2}\')'
|
||||||
complete -c nnn -s c -d 'cli-only opener'
|
complete -c nnn -s c -d 'cli-only opener'
|
||||||
|
complete -c nnn -s C -d 'disable color'
|
||||||
complete -c nnn -s d -d 'start in detail mode'
|
complete -c nnn -s d -d 'start in detail mode'
|
||||||
complete -c nnn -s e -d 'open text files in $VISUAL/$EDITOR/vi'
|
complete -c nnn -s e -d 'open text files in $VISUAL/$EDITOR/vi'
|
||||||
complete -c nnn -s E -d 'use EDITOR for undetached edits'
|
complete -c nnn -s E -d 'use EDITOR for undetached edits'
|
||||||
|
|
|
@ -12,6 +12,7 @@ args=(
|
||||||
'(-A)-A[disable dir auto-select]'
|
'(-A)-A[disable dir auto-select]'
|
||||||
'(-b)-b[bookmark key to open]:key char'
|
'(-b)-b[bookmark key to open]:key char'
|
||||||
'(-c)-c[cli-only opener]'
|
'(-c)-c[cli-only opener]'
|
||||||
|
'(-C)-C[disable color]'
|
||||||
'(-d)-d[start in detail mode]'
|
'(-d)-d[start in detail mode]'
|
||||||
'(-e)-e[open text files in $VISUAL/$EDITOR/vi]'
|
'(-e)-e[open text files in $VISUAL/$EDITOR/vi]'
|
||||||
'(-E)-E[use EDITOR for undetached edits]'
|
'(-E)-E[use EDITOR for undetached edits]'
|
||||||
|
|
4
nnn.1
4
nnn.1
|
@ -9,6 +9,7 @@
|
||||||
.Op Ar -A
|
.Op Ar -A
|
||||||
.Op Ar -b key
|
.Op Ar -b key
|
||||||
.Op Ar -c
|
.Op Ar -c
|
||||||
|
.Op Ar -C
|
||||||
.Op Ar -d
|
.Op Ar -d
|
||||||
.Op Ar -e
|
.Op Ar -e
|
||||||
.Op Ar -E
|
.Op Ar -E
|
||||||
|
@ -62,6 +63,9 @@ supports the following options:
|
||||||
.Fl c
|
.Fl c
|
||||||
opener opens files in cli utilities only (overrides -e)
|
opener opens files in cli utilities only (overrides -e)
|
||||||
.Pp
|
.Pp
|
||||||
|
.Fl C
|
||||||
|
disable color
|
||||||
|
.Pp
|
||||||
.Fl d
|
.Fl d
|
||||||
detail mode
|
detail mode
|
||||||
.Pp
|
.Pp
|
||||||
|
|
53
src/nnn.c
53
src/nnn.c
|
@ -400,6 +400,7 @@ static char g_pipepath[TMP_LEN_MAX] __attribute__ ((aligned));
|
||||||
#define STATE_TRASH 0x40
|
#define STATE_TRASH 0x40
|
||||||
#define STATE_FORCEQUIT 0x80
|
#define STATE_FORCEQUIT 0x80
|
||||||
#define STATE_FORTUNE 0x100
|
#define STATE_FORTUNE 0x100
|
||||||
|
#define STATE_NOCOLOR 0x200
|
||||||
|
|
||||||
static uint g_states;
|
static uint g_states;
|
||||||
|
|
||||||
|
@ -1522,18 +1523,21 @@ static bool initcurses(void *oldmask)
|
||||||
mouseinterval(0);
|
mouseinterval(0);
|
||||||
#endif
|
#endif
|
||||||
curs_set(FALSE); /* Hide cursor */
|
curs_set(FALSE); /* Hide cursor */
|
||||||
start_color();
|
|
||||||
use_default_colors();
|
|
||||||
|
|
||||||
/* Get and set the context colors */
|
if (!(g_states & STATE_NOCOLOR)) {
|
||||||
for (i = 0; i < CTX_MAX; ++i) {
|
start_color();
|
||||||
if (*colors) {
|
use_default_colors();
|
||||||
g_ctx[i].color = (*colors < '0' || *colors > '7') ? 4 : *colors - '0';
|
|
||||||
++colors;
|
|
||||||
} else
|
|
||||||
g_ctx[i].color = 4;
|
|
||||||
|
|
||||||
init_pair(i + 1, g_ctx[i].color, -1);
|
/* Get and set the context colors */
|
||||||
|
for (i = 0; i < CTX_MAX; ++i) {
|
||||||
|
if (*colors) {
|
||||||
|
g_ctx[i].color = (*colors < '0' || *colors > '7') ? 4 : *colors - '0';
|
||||||
|
++colors;
|
||||||
|
} else
|
||||||
|
g_ctx[i].color = 4;
|
||||||
|
|
||||||
|
init_pair(i + 1, g_ctx[i].color, -1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
settimeout(); /* One second */
|
settimeout(); /* One second */
|
||||||
|
@ -3206,7 +3210,7 @@ static char get_ind(mode_t mode, bool perms)
|
||||||
return '*';
|
return '*';
|
||||||
return '\0';
|
return '\0';
|
||||||
case S_IFDIR:
|
case S_IFDIR:
|
||||||
return perms ? 'd' : '\0';
|
return perms ? 'd' : '/';
|
||||||
case S_IFLNK:
|
case S_IFLNK:
|
||||||
return perms ? 'l' : '@';
|
return perms ? 'l' : '@';
|
||||||
case S_IFSOCK:
|
case S_IFSOCK:
|
||||||
|
@ -3303,16 +3307,19 @@ static void printent_long(const struct entry *ent, uint namecols, bool sel)
|
||||||
addch('0' + (ent->mode & 7));
|
addch('0' + (ent->mode & 7));
|
||||||
|
|
||||||
switch (ent->mode & S_IFMT) {
|
switch (ent->mode & S_IFMT) {
|
||||||
case S_IFREG:
|
|
||||||
if (ent->flags & HARD_LINK)
|
|
||||||
ln = TRUE;
|
|
||||||
|
|
||||||
if (ent->mode & 0100)
|
|
||||||
ind2 = '*';
|
|
||||||
// fallthrough
|
|
||||||
case S_IFDIR:
|
case S_IFDIR:
|
||||||
if (!ind2) /* Add a column if end indicator is not needed */
|
ind2 = '/'; // fallthrough
|
||||||
++namecols;
|
case S_IFREG:
|
||||||
|
if (!ind2) {
|
||||||
|
if (ent->flags & HARD_LINK)
|
||||||
|
ln = TRUE;
|
||||||
|
|
||||||
|
if (ent->mode & 0100)
|
||||||
|
ind2 = '*';
|
||||||
|
|
||||||
|
if (!ind2) /* Add a column if end indicator is not needed */
|
||||||
|
++namecols;
|
||||||
|
}
|
||||||
|
|
||||||
size = coolsize(cfg.blkorder ? ent->blocks << blk_shift : ent->size);
|
size = coolsize(cfg.blkorder ? ent->blocks << blk_shift : ent->size);
|
||||||
len = 10 - (uint)strlen(size);
|
len = 10 - (uint)strlen(size);
|
||||||
|
@ -6577,6 +6584,7 @@ static void usage(void)
|
||||||
" -A no dir auto-select\n"
|
" -A no dir auto-select\n"
|
||||||
" -b key open bookmark key\n"
|
" -b key open bookmark key\n"
|
||||||
" -c cli-only opener (overrides -e)\n"
|
" -c cli-only opener (overrides -e)\n"
|
||||||
|
" -C disable color\n"
|
||||||
" -d detail mode\n"
|
" -d detail mode\n"
|
||||||
" -e text in $VISUAL/$EDITOR/vi\n"
|
" -e text in $VISUAL/$EDITOR/vi\n"
|
||||||
" -E use EDITOR for undetached edits\n"
|
" -E use EDITOR for undetached edits\n"
|
||||||
|
@ -6748,7 +6756,7 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
while ((opt = (env_opts_id > 0
|
while ((opt = (env_opts_id > 0
|
||||||
? env_opts[--env_opts_id]
|
? env_opts[--env_opts_id]
|
||||||
: getopt(argc, argv, "Ab:cdeEfFgHKnop:QrRs:St:T:Vxh"))) != -1) {
|
: getopt(argc, argv, "Ab:cCdeEfFgHKnop:QrRs:St:T:Vxh"))) != -1) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'A':
|
case 'A':
|
||||||
cfg.autoselect = 0;
|
cfg.autoselect = 0;
|
||||||
|
@ -6759,6 +6767,9 @@ int main(int argc, char *argv[])
|
||||||
case 'c':
|
case 'c':
|
||||||
cfg.cliopener = 1;
|
cfg.cliopener = 1;
|
||||||
break;
|
break;
|
||||||
|
case 'C':
|
||||||
|
g_states |= STATE_NOCOLOR;
|
||||||
|
break;
|
||||||
case 'S':
|
case 'S':
|
||||||
cfg.blkorder = 1;
|
cfg.blkorder = 1;
|
||||||
nftw_fn = sum_bsize;
|
nftw_fn = sum_bsize;
|
||||||
|
|
Loading…
Add table
Reference in a new issue