X-Git-Url: https://gitweb.ps.run/iftint/blobdiff_plain/a2c72cfbac1ee4704c2c75dd8ae6fca178c51af4..refs/heads/Printf:/main.c diff --git a/main.c b/main.c index 8083b5c..41148d2 100644 --- a/main.c +++ b/main.c @@ -1,11 +1,100 @@ +#ifdef _WIN32 #include +#else +#include +#endif + + + int main() { initscr(); - printw("Hallo"); + noecho(); + + char word[128]; + int index = 0; + + int level = 1; + + struct Word { + char str[128]; + int len; + }; + struct Word words[128]; + int numWords = 1; + words[0].str[0] = '('; + words[0].len = 1; + + while (true) { + move(0, 0); + clear(); + refresh(); + + for (int i = 0; i < numWords; i++) { + printw("%.*s\n", words[i].len, words[i].str); + } + + + int key = getch(); + + /**/ if (key == ' ') { + if (index == 0) { + if (level > 0) { + // end list + words[numWords].str[0] = ')'; + words[numWords].len = 1; + numWords++; + level--; + } + } + else { + // add to list + // for (int i = 0; i < index; i++) { + // words[numWords].str[i] = word[i]; + // } + // words[numWords].len = index; + index = 0; + // numWords++; + } + } + else if (key == '\n') { + // if (index == 0) { + // // add to list + // for (int i = 0; i < index; i++) { + // words[numWords].str[i] = word[i]; + // } + // words[numWords].len = index; + // index = 0; + // numWords++; + + // add list + words[numWords].str[0] = '('; + words[numWords].len = 1; + numWords++; + level++; + // } + index = 0; + } + else if (key == 8 || key == 127) { + if (numWords > 0) { + if (words[numWords-1].len == 1 && words[numWords-1].str[0] == '(') level--; + if (words[numWords-1].len == 1 && words[numWords-1].str[0] == ')') level++; + numWords--; + } + } + else { + if (index == 0) { + numWords++; + words[numWords-1].len = 0; + } + printw("%d\n", key); + words[numWords-1].str[index++] = (char)key; + words[numWords-1].len++; + } + } endwin(); return 0; -} \ No newline at end of file +}