/*
 * This file is part of Beastie <https://purl.org/nxg/dist/beastie>
 * SPDX-FileCopyrightText: 2024 Norman Gray <https://nxg.me.uk>
 * SPDX-License-Identifier: BSD-2-Clause
 */

#ifndef PARSE_MDBLOCK_H
#define PARSE_MDBLOCK_H 1

#include <stdio.h>              // 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 */
