+ case JSONNodeKind_Arr: {
+ printf("[ ");
+ JSONNode * ptr = node->children;
+ while (ptr != NULL) {
+ JSONNode * value = ptr;
+ JSONNodePrint(value, currNode);
+ ptr = ptr->next;
+ printf("%s", (ptr == NULL ? "" : ", "));
+ }
+ printf(" ]");
+ break;
+ }
+ }
+
+ if (currNode == node) {
+ int currOffsets[JSONNodeKind_COUNT];
+ currOffsets[JSONNodeKind_Nul] = 0;
+ currOffsets[JSONNodeKind_Int] = 0;
+ currOffsets[JSONNodeKind_Str] = 1;
+ currOffsets[JSONNodeKind_Obj] = 1;
+ currOffsets[JSONNodeKind_Arr] = 2;
+ vt100GetCursor(&currV, &currH);
+ currH -= currOffsets[node->kind];