vdoc: highlight `..`, `...` as punctuation & postfix ops as operators (#13924)
parent
1211b2e941
commit
91b40304b7
|
@ -348,14 +348,15 @@ fn html_highlight(code string, tb &ast.Table) string {
|
||||||
.key_true, .key_false {
|
.key_true, .key_false {
|
||||||
tok_typ = .boolean
|
tok_typ = .boolean
|
||||||
}
|
}
|
||||||
.lpar, .lcbr, .rpar, .rcbr, .lsbr, .rsbr, .semicolon, .colon, .comma, .dot {
|
.lpar, .lcbr, .rpar, .rcbr, .lsbr, .rsbr, .semicolon, .colon, .comma, .dot,
|
||||||
|
.dotdot, .ellipsis {
|
||||||
tok_typ = .punctuation
|
tok_typ = .punctuation
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
||||||
tok_typ = .keyword
|
tok_typ = .keyword
|
||||||
} else if tok.kind == .decl_assign || tok.kind.is_assign() || tok.is_unary()
|
} else if tok.kind == .decl_assign || tok.kind.is_assign() || tok.is_unary()
|
||||||
|| tok.kind.is_relational() || tok.kind.is_infix() {
|
|| tok.kind.is_relational() || tok.kind.is_infix() || tok.kind.is_postfix() {
|
||||||
tok_typ = .operator
|
tok_typ = .operator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -241,7 +241,8 @@ fn color_highlight(code string, tb &ast.Table) string {
|
||||||
.key_true, .key_false {
|
.key_true, .key_false {
|
||||||
tok_typ = .boolean
|
tok_typ = .boolean
|
||||||
}
|
}
|
||||||
.lpar, .lcbr, .rpar, .rcbr, .lsbr, .rsbr, .semicolon, .colon, .comma, .dot {
|
.lpar, .lcbr, .rpar, .rcbr, .lsbr, .rsbr, .semicolon, .colon, .comma, .dot,
|
||||||
|
.dotdot, .ellipsis {
|
||||||
tok_typ = .punctuation
|
tok_typ = .punctuation
|
||||||
}
|
}
|
||||||
.key_none {
|
.key_none {
|
||||||
|
@ -251,7 +252,7 @@ fn color_highlight(code string, tb &ast.Table) string {
|
||||||
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
if token.is_key(tok.lit) || token.is_decl(tok.kind) {
|
||||||
tok_typ = .keyword
|
tok_typ = .keyword
|
||||||
} else if tok.kind == .decl_assign || tok.kind.is_assign() || tok.is_unary()
|
} else if tok.kind == .decl_assign || tok.kind.is_assign() || tok.is_unary()
|
||||||
|| tok.kind.is_relational() || tok.kind.is_infix() {
|
|| tok.kind.is_relational() || tok.kind.is_infix() || tok.kind.is_postfix() {
|
||||||
tok_typ = .operator
|
tok_typ = .operator
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -494,6 +494,11 @@ pub fn (kind Kind) is_infix() bool {
|
||||||
.right_shift, .unsigned_right_shift, .arrow]
|
.right_shift, .unsigned_right_shift, .arrow]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[inline]
|
||||||
|
pub fn (kind Kind) is_postfix() bool {
|
||||||
|
return kind in [.inc, .dec, .question]
|
||||||
|
}
|
||||||
|
|
||||||
pub fn kind_to_string(k Kind) string {
|
pub fn kind_to_string(k Kind) string {
|
||||||
return match k {
|
return match k {
|
||||||
.unknown { 'unknown' }
|
.unknown { 'unknown' }
|
||||||
|
|
Loading…
Reference in New Issue