|
|
|
|
# JOE syntax highlight file for PHP
|
|
|
|
|
# modified by Eric Lin
|
|
|
|
|
|
|
|
|
|
# TODO:
|
|
|
|
|
# * heredoc support (as good as possible)
|
|
|
|
|
# * highlight function and class names?
|
|
|
|
|
|
|
|
|
|
# Define no. sync lines
|
|
|
|
|
# You can say:
|
|
|
|
|
# -200 means 200 lines
|
|
|
|
|
# - means always start parsing from beginning of file when we lose sync
|
|
|
|
|
# if nothing is specified, the default is -50
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
|
|
|
# Define colors
|
|
|
|
|
|
|
|
|
|
=Idle
|
|
|
|
|
=Comment green
|
|
|
|
|
=Constant cyan
|
|
|
|
|
=Constant_sq blue
|
|
|
|
|
=Escape bold cyan
|
|
|
|
|
=Keyword bold
|
|
|
|
|
=Var red
|
|
|
|
|
=Methods bold
|
|
|
|
|
|
|
|
|
|
# Call HTML highlighter. It will call the PHP highlighter subroutine in this file.
|
|
|
|
|
|
|
|
|
|
:begin Idle
|
|
|
|
|
* call_failed noeat call=html.html(php)
|
|
|
|
|
|
|
|
|
|
:call_failed Var
|
|
|
|
|
* call_failed
|
|
|
|
|
|
|
|
|
|
# PHP highlighter.
|
|
|
|
|
|
|
|
|
|
.subr php
|
|
|
|
|
|
|
|
|
|
:idle Idle
|
|
|
|
|
* idle
|
|
|
|
|
"<" idle_done
|
|
|
|
|
"?" idle_qmark
|
|
|
|
|
"%" idle_hash
|
|
|
|
|
"#" sh_comment recolor=-1
|
|
|
|
|
"/" slash
|
|
|
|
|
"0-9" first_digit recolor=-1
|
|
|
|
|
"'" string_sq recolor=-1
|
|
|
|
|
"\"" string_dq recolor=-1
|
|
|
|
|
"\`" string_bq recolor=-1
|
|
|
|
|
"a-zA-Z_" ident buffer
|
|
|
|
|
"$" php_var recolor=-1
|
|
|
|
|
"-" maybe_method
|
|
|
|
|
"{}" brace recolor=-1
|
|
|
|
|
|
|
|
|
|
:idle_done Idle
|
|
|
|
|
* idle noeat
|
|
|
|
|
"/" idle noeat recolor=-2 return
|
|
|
|
|
"<" idle_here
|
|
|
|
|
|
|
|
|
|
:idle_here Idle
|
|
|
|
|
* idle noeat
|
|
|
|
|
"<" here_doc
|
|
|
|
|
|
|
|
|
|
:here_doc Idle
|
|
|
|
|
* idle noeat
|
|
|
|
|
" " here_doc
|
|
|
|
|
"A-Za-z_" here_name buffer
|
|
|
|
|
|
|
|
|
|
:here_name Idle
|
|
|
|
|
* inhere_doc save_s
|
|
|
|
|
"A-Za-z_0-9" here_name
|
|
|
|
|
|
|
|
|
|
:inhere_doc Constant
|
|
|
|
|
* inhere_not_eol
|
|
|
|
|
"\n" inhere_doc
|
|
|
|
|
"A-Za-z_" inhere_name buffer
|
|
|
|
|
|
|
|
|
|
:inhere_not_eol Constant
|
|
|
|
|
* inhere_not_eol
|
|
|
|
|
"\n" inhere_doc
|
|
|
|
|
|
|
|
|
|
:inhere_name Constant
|
|
|
|
|
* inhere_doc
|
|
|
|
|
";" inhere_doc strings
|
|
|
|
|
"&" idle
|
|
|
|
|
done
|
|
|
|
|
"A-Za-z_0-9" inhere_name
|
|
|
|
|
|
|
|
|
|
:brace Methods
|
|
|
|
|
* idle noeat
|
|
|
|
|
|
|
|
|
|
:php_var Var
|
|
|
|
|
* idle noeat
|
|
|
|
|
"a-zA-Z_0-9-<EFBFBD>" php_var
|
|
|
|
|
|
|
|
|
|
:var_indqstring Var
|
|
|
|
|
* string_dq recolor=-1
|
|
|
|
|
"a-zA-Z_" var_indqstring
|
|
|
|
|
"\"" string_dq noeat
|
|
|
|
|
"\\" string_dq_esc recolor=-1
|
|
|
|
|
|
|
|
|
|
:var_inbqstring Var
|
|
|
|
|
* string_bq recolor=-1
|
|
|
|
|
"a-zA-Z_" var_inbqstring
|
|
|
|
|
"\`" string_sq noeat
|
|
|
|
|
"\\" string_bq_esc recolor=-1
|
|
|
|
|
|
|
|
|
|
:maybe_method Methods
|
|
|
|
|
* idle recolor=-1
|
|
|
|
|
"?" idle_qmark
|
|
|
|
|
"%" idle_hash
|
|
|
|
|
"#" sh_comment recolor=-1
|
|
|
|
|
"/" slash
|
|
|
|
|
"0-9" first_digit recolor=-1
|
|
|
|
|
"'" string_sq recolor=-1
|
|
|
|
|
"\"" string_dq recolor=-1
|
|
|
|
|
"a-zA-Z_" ident buffer
|
|
|
|
|
"$" php_var recolor=-1
|
|
|
|
|
"{}" brace recolor=-1
|
|
|
|
|
">" method recolor=-2
|
|
|
|
|
|
|
|
|
|
:method Methods
|
|
|
|
|
* idle recolor=-1
|
|
|
|
|
"a-zA-Z_" method recolor=-1
|
|
|
|
|
|
|
|
|
|
:idle_qmark Idle
|
|
|
|
|
* idle noeat
|
|
|
|
|
">" idle recolor=-2 return
|
|
|
|
|
|
|
|
|
|
:idle_hash Idle
|
|
|
|
|
* idle noeat
|
|
|
|
|
">" idle recolor=-2 return
|
|
|
|
|
|
|
|
|
|
:sh_comment Comment
|
|
|
|
|
* sh_comment
|
|
|
|
|
"\n" idle
|
|
|
|
|
|
|
|
|
|
:slash Idle
|
|
|
|
|
* idle noeat
|
|
|
|
|
"*" comment recolor=-2
|
|
|
|
|
"/" line_comment recolor=-2
|
|
|
|
|
|
|
|
|
|
:comment Comment
|
|
|
|
|
* comment
|
|
|
|
|
"*" maybe_end_comment
|
|
|
|
|
|
|
|
|
|
:maybe_end_comment Comment
|
|
|
|
|
* comment
|
|
|
|
|
"/" idle
|
|
|
|
|
"*" maybe_end_comment
|
|
|
|
|
|
|
|
|
|
:line_comment Comment
|
|
|
|
|
* line_comment
|
|
|
|
|
"\n" idle
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
:string_sq Constant_sq
|
|
|
|
|
* string_sq
|
|
|
|
|
"\'" idle
|
|
|
|
|
"\\" string_sq_esc recolor=-1
|
|
|
|
|
|
|
|
|
|
:string_sq_esc Escape
|
|
|
|
|
* string_sq
|
|
|
|
|
"\n" string_sq recolor=-2
|
|
|
|
|
|
|
|
|
|
:string_dq Constant
|
|
|
|
|
* string_dq
|
|
|
|
|
"$" var_indqstring recolor=-1
|
|
|
|
|
"\"" idle
|
|
|
|
|
"\\" string_dq_esc recolor=-1
|
|
|
|
|
|
|
|
|
|
:string_dq_esc Escape
|
|
|
|
|
* string_dq
|
|
|
|
|
"\n" string_dq recolor=-2
|
|
|
|
|
|
|
|
|
|
:string_bq Constant
|
|
|
|
|
* string_bq
|
|
|
|
|
"$" var_inbqstring recolor=-1
|
|
|
|
|
"\`" idle
|
|
|
|
|
"\\" string_bq_esc recolor=-1
|
|
|
|
|
|
|
|
|
|
:string_bq_esc Escape
|
|
|
|
|
* string_bq
|
|
|
|
|
"\n" string_bq recolor=-2
|
|
|
|
|
|
|
|
|
|
:first_digit Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"xX" hex
|
|
|
|
|
"." float
|
|
|
|
|
"0" octal
|
|
|
|
|
"1-9" first_number
|
|
|
|
|
|
|
|
|
|
:octal Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"0-7" octal
|
|
|
|
|
|
|
|
|
|
:hex Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"0-9A-Fa-f" hex
|
|
|
|
|
|
|
|
|
|
:first_number Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"0-9" first_number
|
|
|
|
|
"." float
|
|
|
|
|
|
|
|
|
|
:maybe_float Constant
|
|
|
|
|
* idle recolor=-2 noeat
|
|
|
|
|
"0-9" float recolor=-2
|
|
|
|
|
|
|
|
|
|
:float Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"eE" epart
|
|
|
|
|
"0-9" float
|
|
|
|
|
|
|
|
|
|
:epart Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"0-9+\-" enum
|
|
|
|
|
|
|
|
|
|
:enum Constant
|
|
|
|
|
* idle noeat
|
|
|
|
|
"0-9" enum
|
|
|
|
|
|
|
|
|
|
:ident Idle
|
|
|
|
|
* idle noeat strings
|
|
|
|
|
"addslashes" meth
|
|
|
|
|
"array" meth
|
|
|
|
|
"array_keys" meth
|
|
|
|
|
"count" meth
|
|
|
|
|
"date" meth
|
|
|
|
|
"chr" meth
|
|
|
|
|
"empty" meth
|
|
|
|
|
"end" meth
|
|
|
|
|
"header" meth
|
|
|
|
|
"highlight_file" meth
|
|
|
|
|
"htmlspecialchars" meth
|
|
|
|
|
"isset" meth
|
|
|
|
|
"shuffle" meth
|
|
|
|
|
"strip_tags" meth
|
|
|
|
|
"strlen" meth
|
|
|
|
|
"strpos" meth
|
|
|
|
|
"strrpos" meth
|
|
|
|
|
"substr" meth
|
|
|
|
|
"trim" meth
|
|
|
|
|
"and" kw
|
|
|
|
|
"as" kw
|
|
|
|
|
"break" kw
|
|
|
|
|
"case" kw
|
|
|
|
|
"class" kw
|
|
|
|
|
"continue" kw
|
|
|
|
|
"declare" kw
|
|
|
|
|
"default" kw
|
|
|
|
|
"die" kw
|
|
|
|
|
"do" kw
|
|
|
|
|
"echo" kw
|
|
|
|
|
"else" kw
|
|
|
|
|
"elseif" kw
|
|
|
|
|
"eval" kw
|
|
|
|
|
"exception" kw
|
|
|
|
|
"exit" kw
|
|
|
|
|
"extends" kw
|
|
|
|
|
"for" kw
|
|
|
|
|
"foreach" kw
|
|
|
|
|
"function" kw
|
|
|
|
|
"global" kw
|
|
|
|
|
"if" kw
|
|
|
|
|
"include" kw
|
|
|
|
|
"include_once" kw
|
|
|
|
|
"list" kw
|
|
|
|
|
"new" kw
|
|
|
|
|
"or" kw
|
|
|
|
|
"print" kw
|
|
|
|
|
"private" kw
|
|
|
|
|
"public" kw
|
|
|
|
|
"require" kw
|
|
|
|
|
"require_once" kw
|
|
|
|
|
"return" kw
|
|
|
|
|
"static" kw
|
|
|
|
|
"switch" kw
|
|
|
|
|
"unset" kw
|
|
|
|
|
"while" kw
|
|
|
|
|
done
|
|
|
|
|
"a-zA-Z0-9_" ident
|
|
|
|
|
|
|
|
|
|
:kw Keyword
|
|
|
|
|
* idle noeat
|
|
|
|
|
|
|
|
|
|
:meth Methods
|
|
|
|
|
* idle noeat
|
|
|
|
|
|
|
|
|
|
:var Var
|
|
|
|
|
* mark noeat
|
|
|
|
|
|
|
|
|
|
.end
|