]> gitweb.ps.run Git - iftint/blobdiff - main.c
main2 cross platform
[iftint] / main.c
diff --git a/main.c b/main.c
index 8083b5cd6695fd3a19690e5186b91d6c32104043..fb32b5d72d314b951aa93505b7673d8146c816e7 100644 (file)
--- a/main.c
+++ b/main.c
@@ -1,11 +1,99 @@
+#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) {\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
+            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