From: Arun Prakash Jana Date: Sun, 8 Sep 2019 09:43:44 +0000 (+0530) Subject: Show path in short form X-Git-Tag: v2.7~94 X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=7621078d52da266371483e45a2b79bb020cb50c0;p=nnn.git Show path in short form --- diff --git a/src/nnn.c b/src/nnn.c index 844a3a50..b820d0db 100644 --- a/src/nnn.c +++ b/src/nnn.c @@ -3154,6 +3154,7 @@ static void redraw(char *path) int i, attrs; char buf[12]; char c; + char *ptr = path, *base = xbasename(path); --lastln; @@ -3206,7 +3207,23 @@ static void redraw(char *path) /* No text wrapping in cwd line, store the truncating char in c */ c = path[ncols - 11]; path[ncols - 11] = '\0'; - printw("%s\n\n", path); + + /* Print path */ + if (base - ptr <= 1) + printw("%s\n\n", path); + else { + base = base - 1; + while (ptr < base) { + if (*ptr == '/') { + addch(*ptr); + addch(*(++ptr)); + } + ++ptr; + } + + printw("/%s\n\n", base + 1); + } + attroff(A_UNDERLINE); path[ncols - 11] = c; /* Restore c */