]> gitweb.ps.run Git - iftint/blobdiff - main.c
Test with custom printf
[iftint] / main.c
diff --git a/main.c b/main.c
index 8083b5cd6695fd3a19690e5186b91d6c32104043..41148d20e38dab2597ae49e5603b28d928c3cbaf 100644 (file)
--- a/main.c
+++ b/main.c
+#ifdef _WIN32\r
 #include <pdcurses.h>\r
+#else\r
+#include <ncurses.h>\r
+#endif\r
+\r
+\r
+\r
 \r
 int main() {\r
     initscr();\r
 \r
-    printw("Hallo");\r
+    noecho();\r
+\r
+    char word[128];\r
+    int index = 0;\r
+\r
+    int level = 1;\r
+\r
+    struct Word {\r
+        char str[128];\r
+        int len;\r
+    };\r
+    struct Word words[128];\r
+    int numWords = 1;\r
+    words[0].str[0] = '(';\r
+    words[0].len = 1;\r
+\r
+    while (true) {\r
+        move(0, 0);\r
+        clear();\r
+        refresh();\r
+\r
+        for (int i = 0; i < numWords; i++) {\r
+            printw("%.*s\n", words[i].len, words[i].str);\r
+        }\r
+\r
+\r
+        int key = getch();\r
+\r
+        /**/ if (key == ' ') {\r
+            if (index == 0) {\r
+                if (level > 0) {\r
+                    // end list\r
+                    words[numWords].str[0] = ')';\r
+                    words[numWords].len = 1;\r
+                    numWords++;\r
+                    level--;\r
+                }\r
+            }\r
+            else {\r
+                // add to list\r
+                // for (int i = 0; i < index; i++) {\r
+                //     words[numWords].str[i] = word[i];\r
+                // }\r
+                // words[numWords].len = index;\r
+                index = 0;\r
+                // numWords++;\r
+            }\r
+        }\r
+        else if (key == '\n') {\r
+            // if (index == 0) {\r
+                // // add to list\r
+                // for (int i = 0; i < index; i++) {\r
+                //     words[numWords].str[i] = word[i];\r
+                // }\r
+                // words[numWords].len = index;\r
+                // index = 0;\r
+                // numWords++;\r
+                \r
+                // add list\r
+                words[numWords].str[0] = '(';\r
+                words[numWords].len = 1;\r
+                numWords++;\r
+                level++;\r
+            // }\r
+            index = 0;\r
+        }\r
+        else if (key == 8 || key == 127) {\r
+            if (numWords > 0) {\r
+                if (words[numWords-1].len == 1 && words[numWords-1].str[0] == '(') level--;\r
+                if (words[numWords-1].len == 1 && words[numWords-1].str[0] == ')') level++;\r
+                numWords--;\r
+            }\r
+        }\r
+        else {\r
+            if (index == 0) {\r
+                numWords++;\r
+                words[numWords-1].len = 0;\r
+            }\r
+            printw("%d\n", key);\r
+            words[numWords-1].str[index++] = (char)key;\r
+            words[numWords-1].len++;\r
+        }\r
+    }\r
 \r
     endwin();\r
 \r
     return 0;\r
-}
\ No newline at end of file
+}\r