summaryrefslogtreecommitdiff
path: root/output.c
diff options
context:
space:
mode:
authorthing1 <thing1@seacrossedlovers.xyz>2025-02-10 09:27:37 +0000
committerthing1 <thing1@seacrossedlovers.xyz>2025-02-10 09:27:37 +0000
commitda9a28e4cc9106a8eba89cc2bf99692c7b3a4baf (patch)
treecc6d561566e4c2754efac952a4652a36d97aa2d8 /output.c
parent9a9bd6657dc82662567b748434a8547acc7c0193 (diff)
added new output formats
Diffstat (limited to 'output.c')
-rw-r--r--output.c39
1 files changed, 39 insertions, 0 deletions
diff --git a/output.c b/output.c
new file mode 100644
index 0000000..6f9b53b
--- /dev/null
+++ b/output.c
@@ -0,0 +1,39 @@
+#include <stdio.h>
+
+#include "tokens.h"
+
+extern token tokens[1024];
+extern int tokcount;
+
+void printashtml(token t) {
+ char *start, *end;
+ switch (t.type) {
+ case HEADING: start = "<h1>"; end = "</h1>\n"; break;
+ case DATE: start = "<h2>"; end = "</h2>\n"; break;
+ case TODO: start = "<h3>"; end = "</h3>\n"; break;
+ case BULLET: start = "<p>"; end = "</p>\n"; break;
+ }
+ printf("%s%s%s", start, t.data, end);
+}
+
+void printasgn(token t) {
+ char *start, *end;
+ switch (t.type) {
+ case HEADING: start = "* "; end = " *"; break;
+ case DATE: start = " ["; end = "]"; break;
+ case TODO: start = " {"; end = "}\n"; break;
+ case BULLET: start = "- "; end = "\n"; break;
+ }
+ printf("%s%s%s", start, t.data, end);
+}
+
+void printasgroff(token t) {
+ char *start, *end;
+ switch (t.type) {
+ case HEADING: start = ".NH\n"; end = "\n"; break;
+ case DATE: start = ".LP\n"; end = "\n"; break;
+ case TODO: start = ".LP\n"; end = "\n"; break;
+ case BULLET: start = ".PP\n"; end = "\n"; break;
+ }
+ printf("%s%s%s", start, t.data, end);
+}