From 522e83e3200e91aff574b1e44bd2f1f834504b0e Mon Sep 17 00:00:00 2001 From: Swastik Date: Thu, 16 Nov 2023 00:49:07 +0530 Subject: [PATCH] vdoc: fix syntax highlighting for symbols before `!` and between `(` and `,` --- cmd/tools/vdoc/utils.v | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cmd/tools/vdoc/utils.v b/cmd/tools/vdoc/utils.v index 5251af071d76d5..c70f278124bd93 100644 --- a/cmd/tools/vdoc/utils.v +++ b/cmd/tools/vdoc/utils.v @@ -213,10 +213,13 @@ fn color_highlight(code string, tb &ast.Table) string { } else if (next_tok.kind in [.lcbr, .rpar, .eof, .comma, .pipe, .name, .rcbr, .assign, .key_pub, .key_mut, .pipe, .comma, .comment, .lt, .lsbr] && next_tok.lit !in builtin) - && (prev.kind in [.name, .amp, .lcbr, .rsbr, .key_type, .assign, .dot, .question, .rpar, .key_struct, .key_enum, .pipe, .key_interface, .comment, .ellipsis] + && (prev.kind in [.name, .amp, .lcbr, .rsbr, .key_type, .assign, .dot, .not, .question, .rpar, .key_struct, .key_enum, .pipe, .key_interface, .comment, .ellipsis, .comma] && prev.lit !in builtin) && ((tok.lit != '' && tok.lit[0].is_capital()) || prev_prev.lit in ['C', 'JS']) { tok_typ = .symbol + } else if tok.lit[0].is_capital() && prev.kind == .lpar + && next_tok.kind == .comma { + tok_typ = .symbol } else if next_tok.kind == .lpar || (!(tok.lit != '' && tok.lit[0].is_capital()) && next_tok.kind in [.lt, .lsbr] && next_tok.pos == tok.pos + tok.lit.len) {