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.
36 lines
1.1 KiB
Plaintext
36 lines
1.1 KiB
Plaintext
## Syntax highlighting for PHP.
|
|
|
|
syntax php "\.(php[23457s~]?|phtml|ctp)$"
|
|
magic "PHP script"
|
|
comment "//"
|
|
|
|
# PHP markings.
|
|
color brightgreen "(<\?(php)?|\?>)"
|
|
|
|
# Function names.
|
|
color white "\<[A-Za-z_][A-Za-z_0-9]*\("
|
|
# Variable names.
|
|
color cyan "\$[A-Za-z_][A-Za-z_0-9]*"
|
|
|
|
# Types.
|
|
color green "\<(array|bool|callable|const|float|global|int|object|string|var)\>"
|
|
|
|
# Directives and structure.
|
|
color brightcyan "\<(abstract|as|class|clone|(end)?declare|extends|function|implements|include(_once)?|inst(ance|ead)of|interface|namespace|new|private|protected|public|require(_once)?|static|trait|use|yield)\>"
|
|
color brightcyan "\<(case|catch|default|do|echo|else(if)?|end(for(each)?|if|switch|while)|final(ly)?|for(each)?|if|print|switch|throw|try|while)\>"
|
|
# Operators.
|
|
color brightcyan "\<(and|or|xor)\>"
|
|
|
|
# Control flow.
|
|
color magenta "\<(break|continue|goto|return)\>"
|
|
|
|
# Strings.
|
|
color brightyellow ""(\.|[^"])*"" "'(\.|[^'])*'"
|
|
|
|
# Comments.
|
|
color brightblue "(^|[[:blank:]]+)//.*"
|
|
color brightblue start="/\*" end="\*/"
|
|
|
|
# Trailing whitespace.
|
|
color ,green "[[:space:]]+$"
|