1#ifndef TEXTMATELIB_SYNTAX_HIGHLIGHTER_C_API_H
2#define TEXTMATELIB_SYNTAX_HIGHLIGHTER_C_API_H
17typedef void* textmate_syntax_highlighter_t;
18typedef void* textmate_highlighted_token_t;
19typedef void* textmate_highlighted_line_t;
33 const char* foregroundColor;
34 const char* backgroundColor;
39 const char* debugInfo;
56 int32_t cachedLineCount;
57 double averageLineTokenizationMs;
59 const char* themeName;
60 int32_t themeColorCount;
72TML_API textmate_syntax_highlighter_t textmate_syntax_highlighter_create(
82TML_API textmate_syntax_highlighter_t textmate_syntax_highlighter_create_with_cache(
90TML_API
void textmate_syntax_highlighter_dispose(textmate_syntax_highlighter_t highlighter);
100TML_API
void textmate_syntax_highlighter_set_document(
101 textmate_syntax_highlighter_t highlighter,
110TML_API
void textmate_syntax_highlighter_edit_line(
111 textmate_syntax_highlighter_t highlighter,
113 const char* newContent
121TML_API
void textmate_syntax_highlighter_insert_lines(
122 textmate_syntax_highlighter_t highlighter,
132TML_API
void textmate_syntax_highlighter_remove_lines(
133 textmate_syntax_highlighter_t highlighter,
141TML_API int32_t textmate_syntax_highlighter_get_line_count(
142 textmate_syntax_highlighter_t highlighter
155TML_API textmate_highlighted_line_t textmate_syntax_highlighter_get_highlighted_line(
156 textmate_syntax_highlighter_t highlighter,
168TML_API int32_t textmate_syntax_highlighter_get_highlighted_range(
169 textmate_syntax_highlighter_t highlighter,
172 textmate_highlighted_line_t* outResults,
173 int32_t* outResultCount
184TML_API int32_t textmate_syntax_highlighter_get_line_tokens(
185 textmate_syntax_highlighter_t highlighter,
188 int32_t* outTokenCount
199TML_API
void textmate_syntax_highlighter_set_theme(
200 textmate_syntax_highlighter_t highlighter,
208 textmate_syntax_highlighter_t highlighter
218TML_API
void textmate_syntax_highlighter_clear_cache(
219 textmate_syntax_highlighter_t highlighter
226TML_API
void textmate_syntax_highlighter_invalidate_cache_range(
227 textmate_syntax_highlighter_t highlighter,
240TML_API int32_t textmate_syntax_highlighter_get_metadata(
241 textmate_syntax_highlighter_t highlighter,
252TML_API int32_t textmate_highlighted_line_get_index(textmate_highlighted_line_t line);
257TML_API
const char* textmate_highlighted_line_get_content(textmate_highlighted_line_t line);
262TML_API int32_t textmate_highlighted_line_get_token_count(textmate_highlighted_line_t line);
269 textmate_highlighted_line_t line,
276TML_API int32_t textmate_highlighted_line_is_complete(textmate_highlighted_line_t line);
281TML_API uint64_t textmate_highlighted_line_get_version(textmate_highlighted_line_t line);
285TML_API
void textmate_highlighted_line_dispose(textmate_highlighted_line_t line);
294TML_API int32_t textmate_highlighted_token_get_start_index(textmate_highlighted_token_t token);
299TML_API int32_t textmate_highlighted_token_get_end_index(textmate_highlighted_token_t token);
304TML_API int32_t textmate_highlighted_token_get_scope_count(textmate_highlighted_token_t token);
310TML_API
const char* textmate_highlighted_token_get_scope(
311 textmate_highlighted_token_t token,
318TML_API
const char* textmate_highlighted_token_get_foreground_color(
319 textmate_highlighted_token_t token
325TML_API
const char* textmate_highlighted_token_get_background_color(
326 textmate_highlighted_token_t token
332TML_API int32_t textmate_highlighted_token_get_font_style(textmate_highlighted_token_t token);
337TML_API int32_t textmate_highlighted_token_get_type(textmate_highlighted_token_t token);
342TML_API
const char* textmate_highlighted_token_get_debug_info(textmate_highlighted_token_t token);
346TML_API
void textmate_highlighted_token_dispose(textmate_highlighted_token_t token);
C language API for TextMateLib.
void * TextMateGrammar
Handle to a grammar definition for a specific language.
void * TextMateTheme
Handle to a theme object containing color schemes.
Represents a single token in tokenized text.
Corresponds to HighlightedLine in C++.
Corresponds to HighlightedToken in C++.
Corresponds to SyntaxHighlightingMetadata in C++.