2014-11-16 15:52:41 -08:00
|
|
|
#ifndef ELM_CODE_PARSE_H_
|
|
|
|
# define ELM_CODE_PARSE_H_
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* @brief These routines are used for handling the parsing of Elm Code content.
|
|
|
|
*/
|
|
|
|
|
2015-02-26 15:19:09 -08:00
|
|
|
typedef struct _Elm_Code_Parser Elm_Code_Parser;
|
2014-11-16 15:52:41 -08:00
|
|
|
|
2017-01-20 14:09:16 -08:00
|
|
|
extern EAPI Elm_Code_Parser *ELM_CODE_PARSER_STANDARD_SYNTAX; /**< A provided parser to provide syntax highlighting */
|
2016-06-06 10:30:07 -07:00
|
|
|
extern EAPI Elm_Code_Parser *ELM_CODE_PARSER_STANDARD_DIFF; /**< A provided parser that will mark up diff text */
|
|
|
|
extern EAPI Elm_Code_Parser *ELM_CODE_PARSER_STANDARD_TODO; /**< A provided parser that will highlight TODO and FIXME lines */
|
2014-11-16 15:52:41 -08:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @brief Parser helper functions.
|
|
|
|
* @defgroup Parser Hooking in and launching parsers
|
|
|
|
*
|
|
|
|
* @{
|
|
|
|
*
|
|
|
|
* Parser functions for marking up elm code.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
2015-02-23 16:32:40 -08:00
|
|
|
EAPI void elm_code_parser_add(Elm_Code *code, void (*parse_line)(Elm_Code_Line *, void *),
|
|
|
|
void (*parse_file)(Elm_Code_File *, void *), void *data);
|
2014-11-16 15:52:41 -08:00
|
|
|
|
2015-02-26 15:19:09 -08:00
|
|
|
EAPI void elm_code_parser_standard_add(Elm_Code *code, Elm_Code_Parser *parser);
|
|
|
|
|
2014-11-16 15:52:41 -08:00
|
|
|
/**
|
|
|
|
* @}
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* ELM_CODE_PARSE_H_ */
|