The JavaScript.tmLanguage seems to have inaccurate results for the following string, though it is legal javascript:
var pl=/^\'(?:^\']|\'\')*\'/, /^(?:G+|y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|m+|s+|v+|z+|Z+)/, /^^\'GyMkSEahKHcLQdmsvzZ]+/]; function ql(a){return a}
When we break it up onto different lines, it works fine.
var pl=
/^\'(?:^\']|\'\')*\'/,
/^(?:G+|y+|M+|k+|S+|E+|a+|h+|K+|H+|c+|L+|Q+|d+|m+|s+|v+|z+|Z+)/,
/^^\'GyMkSEahKHcLQdmsvzZ]+/]; function ql(a){return a}
Looks like there’s an inaccurate lookbehind I don’t fully understand in the JavaScript.tmLanguage…
<string>(?<==(:]|^|return|&&|\|\||!)\s*(/)(?!/*+{}?])</string>