from_vrml = 0;
state javascript_string extends Highlight
{
/\\\\./ {
language_print ($0);
}
/[\']/ {
language_print ($0);
return;
}
}
state javascript_internal extends Highlight
{
/\/\*/ {
comment_face (true);
language_print ($0);
call (c_comment);
comment_face (false);
}
/\/\// {
comment_face (true);
language_print ($0);
call (eat_one_line);
comment_face (false);
}
/\"/ {
if (from_vrml)
{
reference_face (true);
language_print ($0);
reference_face (false);
return;
}
string_face (true);
language_print ($0);
call (c_string);
string_face (false);
}
/[\']/ {
string_face (true);
language_print ($0);
call (javascript_string);
string_face (false);
}
/\b(function)([ \t]+)([A-Za-z\$_][A-Za-z\$_0-9]*)([ \t]*\()/ {
keyword_face (true);
language_print ($1);
keyword_face (false);
language_print ($2);
function_name_face (true);
language_print ($3);
function_name_face (false);
language_print ($4);
}
/\b(abstract|b(oolean|reak|yte)|c(a(se|tch)|har|lass|on(st|tinue))\
|d(efault|o(|uble))|e(lse|xtends)|f(alse|inal(|ly)|loat|or|unction)\
|goto|i(f|mp(lements|ort)|n(|stanceof|t(|erface)))|long\
|n(ative|ew|ull)|p(ackage|r(ivate|otected)|ublic)|return\
|s(hort|tatic|uper|witch|ynchronized)|t(h(is|row(|s))|r(ansient|ue|y))\
|v(ar|oid)|w(hile|ith))\b/ {
keyword_face (true);
language_print ($0);
keyword_face (false);
}
/\b(Date|Math|eval|parse(Float|Int))\b/ {
builtin_face (true);
language_print ($0);
builtin_face (false);
}
/<\/[sS][cC][rR][iI][pP][tT]>/ {
from_html_terminator = $0;
return;
}
}
state javascript extends HighlightEntry
{
BEGIN {
call (javascript_internal);
return;
}
}