Push current progress so I can work on my laptop.

This commit is contained in:
Joshua Bemenderfer
2023-02-05 07:44:11 -05:00
parent 94767772b4
commit 657c95a4c1
28 changed files with 2372 additions and 3468 deletions

View File

@@ -1,5 +1,7 @@
#ifndef TERRACE_PARSER_H
#define TERRACE_PARSER_H
struct terrace_linedata_s {
char type;
unsigned int level;
unsigned int offsetHead;
unsigned int offsetTail;
@@ -8,30 +10,19 @@ struct terrace_linedata_s {
typedef struct terrace_linedata_s terrace_linedata_t;
void terrace_parse_line(char* line, terrace_linedata_t *lineData) {
char type = 0;
unsigned int level = 0;
unsigned int offsetTail = 0;
if (line[0] == '\n') {
if (lineData->type == 1) level++;
if (lineData->type == 0) level = lineData->level;
lineData->type = type;
lineData->level = level;
// Reuse lineData->level from previous line.
lineData->offsetHead = 0;
lineData->offsetTail = 0;
} else {
type = 1;
unsigned int level = 0;
while (line[level] == ' ' && level <= lineData->level + 1) ++level;
lineData->type = type;
lineData->level = level;
lineData->offsetHead = level;
lineData->offsetTail = level;
while (line[lineData->offsetTail] != '\0' && line[lineData->offsetTail] != ' ') ++lineData->offsetTail;
}
lineData->type = type;
lineData->level = level;
lineData->offsetHead = level;
}
#endif