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 0 (5→4) taken 47 times.
✓ Branch 1 (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 | const 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 |