20#define PREPROC_FLAG 0x10
36 return strcmp(
ptr, r.
ptr) < 0;
40 return strcmp(
ptr, r.
ptr) == 0;
48 multicmt_t(
const char *_open_multicmt,
const char *_close_multicmt) :
119 for (
int i = 0; i <
keywords.size(); i++ )
127 if ( pair_p ==
nullptr )
131 pair_p->
style = _style;
149 for (
char *kw =
qstrtok(mem.
begin(),
"|", &ctx); kw !=
nullptr; kw =
qstrtok(
nullptr,
"|", &ctx) )
153 for (
int i = 0; i <
keywords.size(); i++ )
iterator begin(void)
Get a pointer to the beginning of the qstring.
Definition pro.h:3177
Reimplementation of vector class from STL.
Definition pro.h:2250
Functions that deal with C-like expressions and built-in IDC language.
syntax_highlight_style
Possible syntax element highlighting style names.
Definition expr.hpp:608
@ HF_PREPROC
Definition expr.hpp:615
@ HF_DEFAULT
Definition expr.hpp:609
@ HF_STRING
Definition expr.hpp:613
@ HF_COMMENT
Definition expr.hpp:614
INLINE THREAD_SAFE bool ida_local qisspace(char c)
Definition pro.h:938
idaman const char * end
Definition pro.h:1001
qvector< ida_syntax_highlighter_helper_t * > ida_syntax_highlighter_helpers_t
Definition ida_highlighter.hpp:17
idaman void ida_export code_highlight_block(void *context, highlighter_cbs_t *highlighter_cbs, const qstring &text)
idaman THREAD_SAFE char *ida_export qstrtok(char *s, const char *delim, char **save_ptr)
Thread-safe version of strtok.
ptrdiff_t ssize_t
Signed size_t - used to check for size overflows when the counter becomes negative.
Definition pro.h:381
_qstring< char > qstring
regular string
Definition pro.h:3694
qvector< qstring > qstrvec_t
vector of strings
Definition pro.h:3697
Definition ida_highlighter.hpp:9
virtual ~ida_syntax_highlighter_helper_t()
Definition ida_highlighter.hpp:10
virtual ssize_t get_text_color(syntax_highlight_style *, const char *)
Definition ida_highlighter.hpp:13
virtual bool get_ident_color(syntax_highlight_style *, const qstring &)
Definition ida_highlighter.hpp:15
Definition ida_highlighter.hpp:56
syntax_highlight_style style
Definition ida_highlighter.hpp:58
qvector< plain_char_ptr_t > keywords
Definition ida_highlighter.hpp:57
Definition ida_highlighter.hpp:44
qstring close_multicmt
Definition ida_highlighter.hpp:46
multicmt_t()
Definition ida_highlighter.hpp:47
multicmt_t(const char *_open_multicmt, const char *_close_multicmt)
Definition ida_highlighter.hpp:48
qstring open_multicmt
Definition ida_highlighter.hpp:45
plain_char_ptr_t(const char *p=nullptr)
Definition ida_highlighter.hpp:33
bool operator==(const plain_char_ptr_t &r) const
Definition ida_highlighter.hpp:38
const char * ptr
Definition ida_highlighter.hpp:32
bool operator<(const plain_char_ptr_t &r) const
Definition ida_highlighter.hpp:34
const char * pending
Definition ida_highlighter.hpp:79
char open_chrconst
Definition ida_highlighter.hpp:99
keywords_t keywords
Definition ida_highlighter.hpp:63
char preprocessor_char
Definition ida_highlighter.hpp:102
const char * parse_literal_const(highlighter_cbs_t *highlighter_cbs, const char *ptr, char literal_closer)
void handle_preproc(highlighter_cbs_t *highlighter_cbs, const char **ptr)
ida_syntax_highlighter_t()
Definition ida_highlighter.hpp:104
void highlight_block_ex(highlighter_cbs_t *highlighter_cbs, const qstring &text)
syntax_highlight_style preprocessor_color
Definition ida_highlighter.hpp:73
multicmtvec_t multicmts
Definition ida_highlighter.hpp:66
syntax_highlight_style text_color
Definition ida_highlighter.hpp:70
syntax_highlight_style comment_color
Definition ida_highlighter.hpp:71
void add_ida_syntax_highlighter_helper(ida_syntax_highlighter_helper_t *sh)
Definition ida_highlighter.hpp:107
qvector< keywords_style_t > keywords_t
Definition ida_highlighter.hpp:60
qstring open_cmt
Definition ida_highlighter.hpp:65
void add_keyword_to_style(const char *kw, syntax_highlight_style _style)
Definition ida_highlighter.hpp:136
char close_chrconst
Definition ida_highlighter.hpp:100
bool pending_nonspaces_present(const char *end)
Definition ida_highlighter.hpp:82
char literal_closer
Definition ida_highlighter.hpp:67
qvector< multicmt_t > multicmtvec_t
Definition ida_highlighter.hpp:62
char escape_char
Definition ida_highlighter.hpp:101
keywords_style_t * get_keyword_style(syntax_highlight_style _style)
Definition ida_highlighter.hpp:116
syntax_highlight_style style
Definition ida_highlighter.hpp:80
char open_strconst
Definition ida_highlighter.hpp:97
qstrvec_t keyword_memory
Definition ida_highlighter.hpp:28
void handle_cmt(highlighter_cbs_t *highlighter_cbs, int mcmt_idx, const char **ptr)
void add_keywords(const char *kwstr, syntax_highlight_style _style)
Definition ida_highlighter.hpp:142
void add_multi_line_comment(const char *begin, const char *end)
Definition ida_highlighter.hpp:109
char close_strconst
Definition ida_highlighter.hpp:98
syntax_highlight_style string_color
Definition ida_highlighter.hpp:72
void set_open_cmt(const char *begin)
Definition ida_highlighter.hpp:108
ida_syntax_highlighter_helpers_t ida_syntax_highlighter_helpers
Definition ida_highlighter.hpp:75
const char * input
Definition ida_highlighter.hpp:78
void flush_output(highlighter_cbs_t *highlighter_cbs, const char *ptr, syntax_highlight_style style)
syntax_highlighter_t(block_highlighter_t *bh=nullptr)
Definition expr.hpp:646