aboutsummaryrefslogtreecommitdiff
path: root/jdtalk.h
diff options
context:
space:
mode:
Diffstat (limited to 'jdtalk.h')
-rw-r--r--jdtalk.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/jdtalk.h b/jdtalk.h
index ec629c6..1c79f75 100644
--- a/jdtalk.h
+++ b/jdtalk.h
@@ -24,6 +24,15 @@
#define WT_ADVERB 3
#define WT_VERB 4
+#define JSON_BEGIN(FP) fprintf(FP, "{\n");
+#define JSON_INDENT(FP, LEVEL) for (size_t indenter = 0; indenter < LEVEL; indenter++) { fprintf(FP, " "); }
+#define JSON_NEXT_ITEM(FP) fprintf(FP, ",\n");
+#define JSON_NEXT_LINE(FP) fprintf(FP, "\n");
+#define JSON_LIST_BEGIN(FP, KEY) JSON_INDENT(FP, 1); fprintf(FP, "\"%s\": [", KEY);
+#define JSON_LIST_APPEND(FP, VALUE) JSON_INDENT(FP, 2); fprintf(FP, "\"%s\"", VALUE);
+#define JSON_LIST_END(FP) fprintf(FP, "]\n");
+#define JSON_END(FP) fprintf(FP, "}\n");
+
struct Word {
char *word;
unsigned type;