mirror of
https://github.com/cmur2/joe-syntax.git
synced 2024-11-18 20:56:17 +01:00
294 lines
4.5 KiB
Plaintext
294 lines
4.5 KiB
Plaintext
# 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-ÿ" 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
|