![Benno Schulenberg](/assets/img/avatar_default.png)
In many places a carriage return is not valid whitespace and should thus not be colored as such. In some of these places a vertical tab or form feed is maybe valid whitespace, but it would be ugly or even wrong to color them because they are not part of the subsequent comment or keyword. This fixes https://savannah.gnu.org/bugs/?60456.
40 строки
1.5 KiB
Plaintext
40 строки
1.5 KiB
Plaintext
## Syntax highlighting for C/C++/Obj-C files.
|
|
|
|
syntax m "\.m$"
|
|
magic "Objective-C source"
|
|
comment "//"
|
|
|
|
# Stuffs,
|
|
color brightwhite "\<[A-Z_][0-9A-Z_]+\>"
|
|
color green "\<(float|double|BOOL|bool|char|int|short|long|id|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline)\>"
|
|
color green "\<[[:alpha:]_][[:alnum:]_]*_t\>"
|
|
color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>"
|
|
color brightgreen "\<(for|if|while|do|else|case|default|switch)\>"
|
|
color brightgreen "\<(try|throw|catch|operator|new|delete)\>"
|
|
color brightgreen "\<(goto|continue|break|return)\>"
|
|
color brightgreen "@(encode|end|implementation|interface)|selector)\>"
|
|
|
|
# GCC builtins.
|
|
color cyan "__attribute__[[:blank:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
|
|
|
|
# Selector/method.
|
|
color brightmagenta "(^|[[:blank:]])\[.*[[:blank:]].*\]"
|
|
color white ":[[:alnum:]]*"
|
|
color magenta "[[:alnum:]]*:"
|
|
color white "\[[^][:blank:]]*\]"
|
|
|
|
# Strings.
|
|
color brightblack "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'"
|
|
color brightblack "<[^= ]*>" ""(\\.|[^"])*""
|
|
color brightblue "@"(\\.|[^"])*""
|
|
|
|
# Preprocessor commands.
|
|
color brightblue "^[[:blank:]]*#[[:blank:]]*(define|include|import|(un|ifn?)def|endif|el(if|se)|if|warning|error)"
|
|
|
|
# Comments.
|
|
color yellow "//.*"
|
|
color yellow start="/\*" end="\*/"
|
|
|
|
# Trailing whitespace.
|
|
color ,green "[[:space:]]+$"
|