aboutsummaryrefslogtreecommitdiff
path: root/src/ast.h
blob: bd9b342798e5a2023eb5f28539b2d8f762c9cbcb (plain)
  1. #ifndef CMARK_AST_H
  2. #define CMARK_AST_H
  3. #include <stdio.h>
  4. #include "config.h"
  5. #include "node.h"
  6. #include "buffer.h"
  7. #include "chunk.h"
  8. #include "cmark.h"
  9. #ifdef __cplusplus
  10. extern "C" {
  11. #endif
  12. #define REFMAP_SIZE 16
  13. #define MAX_LINK_LABEL_LENGTH 1000
  14. struct cmark_reference {
  15. struct cmark_reference *next;
  16. unsigned char *label;
  17. unsigned char *url;
  18. unsigned char *title;
  19. unsigned int hash;
  20. };
  21. typedef struct cmark_reference cmark_reference;
  22. struct cmark_reference_map {
  23. cmark_reference *table[REFMAP_SIZE];
  24. };
  25. typedef struct cmark_reference_map cmark_reference_map;
  26. struct cmark_doc_parser {
  27. struct cmark_reference_map *refmap;
  28. struct cmark_node* root;
  29. struct cmark_node* current;
  30. int line_number;
  31. cmark_strbuf *curline;
  32. };
  33. #ifdef __cplusplus
  34. }
  35. #endif
  36. #endif