CoffeeScript
- BUG: 394365
Bug: Member objects are not highlighted. For example, when writing timelineEvent.class, class is highlighted as a Keyword, which sends a new context (in the example image, tl is highlighted as the class name and all the code after -overdue" is string). class should be highlighted as an Identifier, not as a keyword.
Solution: Add a rule to detect identifiers of the type: iden1.iden2.iden3. The first word after a "." is highlighted as an identifier. However, the first word before a "." can be a keyword (like the keyword list: "globals"). (As a comparison, in Brackets & VS Code, the text after "." is highlighted differently).
JavaScript
- BUG: 366797
Bug: When writing member objects (iten1.iden2.iden3), all identifiers and spaces after "." are highlighted with the "Object Member" attribute. For example, then property, instanceof & Number are highlighted as "Object Member".
Solution: Only the first word after . is highlighted as Object member.
- Fix small bug: Multiple lines are highlighted as Shebang, which is an error, since only the first line is considered Shebang.
Example:
Others:
- CoffeeScript: Add mimetype application/vnd.coffeescript: http://dcjtech.info/topic/coffeescript-mimetype/
- JavaScript: Add extension *.ts of TypeScript. TypeScript is a superset of JavaScript, therefore, the syntax highlighting is the same, except for some features that aren't in the JavaScript highlighter. Therefore, this may be temporary as long as there isn't a TypeScript highlighting file.
- [UPDATE] JavaScript: Add unicode escape \u{1234\}:
- ECMAScript 2015 Language Specification. 11.8.4 String Literals: https://ecma-international.org/ecma-262/6.0/#sec-literals-string-literals
- JavaScript character escape sequences. ECMAScript 6: Unicode code point escapes: https://mathiasbynens.be/notes/javascript-escapes#unicode-code-point
I also added a test file for CoffeeScript.