From c828073691c7d14de852ffd15560c7559491d85d Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Mon, 29 Nov 2021 14:01:39 -0500 Subject: [PATCH 1/5] enh(js/ts) improve CLASS_REFERANCE, add TS keywords --- src/languages/javascript.js | 8 ++++++-- src/languages/typescript.js | 7 +++++-- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/languages/javascript.js b/src/languages/javascript.js index b09065dd85..122705b40c 100644 --- a/src/languages/javascript.js +++ b/src/languages/javascript.js @@ -290,10 +290,14 @@ export default function(hljs) { regex.either( // Hard coded exceptions /\bJSON/, - // Float32Array - /\b[A-Z][a-z]+([A-Z][a-z]+|\d)*/, + // Float32Array, OutT + /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/, // CSSFactory /\b[A-Z]{2,}([A-Z][a-z]+|\d)+/, + // FPs + /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*/, + // P + // single letters are not highlighted // BLAH // this will be flagged as a UPPER_CASE_CONSTANT instead ), diff --git a/src/languages/typescript.js b/src/languages/typescript.js index c63adc995c..9ec511a6d0 100644 --- a/src/languages/typescript.js +++ b/src/languages/typescript.js @@ -23,7 +23,8 @@ export default function(hljs) { "string", "object", "never", - "enum" + "enum", + "unknown" ]; const NAMESPACE = { beginKeywords: 'namespace', @@ -61,7 +62,9 @@ export default function(hljs) { "implements", "declare", "abstract", - "readonly" + "readonly", + "infer", + "keyof" ]; const KEYWORDS = { $pattern: ECMAScript.IDENT_RE, From a0a73a01c8a98b83a27324207861069d4f8efb84 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Mon, 6 Dec 2021 16:30:29 -0500 Subject: [PATCH 2/5] Update src/languages/typescript.js --- src/languages/typescript.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/languages/typescript.js b/src/languages/typescript.js index 9ec511a6d0..0c2f9af4d4 100644 --- a/src/languages/typescript.js +++ b/src/languages/typescript.js @@ -23,8 +23,7 @@ export default function(hljs) { "string", "object", "never", - "enum", - "unknown" + "enum" ]; const NAMESPACE = { beginKeywords: 'namespace', From 580be6a9514b6f614d7a3e164677f645a2865838 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Mon, 6 Dec 2021 16:30:47 -0500 Subject: [PATCH 3/5] Update src/languages/typescript.js --- src/languages/typescript.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/languages/typescript.js b/src/languages/typescript.js index 0c2f9af4d4..c63adc995c 100644 --- a/src/languages/typescript.js +++ b/src/languages/typescript.js @@ -61,9 +61,7 @@ export default function(hljs) { "implements", "declare", "abstract", - "readonly", - "infer", - "keyof" + "readonly" ]; const KEYWORDS = { $pattern: ECMAScript.IDENT_RE, From 989d262e739ae6b5801f23e22370c8602f79c444 Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Mon, 6 Dec 2021 19:01:08 -0500 Subject: [PATCH 4/5] changelog --- CHANGES.md | 1 + test/markup/javascript/class.expect.txt | 3 +++ test/markup/javascript/class.txt | 3 +++ 3 files changed, 7 insertions(+) diff --git a/CHANGES.md b/CHANGES.md index 5ca677923e..c9b61ae092 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,7 @@ Grammars: - fix(python) Fix recognition of numeric literals followed by keywords without whitespace (#2985) [Richard Gibson][] - enh(swift) add SE-0290 unavailability condition (#3382) [Bradley Mackey][] - enh(java) add `sealed` and `non-sealed` keywords (#3386) [Bradley Mackey][] +- enh(js/ts) improve `CLASS_REFERENCE` (#3411) [Josh Goebel][] - fix(clojure) Several issues with Clojure highlighting (#3397) [Björn Ebbinghaus][] - fix(clojure) `comment` macro catches more than it should (#3395) - fix(clojure) `$` in symbol breaks highlighting diff --git a/test/markup/javascript/class.expect.txt b/test/markup/javascript/class.expect.txt index 3ef253c364..2b981086ca 100644 --- a/test/markup/javascript/class.expect.txt +++ b/test/markup/javascript/class.expect.txt @@ -33,3 +33,6 @@ CSSParser Float32Array BigInt64Array +FPs +OutT +InT diff --git a/test/markup/javascript/class.txt b/test/markup/javascript/class.txt index bebfe77f90..ff1bfeeeff 100644 --- a/test/markup/javascript/class.txt +++ b/test/markup/javascript/class.txt @@ -33,3 +33,6 @@ SelfDrivingTruck CSSParser Float32Array BigInt64Array +FPs +OutT +InT From 425ab33761c1aad495195a5dd4bd171ddbd156ad Mon Sep 17 00:00:00 2001 From: Josh Goebel Date: Thu, 9 Dec 2021 11:00:30 -0500 Subject: [PATCH 5/5] fix edge cases --- src/languages/javascript.js | 8 ++++---- test/markup/javascript/class.expect.txt | 2 ++ test/markup/javascript/class.txt | 2 ++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/languages/javascript.js b/src/languages/javascript.js index 122705b40c..2274042439 100644 --- a/src/languages/javascript.js +++ b/src/languages/javascript.js @@ -292,10 +292,10 @@ export default function(hljs) { /\bJSON/, // Float32Array, OutT /\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/, - // CSSFactory - /\b[A-Z]{2,}([A-Z][a-z]+|\d)+/, - // FPs - /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*/, + // CSSFactory, CSSFactoryT + /\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*|\d)*/, + // FPs, FPsT + /\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*|\d)*/, // P // single letters are not highlighted // BLAH diff --git a/test/markup/javascript/class.expect.txt b/test/markup/javascript/class.expect.txt index 2b981086ca..7e1dd67c80 100644 --- a/test/markup/javascript/class.expect.txt +++ b/test/markup/javascript/class.expect.txt @@ -36,3 +36,5 @@ FPs OutT InT +CSSParserT +IResponseTsS diff --git a/test/markup/javascript/class.txt b/test/markup/javascript/class.txt index ff1bfeeeff..4badef7377 100644 --- a/test/markup/javascript/class.txt +++ b/test/markup/javascript/class.txt @@ -36,3 +36,5 @@ BigInt64Array FPs OutT InT +CSSParserT +IResponseTsS