diff options
author | June McEnroe <june@causal.agency> | 2020-02-05 19:00:54 -0500 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2020-02-05 19:00:54 -0500 |
commit | b2d35edcb22a9a41235229b41b180a50b51b5908 (patch) | |
tree | 4cfc6ca3682aff0fa7fd65348c35210df832460f /ui.c | |
parent | Scroll the input window (diff) | |
download | test-b2d35edcb22a9a41235229b41b180a50b51b5908.tar.gz test-b2d35edcb22a9a41235229b41b180a50b51b5908.zip |
Change prompt depending on command
Diffstat (limited to 'ui.c')
-rw-r--r-- | ui.c | 23 |
1 files changed, 18 insertions, 5 deletions
diff --git a/ui.c b/ui.c index 12c8541..daa6dec 100644 --- a/ui.c +++ b/ui.c @@ -479,16 +479,29 @@ static void inputUpdate(void) { colorPair(mapColor(self.color), -1), NULL ); + const char *head = editHead(); + const char *skip = NULL; if (self.nick) { - // TODO: Check if input is command or action. - waddch(input, '<'); - waddstr(input, self.nick); - waddstr(input, "> "); + size_t id = windows.active->id; + if (NULL != (skip = commandIsPrivmsg(id, head))) { + waddch(input, '<'); + waddstr(input, self.nick); + waddstr(input, "> "); + } else if (NULL != (skip = commandIsNotice(id, head))) { + waddch(input, '-'); + waddstr(input, self.nick); + waddstr(input, "- "); + } else if (NULL != (skip = commandIsAction(id, head))) { + waddstr(input, "* "); + waddstr(input, self.nick); + waddch(input, ' '); + } } + if (skip) head = skip; int y, x; struct Style style = Reset; - inputAdd(&style, editHead()); + inputAdd(&style, head); getyx(input, y, x); inputAdd(&style, editTail()); wclrtoeol(input); |