📄 html.jsf.in
字号:
# JOE syntax highlight file for HTML## Note:# * <script>..</script> and <style>..</style># blocks are assumed to be html-encoded, not raw.# To make them raw, you should enclose them within <!-- -->.## * "#" and "+" are lited as mistakes in unquoted tag values,# although there exist (broken) programs that generate them.# # * Recognizes html-entities and lites mistakes in them.## * SGML comments are parsed in the SGML way. This means there# must be an even amount of "--" markers within the tag.## * Recognizes 1018 different named entities. The list has been# copied from some version of Lynx. Most browsers don't recognize# that many.## Todo:# * tag name recognition# * tag parameter name recognition# * inline stylesheet and javascript highlighting# (hard to do fool-proof, because the value may be entity-encoded).## Colours=Background=Text=TagEdge green=TagName cyan=TagParam green=TagDelim bold green=TagValue cyan=TagEntity bold blue=SGMLtag magenta=XML_pi yellow=Entity bold blue=Mystery bold yellow bg_red inverse# Call HTML highlighter subroutine:first Background * call_failed noeat call=.html():call_failed Mystery * call_failed## HTML highlighter as a subroutine#.subr html:reset Background * idle noeat.ifdef mason "%" reset call=perl.perl(mason_line).endif# Rules:idle Background * idle "\n" reset "<" tag_begin recolor=-1 "&" idle call=.entity() recolor=-1:mistake_idle Mystery * idle noeat# Tags:tag_begin TagEdge * tag_name_first buffer noeat recolor=-1 "/" tag_name_first buffer.ifdef mason "&" rtn_php call=perl.perl(mason_block).endif "!" sgml_tag recolor=-2.ifdef php "?%" rtn_php call=php.php().else "?" xml_pi recolor=-2.endif# this state allows php and perl to recolor the ?> %> or &> properly.:rtn_php TagEdge * idle noeat:tag_name_first Mystery * tag_idle noeat "-A-Za-z0-9._:" tag_name recolor=-1:tag_name TagName * tag_idle noeat strings "script" stag_enter_idle "style" ytag_enter_idledone "-A-Za-z0-9._:" tag_name:tag_idle Background * mistake_tag recolor=-1 " \t
\n" tag_idle "/" tag_end recolor=-1 ">" tag_end noeat recolor=-1 "-A-Za-z0-9._:" tag_param noeat recolor=-1:tag_param TagParam * tag_idle noeat recolor=-1 "-A-Za-z0-9._:" tag_param "=" tag_delim recolor=-1:tag_delim TagDelim * mistake_tag noeat recolor=-1 "\"" tag_idle call=.tag_value_quoted(dquote) recolor=-1 "'" tag_idle call=.tag_value_quoted(squote) recolor=-1 "-A-Za-z0-9._:" tag_value noeat recolor=-1:tag_value TagValue * tag_idle noeat recolor=-1 "-A-Za-z0-9._:" tag_value:tag_end TagEdge * idle:mistake_tag Mystery * tag_idle noeat# We're about to entry a script...:stag_enter_idle TagName * stag_idle noeat:stag_idle Background * smistake_tag recolor=-1 " \t
\n" stag_idle "/" stag_end recolor=-1 ">" stag_end noeat recolor=-1 "-A-Za-z0-9._:" stag_param noeat recolor=-1:stag_param TagParam * stag_idle noeat recolor=-1 "-A-Za-z0-9._:" stag_param "=" stag_delim recolor=-1:stag_delim TagDelim * smistake_tag noeat recolor=-1 "\"" stag_idle call=.tag_value_quoted(dquote) recolor=-1 "'" stag_idle call=.tag_value_quoted(squote) recolor=-1 "-A-Za-z0-9._:" stag_value noeat recolor=-1:stag_value TagValue * stag_idle noeat recolor=-1 "-A-Za-z0-9._:" stag_value:stag_end TagEdge.ifdef php * tag_begin call=php.php(script).else * tag_begin call=java.java(script).endif:stag_done TagEdge * tag_name_first buffer noeat:smistake_tag Mystery * stag_idle noeat# We're about to entry a script...:ytag_enter_idle TagName * ytag_idle noeat:ytag_idle Background * ymistake_tag recolor=-1 " \t
\n" ytag_idle "/" ytag_end recolor=-1 ">" ytag_end noeat recolor=-1 "-A-Za-z0-9._:" ytag_param noeat recolor=-1:ytag_param TagParam * ytag_idle noeat recolor=-1 "-A-Za-z0-9._:" ytag_param "=" ytag_delim recolor=-1:ytag_delim TagDelim * ymistake_tag noeat recolor=-1 "\"" ytag_idle call=.tag_value_quoted(dquote) recolor=-1 "'" ytag_idle call=.tag_value_quoted(squote) recolor=-1 "-A-Za-z0-9._:" ytag_value noeat recolor=-1:ytag_value TagValue * ytag_idle noeat recolor=-1 "-A-Za-z0-9._:" ytag_value:ytag_end TagEdge * tag_begin call=css.css():ytag_done TagEdge * tag_name_first buffer noeat:ymistake_tag Mystery * ytag_idle noeat# SGML and comments:sgml_tag SGMLtag * sgml_tag "-" sgml_tag_maybe_comment ">" sgml_end noeat recolor=-1:sgml_tag_maybe_comment SGMLtag * sgml_tag "-" sgml_tag_comment:sgml_tag_comment SGMLtag * sgml_tag_comment "-" sgml_tag_maybe_comment_end:sgml_tag_maybe_comment_end SGMLtag * sgml_tag_comment "-" sgml_tag:sgml_end SGMLtag * idle# XML processing info:xml_pi XML_pi * xml_pi "?" xml_pi_maybe_end:xml_pi_maybe_end XML_pi * xml_pi "?" xml_pi_maybe_end ">" xml_pi_end noeat recolor=-1:xml_pi_end XML_pi * idle.end## Quoted string tag values#.subr tag_value_quoted:tag_value_quoted TagValue * tag_value_quoted.ifdef dquote "\"" tag_value_quoted return.endif.ifdef squote "'" tag_value_quoted return.endif "&" tag_value_quoted call=.entity() recolor=-1:mistake_tag_value Mystery * tag_value_quoted noeat.end## Entity parser#.subr entity# Entities within plain content:entity Entity * entity_name noeat buffer recolor=-1 "#" entity_numeric_begin:entity_numeric_begin Entity * entity_numeric noeat "x" entity_hex:entity_numeric Entity * mistake_idle noeat recolor=-1 "0-9" entity_numeric ";" entity_end noeat recolor=-1:entity_hex Entity * mistake_idle noeat recolor=-1 "0-9a-fA-F" entity_hex ";" entity_end noeat recolor=-1:entity_end Entity * entity return:entity_name Mystery * mistake_idle noeat recolor=-1 strings "AElig" entity_ok "Aacgr" entity_ok "Aacute" entity_ok "Abreve" entity_ok "Acirc" entity_ok "Acy" entity_ok "Agr" entity_ok "Agrave" entity_ok "Alpha" entity_ok "Amacr" entity_ok "Aogon" entity_ok "Aring" entity_ok "Atilde" entity_ok "Auml" entity_ok "Barwed" entity_ok "Bcy" entity_ok "Beta" entity_ok "Bgr" entity_ok "CHcy" entity_ok "Cacute" entity_ok "Cap" entity_ok "Ccaron" entity_ok "Ccedil" entity_ok "Ccirc" entity_ok "Cdot" entity_ok "Chi" entity_ok "Cup" entity_ok "DJcy" entity_ok "DScy" entity_ok "DZcy" entity_ok "Dagger" entity_ok "Dcaron" entity_ok "Dcy" entity_ok "Delta" entity_ok "Dgr" entity_ok "Dot" entity_ok "DotDot" entity_ok "Dstrok" entity_ok "EEacgr" entity_ok "EEgr" entity_ok "ENG" entity_ok "ETH" entity_ok "Eacgr" entity_ok "Eacute" entity_ok "Ecaron" entity_ok "Ecirc" entity_ok "Ecy" entity_ok "Edot" entity_ok "Egr" entity_ok "Egrave" entity_ok "Emacr" entity_ok "Eogon" entity_ok "Epsilon" entity_ok "Eta" entity_ok "Euml" entity_ok "Fcy" entity_ok "GJcy" entity_ok "Gamma" entity_ok "Gbreve" entity_ok "Gcedil" entity_ok "Gcirc" entity_ok "Gcy" entity_ok "Gdot" entity_ok "Gg" entity_ok "Ggr" entity_ok "Gt" entity_ok "HARDcy" entity_ok "Hcirc" entity_ok "Hstrok" entity_ok "IEcy" entity_ok "IJlig" entity_ok "IOcy" entity_ok "Iacgr" entity_ok "Iacute" entity_ok "Icirc" entity_ok "Icy" entity_ok "Idigr" entity_ok "Idot" entity_ok "Igr" entity_ok "Igrave" entity_ok "Imacr" entity_ok "Iogon" entity_ok "Iota" entity_ok "Itilde" entity_ok "Iukcy" entity_ok "Iuml" entity_ok "Jcirc" entity_ok "Jcy" entity_ok "Jsercy" entity_ok "Jukcy" entity_ok "KHcy" entity_ok "KHgr" entity_ok "KJcy" entity_ok "Kappa" entity_ok "Kcedil" entity_ok "Kcy" entity_ok "Kgr" entity_ok "LJcy" entity_ok "Lacute" entity_ok "Lambda" entity_ok "Larr" entity_ok "Lcaron" entity_ok "Lcedil" entity_ok "Lcy" entity_ok "Lgr" entity_ok "Ll" entity_ok "Lmidot" entity_ok "Lstrok" entity_ok "Lt" entity_ok "Mcy" entity_ok "Mgr" entity_ok "Mu" entity_ok "NJcy" entity_ok "Nacute" entity_ok "Ncaron" entity_ok "Ncedil" entity_ok "Ncy" entity_ok "Ngr" entity_ok "Ntilde" entity_ok "Nu" entity_ok "OElig" entity_ok "OHacgr" entity_ok "OHgr" entity_ok "Oacgr" entity_ok "Oacute" entity_ok "Ocirc" entity_ok "Ocy" entity_ok "Odblac" entity_ok "Ogr" entity_ok "Ograve" entity_ok "Omacr" entity_ok "Omega" entity_ok "Omicron" entity_ok "Oslash" entity_ok "Otilde" entity_ok "Ouml" entity_ok "PHgr" entity_ok "PSgr" entity_ok "Pcy" entity_ok "Pgr" entity_ok "Phi" entity_ok "Pi" entity_ok "Prime" entity_ok "Psi" entity_ok "Racute" entity_ok "Rarr" entity_ok "Rcaron" entity_ok "Rcedil" entity_ok "Rcy" entity_ok "Rgr" entity_ok "Rho" entity_ok "SHCHcy" entity_ok "SHcy" entity_ok "SOFTcy" entity_ok "Sacute" entity_ok "Scaron" entity_ok "Scedil" entity_ok "Scirc" entity_ok "Scy" entity_ok "Sgr" entity_ok "Sigma" entity_ok "Sub" entity_ok "Sup" entity_ok "THORN" entity_ok "THgr" entity_ok "TSHcy" entity_ok "TScy" entity_ok "Tau" entity_ok "Tcaron" entity_ok "Tcedil" entity_ok "Tcy" entity_ok "Tgr" entity_ok "Theta" entity_ok "Tstrok" entity_ok "Uacgr" entity_ok "Uacute" entity_ok "Ubrcy" entity_ok "Ubreve" entity_ok "Ucirc" entity_ok "Ucy" entity_ok "Udblac" entity_ok "Udigr" entity_ok "Ugr" entity_ok "Ugrave" entity_ok "Umacr" entity_ok "Uogon" entity_ok "Upsi" entity_ok "Upsilon" entity_ok "Uring" entity_ok "Utilde" entity_ok "Uuml" entity_ok "Vcy" entity_ok "Vdash" entity_ok "Verbar" entity_ok "Vvdash" entity_ok "Wcirc" entity_ok "Xgr" entity_ok "Xi" entity_ok "YAcy" entity_ok "YIcy" entity_ok "YUcy" entity_ok "Yacute" entity_ok "Ycirc" entity_ok "Ycy" entity_ok "Yuml" entity_ok "ZHcy" entity_ok "Zacute" entity_ok "Zcaron" entity_ok "Zcy" entity_ok "Zdot" entity_ok "Zeta" entity_ok "Zgr" entity_ok "aacgr" entity_ok "aacute" entity_ok "abreve" entity_ok "acirc" entity_ok "acute" entity_ok "acy" entity_ok "aelig" entity_ok "agr" entity_ok "agrave" entity_ok "alefsym" entity_ok "aleph" entity_ok "alpha" entity_ok "amacr" entity_ok "amalg" entity_ok "amp" entity_ok "and" entity_ok "ang" entity_ok "ang90" entity_ok "angmsd" entity_ok "angsph" entity_ok "angst" entity_ok "aogon" entity_ok "ap" entity_ok "ape" entity_ok "apos" entity_ok "aring" entity_ok "ast" entity_ok "asymp" entity_ok "atilde" entity_ok "auml" entity_ok "b.Delta" entity_ok "b.Gamma" entity_ok "b.Lambda" entity_ok "b.Omega" entity_ok "b.Phi" entity_ok "b.Pi" entity_ok "b.Psi" entity_ok "b.Sigma" entity_ok "b.Theta" entity_ok "b.Upsi" entity_ok "b.Xi" entity_ok "b.alpha" entity_ok "b.beta" entity_ok "b.chi" entity_ok "b.delta" entity_ok "b.epsi" entity_ok "b.epsis" entity_ok "b.epsiv" entity_ok "b.eta" entity_ok "b.gamma" entity_ok "b.gammad" entity_ok "b.iota" entity_ok "b.kappa" entity_ok "b.kappav" entity_ok "b.lambda" entity_ok "b.mu" entity_ok "b.nu" entity_ok "b.omega" entity_ok "b.phis" entity_ok "b.phiv" entity_ok "b.pi" entity_ok "b.piv" entity_ok "b.psi" entity_ok "b.rho" entity_ok "b.rhov" entity_ok "b.sigma" entity_ok "b.sigmav" entity_ok "b.tau" entity_ok "b.thetas" entity_ok "b.thetav" entity_ok "b.upsi" entity_ok "b.xi" entity_ok "b.zeta" entity_ok "barwed" entity_ok "bcong" entity_ok "bcy" entity_ok "bdquo" entity_ok "becaus" entity_ok "bepsi" entity_ok "bernou" entity_ok "beta" entity_ok "beth" entity_ok "bgr" entity_ok "blank" entity_ok "blk12" entity_ok "blk14" entity_ok "blk34" entity_ok "block" entity_ok "bottom" entity_ok "bowtie" entity_ok "boxDL" entity_ok "boxDR" entity_ok "boxDl" entity_ok "boxDr" entity_ok "boxH" entity_ok "boxHD" entity_ok "boxHU" entity_ok "boxHd" entity_ok "boxHu" entity_ok "boxUL" entity_ok "boxUR" entity_ok "boxUl" entity_ok "boxUr" entity_ok "boxV" entity_ok "boxVH" entity_ok "boxVL" entity_ok "boxVR" entity_ok "boxVh" entity_ok "boxVl" entity_ok "boxVr" entity_ok "boxdL" entity_ok "boxdR" entity_ok "boxdl" entity_ok "boxdr" entity_ok "boxh" entity_ok "boxhD" entity_ok "boxhU" entity_ok "boxhd" entity_ok "boxhu" entity_ok "boxuL" entity_ok "boxuR" entity_ok "boxul" entity_ok "boxur" entity_ok "boxv" entity_ok "boxvH" entity_ok "boxvL" entity_ok "boxvR" entity_ok "boxvh" entity_ok "boxvl" entity_ok "boxvr" entity_ok "bprime" entity_ok "breve" entity_ok "brkbar" entity_ok "brvbar" entity_ok "bsim" entity_ok "bsime" entity_ok "bsol" entity_ok "bull" entity_ok "bump" entity_ok "bumpe" entity_ok "cacute" entity_ok "cap" entity_ok "caret" entity_ok "caron" entity_ok "ccaron" entity_ok "ccedil" entity_ok "ccirc" entity_ok "cdot" entity_ok "cedil" entity_ok "cent" entity_ok "chcy" entity_ok "check" entity_ok "chi" entity_ok "cir" entity_ok "circ" entity_ok "cire" entity_ok "clubs" entity_ok "colon" entity_ok "colone" entity_ok "comma" entity_ok "commat" entity_ok "comp" entity_ok "compfn" entity_ok
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -