From 473b9b6d747ecda456adea7ae7d3ff6d9bcf91ed Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Mon, 9 Mar 2020 19:17:31 -0400 Subject: Shorten $HOME to ~ in prompt expansion --- bin/1sh/parser.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/bin/1sh/parser.c b/bin/1sh/parser.c index 080b84e7..3f73220f 100644 --- a/bin/1sh/parser.c +++ b/bin/1sh/parser.c @@ -1978,7 +1978,7 @@ pgetc_linecont(void) static char * expandprompt(const char *fmt) { static char ps[PROMPTLEN]; - const char *pwd; + const char *pwd, *home; int i, trim; /* @@ -2015,17 +2015,27 @@ expandprompt(const char *fmt) { case 'W': case 'w': pwd = lookupvar("PWD"); + home = lookupvar("HOME"); if (pwd == NULL || *pwd == '\0') pwd = "?"; + if (home == NULL || *home == '\0') + home = "?"; if (*fmt == 'W' && - *pwd == '/' && pwd[1] != '\0') + *pwd == '/' && pwd[1] != '\0' && + strcmp(pwd, home) != 0) { strlcpy(&ps[i], strrchr(pwd, '/') + 1, PROMPTLEN - i); - else + } else { + if (strncmp(pwd, home, strlen(home)) == 0) { + ps[i++] = '~'; + pwd += strlen(home); + } strlcpy(&ps[i], pwd, PROMPTLEN - i); + } /* Skip to end of path. */ - while (ps[i + 1] != '\0') + while (ps[i] != '\0') i++; + --i; break; /* -- cgit 1.4.1 c88d6f3&follow=1'>diff
path: root/bin/.gitignore (unfollow)
Commit message (Expand)Author
2019-01-17Reorganize bin and Makefile once againJune McEnroe
2019-01-17Don't use string functions in ttpreJune McEnroe
2019-01-16Fix some symbols in sans8x16June McEnroe
2019-01-15Add basic HISTFILE load and saveJune McEnroe
2019-01-15Add !! alias in cashJune McEnroe
2019-01-15Add shell and unshell targetsJune McEnroe
2019-01-15Use \$ in cash PS1 and add # to RPS1June McEnroe
2019-01-15Use flock(2) when loading and saving historyJune McEnroe
2019-01-15Add sans8x16.psfJune McEnroe
2019-01-14Add guides to psfedJune McEnroe
2019-01-14Check for NULL copy or undo buffers in psfedJune McEnroe
2019-01-14Add cash.7 READMEJune McEnroe
2019-01-14Document old=new argument of fc -sJune McEnroe
2019-01-14Allow replacing empty string with fc old=newJune McEnroe
2019-01-13Enable warnings in libeditJune McEnroe
2019-01-13Show full path in RPS1June McEnroe
2019-01-13Shorten $HOME to ~ in prompt expansionJune McEnroe
2019-01-13Document PSlitJune McEnroe
2019-01-13Document PS0June McEnroe
2019-01-13Set PS0 in cashJune McEnroe
2019-01-13Add PS0June McEnroe
2019-01-13Change default ENV from cashrc to env.shJune McEnroe
2019-01-13Use colours in cash promptsJune McEnroe
2019-01-12Set PSlit like NetBSD shJune McEnroe
2019-01-12Install gnupg2 from pkgsrc and symlink gpgJune McEnroe
2019-01-12Reference cash builtin man pages in cash.1 SEE ALSOJune McEnroe
2019-01-12Restore cash builtin man page datesJune McEnroe
2019-01-12Use local libeditJune McEnroe
2019-01-12Replace libedit MakefileJune McEnroe
2019-01-11Import /usr/src/lib/libedit from NetBSD 8.0June McEnroe
2019-01-11Add PSlit for prompt escapesJune McEnroe
2019-01-11Don't make depend automaticallyJune McEnroe