| Line | Branch | Exec | Source |
|---|---|---|---|
| 1 | #ifndef SYNTAX_HIGHLIGHT_H | ||
| 2 | #define SYNTAX_HIGHLIGHT_H | ||
| 3 | |||
| 4 | #include <stdbool.h> | ||
| 5 | #include <stddef.h> | ||
| 6 | #include "block-iter.h" | ||
| 7 | #include "syntax/color.h" | ||
| 8 | #include "syntax/syntax.h" | ||
| 9 | #include "terminal/style.h" | ||
| 10 | #include "util/debug.h" | ||
| 11 | #include "util/ptr-array.h" | ||
| 12 | #include "util/string-view.h" | ||
| 13 | |||
| 14 | // Set styles in range [start,end] and return number of styles set | ||
| 15 | 9 | static inline size_t set_style_range ( | |
| 16 | const TermStyle **styles, | ||
| 17 | const TermStyle *emit_style, | ||
| 18 | size_t start, | ||
| 19 | size_t end | ||
| 20 | ) { | ||
| 21 | 9 | BUG_ON(start > end); | |
| 22 |
2/2✓ Branch 5 → 4 taken 47 times.
✓ Branch 5 → 6 taken 9 times.
|
56 | for (size_t i = start; i < end; i++) { |
| 23 | 47 | styles[i] = emit_style; | |
| 24 | } | ||
| 25 | 9 | return end - start; | |
| 26 | } | ||
| 27 | |||
| 28 | const TermStyle **hl_line ( | ||
| 29 | Syntax *syn, | ||
| 30 | PointerArray *line_start_states, | ||
| 31 | const StyleMap *sm, | ||
| 32 | StringView line, | ||
| 33 | size_t line_nr, | ||
| 34 | bool *next_changed | ||
| 35 | ); | ||
| 36 | |||
| 37 | void hl_fill_start_states ( | ||
| 38 | Syntax *syn, | ||
| 39 | PointerArray *line_start_states, | ||
| 40 | const StyleMap *sm, | ||
| 41 | BlockIter *bi, | ||
| 42 | size_t line_nr | ||
| 43 | ); | ||
| 44 | |||
| 45 | void hl_insert(PointerArray *line_start_states, size_t first, size_t lines); | ||
| 46 | void hl_delete(PointerArray *line_start_states, size_t first, size_t lines); | ||
| 47 | |||
| 48 | #endif | ||
| 49 |