XhmikosR / notepad2-mod

LOOKING FOR DEVELOPERS - Notepad2-mod, a Notepad2 fork, a fast and light-weight Notepad-like text editor with syntax highlighting

Home Page:https://xhmikosr.github.io/notepad2-mod/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"short" is not a javascript keyword

opened this issue · comments

seen here

notepad2-mod/src/Styles.c

Lines 616 to 622 in 30364fb

KEYWORDLIST KeyWords_JS = {
"abstract boolean break byte case catch char class const continue debugger default delete do "
"double else enum export extends false final finally float for function goto if implements "
"import in instanceof int interface let long native new null package private protected public "
"return short static super switch synchronized this throw throws transient true try typeof var "
"void volatile while with",
"", "", "", "", "", "", "", "" };

here is a sane list:

https://github.com/zufuliu/notepad2/blob/efe02fd4f532ba6159defcc1be54694d1ccdb68b/src/EditLexers/stlJavaScript.c#L8-L10

short was a future reserved word in EcmaScript version 3 and so were int, byte, char, goto, long, final, float, short, double, native, throws, boolean, abstract, volatile, transient, and synchronized. So it may be a good idea to mantain them...

(https://www-archive.mozilla.org/js/language/E262-3.pdf)

@rsvargas current EcmaScript doesnt define it, so it may be a bad idea to maintain it:

short
ReferenceError: short is not defined [Learn More]

Many of these reserved words are abandoned in ECMAScript 4 and above, they are just Java keywords or reserved words, and most modern browsers/clients supports at least ECMAScript 5 (2009), most developers write scripts target this version and above, that's why they are commented out in line 16:

// ECMAScript 1 till 3
//"abstract boolean byte char double final float goto int long native short synchronized throws transient volatile "

@zufuliu you should clarify that they are commented out with your version, not this one - cheers