mmmmh
This commit is contained in:
parent
82aee127b0
commit
a92b119549
99 changed files with 6922 additions and 5723 deletions
49
highlight.h
Normal file
49
highlight.h
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
#pragma once
|
||||
|
||||
#include "str.h"
|
||||
|
||||
typedef enum {
|
||||
HL_COLOR_NORMAL,
|
||||
HL_COLOR_PREPROC,
|
||||
HL_COLOR_TYPES,
|
||||
HL_COLOR_CUSTOM_TYPES,
|
||||
HL_COLOR_KEYWORDS,
|
||||
HL_COLOR_NUMBER,
|
||||
HL_COLOR_STRING,
|
||||
HL_COLOR_COMMENT,
|
||||
HL_COLOR_FUNC,
|
||||
HL_COLOR_SYMBOL,
|
||||
HL_COLOR_MACRO,
|
||||
|
||||
HL_COLOR__COUNT,
|
||||
} hl_color_e;
|
||||
|
||||
typedef enum {
|
||||
HL_FLAG_NONE = 0,
|
||||
HL_FLAG_HTML = 1 << 0,
|
||||
} hl_flags_e;
|
||||
|
||||
typedef struct {
|
||||
strview_t keyword;
|
||||
hl_color_e color;
|
||||
} hl_keyword_t;
|
||||
|
||||
typedef struct {
|
||||
usize idx;
|
||||
usize size;
|
||||
} hl_line_t;
|
||||
|
||||
typedef struct {
|
||||
strview_t colors[HL_COLOR__COUNT];
|
||||
hl_keyword_t *extra_kwrds;
|
||||
int kwrds_count;
|
||||
hl_flags_e flags;
|
||||
} hl_config_t;
|
||||
|
||||
typedef struct hl_ctx_t hl_ctx_t;
|
||||
|
||||
hl_ctx_t *hlInit(arena_t *arena, hl_config_t *config);
|
||||
str_t hlHighlight(arena_t *arena, hl_ctx_t *ctx, strview_t str);
|
||||
|
||||
void hlSetSymbolInTable(hl_ctx_t *ctx, char symbol, bool value);
|
||||
void hlAddKeyword(arena_t *arena, hl_ctx_t *ctx, hl_keyword_t *keyword);
|
||||
Loading…
Add table
Add a link
Reference in a new issue