Сделал 2 варианта файлов подсветки JavaScript: ECMAScript 3 для скриптов AkelPad, Windows Script Host и каких-старых браузерных, а ECMAScript 6 для новых браузерных и прочих скриптов. Если оставить только ES6, то новые ключевые слова и методы будут мешать при написании первых. Но в html.coder стоит подключать ES6.
Меню выбора синтаксиса у меня оформлено так:

(именно "JavaScript", т.к. это общее название языка, тогда как "JScript" - его определенной реализации или диалекта)
Исправления:
- Предотвращение выделения свойств объекта (после точки) как ключевых слов. Например, delete в выражении myObject.delete() выделялся как оператор.
- В группировочных комментариях секции Words:
- - Группа, содержащая true, false, null, undefined, NaN, Infinity именовалась "Types", хотя это не типы, а значения (за исключением null и undefined, которые действительно представлены отдельными типами, но все же и они выражают особые значения).
- - Группа "Common properties" содержала как свойство length (которое есть и у строк, и у массивов), так и методы объекта Object.
Стандартные свойства для ES3:
+ prototype
+ constructor
ES5:
+ Ключевые слова get и set
ES6:
+ Поддержка строк в обратных кавычках.
+ Ключевые слова let и const
+ Оператор of для цикла for .. of
+ Ключевые слова для классов: class, extends, super, static
+ Объекты Symbol, Set и Map
Свойства и методы для ES6:
Code: Select all
;--Общие свойства--
; ES6
1 0 0 0 size
;--Общие методы--
; ES5
1 0 0 0 forEach
; ES6
1 0 0 0 entries
1 0 0 0 keys
1 0 0 0 values
1 0 0 0 has
1 0 0 0 clear
;--Объект Object--
; ES5
1 0 0 0 create
1 0 0 0 keys
1 0 0 0 getOwnPropertyNames
1 0 0 0 getOwnPropertyDescriptor
1 0 0 0 getOwnPropertyDescriptors
1 0 0 0 defineProperty
1 0 0 0 defineProperties
1 0 0 0 preventExtensions
1 0 0 0 seal
1 0 0 0 freeze
1 0 0 0 isExtensible
1 0 0 0 isSealed
1 0 0 0 isFrozen
; ES6
1 0 0 0 assign
1 0 0 0 getOwnPropertySymbols
;--Объект Math--
; ES6
1 0 0 0 sinh
1 0 0 0 cosh
1 0 0 0 tanh
1 0 0 0 asinh
1 0 0 0 acosh
1 0 0 0 atanh
1 0 0 0 hypot
1 0 0 0 log2
1 0 0 0 log10
1 0 0 0 log1p
1 0 0 0 expm1
1 0 0 0 cbrt
1 0 0 0 trunc
1 0 0 0 sign
;--Объект Number--
; ES6
1 0 0 0 EPSILON
1 0 0 0 MAX_SAFE_INTEGER
1 0 0 0 MIN_SAFE_INTEGER
1 0 0 0 isInteger
1 0 0 0 isSafeInteger
;--Объект String--
; ES5
1 0 0 0 trim
; ES6
1 0 0 0 startsWith
1 0 0 0 endsWith
1 0 0 0 includes
1 0 0 0 repeat
;--Объект Array--
; ES6
1 0 0 0 from
1 0 0 0 fill
1 0 0 0 find
1 0 0 0 findIndex
;--Объект Set (ES6) --
1 0 0 0 add
;--Объект Function--
; ES6
1 0 0 0 bind