aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-08-05 00:11:56 +0530
committerGravatar Arun Prakash Jana <engineerarun@gmail.com>2020-08-05 00:11:56 +0530
commit11cc2797bbdc23ddcbaf2c9fe2827b3e3712644e (patch)
tree7416b86463a659235567ea5ad5905b916a6c1a1b
parent3a61b3fc7f61c226f3a6625a49c588ebac6a15a2 (diff)
downloadnnn-11cc2797bbdc23ddcbaf2c9fe2827b3e3712644e.tar.gz
Show dirs in bold
-rw-r--r--src/nnn.c21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/nnn.c b/src/nnn.c
index 8b3214c..a918cec 100644
--- a/src/nnn.c
+++ b/src/nnn.c
@@ -3451,11 +3451,15 @@ static void printent(const struct entry *ent, uint namecols, bool sel)
attrs |= A_DIM;
} else {
if (ind == '@') {
- if (ent->flags & DIR_OR_LINK_TO_DIR)
+ if (ent->flags & DIR_OR_LINK_TO_DIR) {
ind = '/';
+ attrs |= A_BOLD;
+ }
pair = (ent->flags & SYM_ORPHAN) ? C_ORP : C_LNK;
} else if (!ent->size && (pair == C_FIL || pair == C_EXE))
pair = C_UND;
+ else if (pair == C_DIR)
+ attrs |= A_BOLD;
else if (ent->flags & HARD_LINK)
pair = C_HRD;
else if (ent->flags & FILE_MISSING)
@@ -3520,6 +3524,7 @@ static void printent_long(const struct entry *ent, uint namecols, bool sel)
switch (ent->mode & S_IFMT) {
case S_IFDIR:
pair = C_DIR;
+ attrs |= A_BOLD;
ind2 = '/'; // fallthrough
case S_IFREG:
if (!ind2) {
@@ -3532,7 +3537,9 @@ static void printent_long(const struct entry *ent, uint namecols, bool sel)
ln = TRUE;
}
- if (!pair)
+ if (!ent->size)
+ pair = C_UND;
+ else if (!pair)
pair = C_FIL;
if (!ind2) /* Add a column if end indicator is not needed */
@@ -3549,7 +3556,9 @@ static void printent_long(const struct entry *ent, uint namecols, bool sel)
ln = TRUE;
pair = (ent->flags & SYM_ORPHAN) ? C_ORP : C_LNK;
ind1 = '@';
- ind2 = (ent->flags & DIR_OR_LINK_TO_DIR) ? '/' : '@'; // fallthrough
+ ind2 = (ent->flags & DIR_OR_LINK_TO_DIR) ? '/' : '@';
+ if (ind2 == '/')
+ attrs |= A_BOLD; // fallthrough
case S_IFSOCK:
if (!ind1) {
pair = C_SOC;
@@ -3580,9 +3589,7 @@ static void printent_long(const struct entry *ent, uint namecols, bool sel)
break;
}
- if (!ent->size && (pair == C_FIL || pair == C_EXE))
- pair = C_UND;
- else if (ent->flags & FILE_MISSING)
+ if (ent->flags & FILE_MISSING)
pair = C_MIS;
addstr(" ");
@@ -3592,7 +3599,7 @@ static void printent_long(const struct entry *ent, uint namecols, bool sel)
if (!g_state.ctxcolor && pair && fcolors[pair]) {
attrs |= COLOR_PAIR(pair);
- attron(COLOR_PAIR(pair));
+ attron(attrs);
}
}
#ifndef NOLOCALE