diff --git a/php.nanorc b/php.nanorc index 9173e74..fed87f8 100644 --- a/php.nanorc +++ b/php.nanorc @@ -1,20 +1,40 @@ -## PHP syntax highlighting -## -syntax "php" "\.php$" "\.php[2345s]$" "\.phtml$" -#functions -color brightmagenta "([A-Za-z0-9])" -#numbers -color brightblue "[0-9]" -#special -color brightwhite "(^|[^A-Za-z0-9])(<\?php|\?>|var|and|or|default|class|extends|true|false|global|function|new|switch|case|break|next|prev|elseif|if|else|foreach|for|as|do|while|exit|die|declare|require_once|require|include_once|include|return|echo|static|array|isset)([^A-Za-z0-9])" -#types -color brightred "([^A-Za-z0-9])|[^A-Za-z](null|int|string|float|bool|object|resource)[^A-Za-z0-9_]+[^A-Za-z]" -#strings -color brightyellow ""(\\.|[^\"])*"" -color brightyellow "'(\\.|[^\'])*'" -#Variables -color brightcyan "\$[]\[A-Za-z0-9_'\"]*" -#comments -color green "//.*" -color green "#.*" -color green start="/\*" end="\*/" +## PHP Syntax Highlighting +syntax "php" "\.php[2345s~]?$" +color white start="<\?(php|=)?" end="\?>" +# Functions +color brightblue "([a-zA-Z0-9_-]*)\(" +# Constructs +color brightblue "(class|extends|goto) ([a-zA-Z0-9_]*)" +color green "[^a-z0-9_-]{1}(var|class|function|echo|case|break|default|exit|switch|if|else|elseif|endif|foreach|endforeach|@|while|public|private|protected|returtrue|false|null|TRUE|FALSE|NULL|const|static|extends|as|array|require|include|require_once|include_once|define|do|continue|declare|goto|print|in)[^a-z0-9_-]{1}" +color brightblue "[a-zA-Z0-9]+:" +# Variables +color white "\$[a-zA-Z_0-9$]*|[=!<>]" +color white "\->[a-zA-Z_0-9$]*|[=!<>]" +# Special Characters +color yellow "[.,{}();]" +color yellow "\[" +color yellow "\]" +color yellow "[=][^>]" +# Numbers +color magenta "[+-]*([0-9]\.)*[0-9]+([eE][+-]?([0-9]\.)*[0-9])*" +color magenta "0x[0-9a-zA-Z]*" +# Special Variables +color brightblue "(\$this|parent::|self::|\$this-\>)" +# Bitwise Operations +color magenta "(\;|\||\^){1}" +# And/Or/SRO/etc +color green "(\;\;|\|\||::|=>|->)" +# Online Comments +color brightyellow "(#.*|//.*)$" +# STRINGS! +color red "('[^']*?')|(\"[^\"]*?\")" +# Inline Variables +color white "\{\$[^}]*\}" +# PHP Tags +color red "(<\?(php)?|\?>)" +# General HTML +color red start="\?>" end="<\?(php|=)?" +# trailing whitespace +color ,green "[^[:space:]]{1}[[:space:]]+$" +# multi-line comments +color brightyellow start="/\*" end="\*/"