diff options
author | June McEnroe <june@causal.agency> | 2019-01-11 13:59:39 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2019-01-11 13:59:39 -0500 |
commit | 037d883e568435859c61c46f00282ba2d9277d7c (patch) | |
tree | d967ca9a31427cc79ff3ca239748f0ae44599a00 /bin/cash | |
parent | Don't make depend automatically (diff) | |
download | src-037d883e568435859c61c46f00282ba2d9277d7c.tar.gz src-037d883e568435859c61c46f00282ba2d9277d7c.zip |
Add PSlit for prompt escapes
Diffstat (limited to '')
-rw-r--r-- | bin/cash/histedit.c | 8 | ||||
-rw-r--r-- | bin/cash/myhistedit.h | 1 | ||||
-rw-r--r-- | bin/cash/var.c | 3 |
3 files changed, 12 insertions, 0 deletions
diff --git a/bin/cash/histedit.c b/bin/cash/histedit.c index 581925d8..4e8ff8b2 100644 --- a/bin/cash/histedit.c +++ b/bin/cash/histedit.c @@ -177,6 +177,14 @@ sethistsize(const char *hs) } void +setpslit(const char *lit) { + if (el != NULL && *lit < 0x20) { + el_set(el, EL_PROMPT_ESC, getprompt, *lit); + el_set(el, EL_RPROMPT_ESC, getrprompt, *lit); + } +} + +void setterm(const char *term) { if (rootshell && el != NULL && term != NULL) diff --git a/bin/cash/myhistedit.h b/bin/cash/myhistedit.h index ba39eb0e..8f1305ad 100644 --- a/bin/cash/myhistedit.h +++ b/bin/cash/myhistedit.h @@ -40,5 +40,6 @@ extern int displayhist; void histedit(void); void sethistsize(const char *); +void setpslit(const char *); void setterm(const char *); diff --git a/bin/cash/var.c b/bin/cash/var.c index 54663914..e183eaa3 100644 --- a/bin/cash/var.c +++ b/bin/cash/var.c @@ -86,6 +86,7 @@ struct varinit { #ifndef NO_HISTORY struct var vhistsize; +struct var vpslit; struct var vterm; #endif struct var venv; @@ -130,6 +131,8 @@ static const struct varinit varinit[] = { { &vrps2, VUNSET, "RPS2=", NULL }, #ifndef NO_HISTORY + { &vpslit, VUNSET, "PSlit=", + setpslit }, { &vterm, VUNSET, "TERM=", setterm }, #endif |