/* * This file is part of Beastie * SPDX-FileCopyrightText: 2024 Norman Gray * SPDX-License-Identifier: BSD-2-Clause */ #ifndef PARSE_MDBLOCK_H #define PARSE_MDBLOCK_H 1 #include // for FILE* #include "beastie.h" // for YYSTYPE and s7_pointer #include "yycommon.h" // for YYLTYPE typedef enum containers { list, pre, blockquote } container_t; struct mdblock_extra_s { char vspace_p; // are we skipping vertical space? // int bq_level; // current number of blockquote indents // container_t containers[5]; // FIXME: how many slots here? // unsigned char nc; // number of containing elements // unsigned char ni; // number of indents currently seen // char found_annotation_p; // did we just find an annotation? // char* string_buf; // non-NULL when parsing a string // const char* filename; // input file name, or NULL for stdin // FILE* infile; }; typedef struct mdblock_extra_s* mdblock_extra_t; s7_pointer mdblock_load_hook(s7_scheme*, s7_pointer); #endif /* PARSE_MDBLOCK_H */