12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- /* PEG Markdown Highlight
- * Copyright 2011-2016 Ali Rantakari -- http://hasseg.org
- * Licensed under the GPL2+ and MIT licenses (see LICENSE for more info).
- *
- * pmh_parser.h
- */
- #ifdef Q_CC_GNU
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- /** \file
- * \brief Parser public interface.
- */
- #ifndef __cplusplus
- #include <stdbool.h>
- #endif
- #include <stdlib.h>
- #include <assert.h>
- #include "pmh_definitions.h"
- /**
- * \brief Parse Markdown text, return elements
- *
- * Parses the given Markdown text and returns the results as an
- * array of linked lists of elements, indexed by type.
- *
- * \param[in] text The Markdown text to parse for highlighting.
- * \param[in] extensions The extensions to use in parsing (a bitfield
- * of pmh_extensions values).
- * \param[out] out_result A pmh_element array, indexed by type, containing
- * the results of the parsing (linked lists of elements).
- * You must pass this to pmh_free_elements() when it's
- * not needed anymore.
- *
- * \sa pmh_element_type
- */
- void pmh_markdown_to_elements(char *text, int extensions,
- pmh_element **out_result[]);
- /**
- * \brief Sort elements in list by start offset.
- *
- * Sorts the linked lists of elements in the list returned by
- * pmh_markdown_to_elements() by their start offsets (pos).
- *
- * \param[in] element_lists Array of linked lists of elements (output
- * from pmh_markdown_to_elements()).
- *
- * \sa pmh_markdown_to_elements
- * \sa pmh_element::pos
- */
- void pmh_sort_elements_by_pos(pmh_element *element_lists[]);
- /**
- * \brief Free pmh_element array
- *
- * Frees an pmh_element array returned by pmh_markdown_to_elements().
- *
- * \param[in] elems The pmh_element array resulting from calling
- * pmh_markdown_to_elements().
- *
- * \sa pmh_markdown_to_elements
- */
- void pmh_free_elements(pmh_element **elems);
- /**
- * \brief Get element type name
- *
- * \param[in] type The type value to get the name for.
- *
- * \return The name of the given type as a null-terminated string.
- *
- * \sa pmh_element_type
- */
- char *pmh_element_name_from_type(pmh_element_type type);
- /**
- * \brief Get element type from a name
- *
- * \param[in] name The name of the type.
- *
- * \return The element type corresponding to the given name.
- *
- * \sa pmh_element_type
- */
- pmh_element_type pmh_element_type_from_name(char *name);
|