`hl_deinit()` will ensure all occupied memory is freed.
+```C
+#define HLPATH ~/.local/hl/:~/.vim/syntax/
+```
+Coma separated list of directories to be searched for syntax scripts. `#undef` to disable it entirely.
+
+
```C
void render_string(const char * const string, const char * const mode); //XXX: rename
```
```C
-#define HLPATH //?!
+int token_fits(const token_t * const token, const char * const to, const int string_offset, const bool is_start_of_line, int * match_offset);
```
-Coma separated list of directories to be searched for syntax scripts. `#undef` to disable it entirely.
+Fit a specific token against a string. `render_string()` uses this function internally.
```C
```C
// NOTE: the return value is the number tokens successfully inserted
int new_keyword_tokens(const char * const * words, hl_group_t * const g); // _words_ must be NULL terminated
-int new_syntax_character_tokens(const char * const chars, hl_group_t * const g);
+int new_syntax_char_tokens(const char * const chars, hl_group_t * const g);
+token_t * new_symbol_token(const char * const c, hl_group_t * const g);
+int new_symbol_tokens(const char * const * symbols, hl_group_t * const g);
+int new_char_tokens(const char * str, hl_group_t * const g);
+token_t * new_keyword_token(const char * const word, hl_group_t * const g);
+token_t * new_region_token(const char * start, const char * end, hl_group_t * g);
```