treesummaryrefslogcommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorPatrick2023-07-22 00:44:40 +0200
committerPatrick2023-07-22 00:44:40 +0200
commitd9f59bd177128b0d5f5bef34f86cbc1ec345af70 (patch)
tree71198892cd432b9250970c73ce4b59056e997710 /main.c
parentc57229be0901307828ceb03bd1622cabb40a8365 (diff)
downloadiftint-d9f59bd177128b0d5f5bef34f86cbc1ec345af70.tar.gz
iftint-d9f59bd177128b0d5f5bef34f86cbc1ec345af70.zip
list of words type beat
Diffstat (limited to 'main.c')
-rw-r--r--main.c62
1 files changed, 49 insertions, 13 deletions
diff --git a/main.c b/main.c
index ae6c646..aa65fe5 100644
--- a/main.c
+++ b/main.c
@@ -12,43 +12,79 @@ int main() {
int level = 1;
- char words[10][128];
+ struct Word {
+ char str[128];
+ int len;
+ };
+ struct Word words[128];
int numWords = 1;
- words[0][0] = '(';
+ 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
- printw(")");
+ words[numWords].str[0] = ')';
+ words[numWords].len = 1;
+ numWords++;
level--;
}
}
else {
// add to list
- printw("%.*s ", index, word);
+ // 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
- printw("%.*s ", index, word);
- index = 0;
+ // 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
- printw("\n");
- for (int i = 0; i < level; i++)
- printw(" ");
- printw("(");
+ words[numWords].str[0] = '(';
+ words[numWords].len = 1;
+ numWords++;
level++;
+ // }
+ index = 0;
+ }
+ else if (key == 8) {
+ 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 {
- word[index++] = (char)key;
+ if (index == 0) {
+ numWords++;
+ words[numWords-1].len = 0;
+ }
+ words[numWords-1].str[index++] = (char)key;
+ words[numWords-1].len++;
}
}