X-Git-Url: https://git.danieliu.xyz/?a=blobdiff_plain;f=include%2Fparser.h;h=83ce5d44514a6606a8cb3edf73a8c3a3764eba07;hb=221c74a4a0e73035645d8f6b13316347fa41cda6;hp=4eb9dfe1558f536c1c13cde541f83c5b450d474f;hpb=b723e39232abc7632311eb06d7046c214ee05b51;p=smdp.git diff --git a/include/parser.h b/include/parser.h index 4eb9dfe..83ce5d4 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) 2016 Michael Goehler * * This file is part of mdp. * @@ -28,6 +28,7 @@ * function: markdown_analyse which is used to identify line wide formating * 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 @@ -37,19 +38,27 @@ #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); +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 setup_character_entities(void); +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); #endif // !defined( PARSER_H )