X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=include%2Fparser.h;h=751afdd49533f1e97ecb24316577348937529ac7;hb=c3bcbda5c26b9234b6207b4c6fb85ab1565d9d0b;hp=2690b20e27f9747a3e3338eb6e907d2238cd3f2c;hpb=d4843ea375360f37e965709e73c0fbd68e302dca;p=smdp.git diff --git a/include/parser.h b/include/parser.h index 2690b20..751afdd 100644 --- a/include/parser.h +++ b/include/parser.h @@ -5,7 +5,7 @@ * Functions necessary to parse a file and transform its content into * a deck of slides containing lines. All based on markdown formating * rules. - * Copyright (C) 2014 Michael Goehler + * Copyright (C) 2018 Michael Goehler * * This file is part of mdp. * @@ -25,9 +25,10 @@ * * function: markdown_load is the main function which reads a file handle, * and initializes deck, slides and lines - * function: markdown_analyse which is used to identify line wide formating + * function: markdown_analyse which is used to identify line wide formatting * rules in given line * function: markdown_debug to print a report of the generated data structure + * function: adjust_line_length to calculate line length excluding markup * function: is_utf8 detects multi-byte char * function: length_utf8 calculates the amount of bytes used for a multi-byte * char @@ -35,18 +36,29 @@ * */ +#include "common.h" #include "markdown.h" +#include "cstack.h" + +#if defined( CYGWIN ) +#undef WEOF +#define WEOF (0xffff) +#endif // defined( CYGWIN ) #define EXPAND_TABS 4 #define CODE_INDENT 4 +#define UNORDERED_LIST_MAX_LEVEL 3 -deck_t *markdown_load(FILE *input); -int markdown_analyse(cstring_t *text); +deck_t *markdown_load(FILE *input, int noexpand); +int markdown_analyse(cstring_t *text, int prev); void markdown_debug(deck_t *deck, int debug); -int is_utf8(char ch); -int length_utf8(char ch); +void expand_character_entities(line_t *line); +void adjust_line_length(line_t *line); int next_nonblank(cstring_t *text, int i); +int prev_blank(cstring_t *text, int i); int next_blank(cstring_t *text, int i); int next_word(cstring_t *text, int i); +int next_nontilde(cstring_t *text, int i); +int next_nonbacktick(cstring_t *text, int i); #endif // !defined( PARSER_H )