diff options
-rw-r--r-- | chat.c | 3 | ||||
-rw-r--r-- | chat.h | 2 | ||||
-rw-r--r-- | edit.c | 2 | ||||
-rw-r--r-- | input.c | 6 |
4 files changed, 11 insertions, 2 deletions
@@ -75,8 +75,9 @@ int main(int argc, char *argv[]) { if (!chat.nick) chat.nick = prompt("Name: "); chat.user = strdup(chat.nick); - signal(SIGINT, sigint); + inputTab(); + signal(SIGINT, sigint); uiInit(); uiLog(L"Traveling..."); uiDraw(); @@ -73,6 +73,8 @@ const wchar_t *editTail(void); bool edit(bool meta, bool ctrl, wchar_t ch); void handle(char *line); + +void inputTab(void); void input(char *line); void tabTouch(const char *word); @@ -126,7 +126,7 @@ static void complete(void) { free(wcs); size_t pos = line.tab - line.buf; - if (!pos) { + if (!pos && line.tab[0] != L'/') { insert(L':'); } else if (pos >= 2) { if (line.buf[pos - 2] == L':' || line.buf[pos - 2] == L',') { @@ -99,3 +99,9 @@ void input(char *input) { } uiFmt("%s isn't a recognized command", command); } + +void inputTab(void) { + for (size_t i = 0; i < COMMANDS_LEN; ++i) { + tabTouch(COMMANDS[i].command); + } +} |