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 7c78044890&follow=1'>commit diff
path: root/home/.local/bin/clock (unfollow)
Commit message (Collapse)Author
2021-09-25Disable HashKnownHostsJune McEnroe
All this really does is make fixing problems more difficult.
2021-09-25Add scout to ssh configJune McEnroe
2021-09-25Sandbox up on both FreeBSD and OpenBSDJune McEnroe
This is a bit messy. pledge(2) calls based on [1]. [1]: https://kristaps.bsd.lv/kcgi/tutorial6.html
2021-09-25Set SO_REUSEADDR in quickJune McEnroe
2021-09-25Revert "Add cat alias using less"June McEnroe
This reverts commit 8e3eea73f069cdbbc16da14e48a44d610dd07a07. Yeah this really doesn't work on OpenBSD. I kind of got into the habit of explicitly running less anyway.
2021-09-24Pledge downgradeJune McEnroe
2021-09-24Set original socket CLOEXECJune McEnroe
2021-09-24Consume request headers using MSG_PEEKJune McEnroe
Use MSG_PEEK to determine where the request headers end and consume only up to there, leaving the CGI process to read any request body directly from the socket.
2021-09-24Set only HTTP_HOSTJune McEnroe
And only because kcgi expects it. This is what I wrote originally, because every HTTP_ variable should be unset between each request, but this doesn't track them.
2021-09-23Scroll by single lines in xtermJune McEnroe
2021-09-23Hide htop "function bar"June McEnroe
Useless thing...
2021-09-23Allow FocusEvents in xtermJune McEnroe
Oops! This whole time I thought OpenBSD xterm for some reason didn't support focus events. It turns out allowMouseOps: false disables them by default. Replace the disallowedMouseOps list with everything but.
2021-09-23Use NI_NUMERICSERVJune McEnroe
2021-09-23Make up build away from FreeBSDJune McEnroe
2021-09-23Add quickJune McEnroe
2021-09-23Add The HobbitJune McEnroe
Surprisingly good for something written by a man like a hundred years ago!
2021-09-22Remove PSF fontsJune McEnroe
They were fun to make but I never actually used them.
2021-09-22Remove Linux-specific utilitiesJune McEnroe
I haven't used these in ages.
2021-09-22Call sandbox in CGI modeJune McEnroe
Otherwise upload won't actually work.
2021-09-22Support HTTP PUT in upJune McEnroe
For use by Palaver[1]. Unfortunately, at least in the current App Store version of Palaver, this doesn't work correctly with basic auth. [1]: https://palaverapp.com/guides/commands/set.html#ui-image_service
2021-09-22Remove default faviconJune McEnroe
I hate these things and also this one sucks.
2021-09-21Use Z_FILTERED strategyJune McEnroe
2021-09-21Recalculate various lengths only as neededJune McEnroe
This actually speeds things up quite a bit, saving roughly a second on a big PNG screenshot. Almost all the remaining time is spent in deflate.
2021-09-21Rewrite pngo, add explicit optionsJune McEnroe
Interesting to see how my code habits have changed.
2021-09-16Fix /* **/ comment matchingJune McEnroe
2021-09-15Remove typer, add downgrade to READMEJune McEnroe
2021-09-15Set bot mode on downgradeJune McEnroe
2021-09-15Enter capsicum in downgradeJune McEnroe
2021-09-15Factor out common parts of downgrade messagesJune McEnroe
Also bump the message cap to 1024 because that is ostensibly useful for replying to older messages.
2021-09-14Add downgrade IRC botJune McEnroe
2021-09-14Sort by title if authors matchJune McEnroe
There are probably better things to sort by but title definitely always exists.
2021-09-13Swap-remove tags as they're foundJune McEnroe
This makes it even faster. From ~1s on a sqlite3.c amalgamation to ~0.85s.
2021-09-12Replace htagml regex with strncmpJune McEnroe
Since ctags only ever produces regular expressions of the form /^re$/ or /^re/ with no other special characters, instead unescape the pattern and simply use strncmp. Running on a sqlite3.c amalgamation, the regex version takes ~37s while the strncmp version takes ~1s, producing identical output. Big win!
2021-09-11Also defer printing comment for lone close-parensJune McEnroe
2021-09-10Publish "git-comment"June McEnroe
2021-09-10Add git comment --pretty optionJune McEnroe
2021-09-08Defer printing comment if line is blank or closing braceJune McEnroe
This fixes badly indented comments.
2021-09-08Up default min-repeat to 30 linesJune McEnroe
2021-09-08Handle dirty lines in git-commentJune McEnroe
2021-09-08Document and install git-commentJune McEnroe
2021-09-08Add repeat and all options to git-commentJune McEnroe
2021-09-08Add group threshold to git-commentJune McEnroe