From d5788d8c610cf60bf0da57b104207d0c8814e4b7 Mon Sep 17 00:00:00 2001
From: Wolfgang Faust <wolfgang42@git>
Date: Fri, 11 Apr 2025 08:48:49 -0700
Subject: [PATCH] fix(javascript) correctly highlight 'for await' again

Closes #4235.
---
 CHANGES.md                                 | 1 +
 src/languages/javascript.js                | 3 ++-
 test/markup/javascript/keywords.expect.txt | 3 +++
 test/markup/javascript/keywords.txt        | 3 +++
 4 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/CHANGES.md b/CHANGES.md
index 4cf83d0f52..49f8253b6f 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -7,6 +7,7 @@ New Grammars:
 
 Core Grammars:
 
+- fix(javascript) correctly highlight 'for await' again [wolfgang42][]
 - enh(csp) add missing directives / keywords from MDN (7 more) [Max Liashuk][]
 - enh(ada) add new `parallel` keyword, allow `[]` for Ada 2022 [Max Reznik][]
 
diff --git a/src/languages/javascript.js b/src/languages/javascript.js
index 313246c55b..b286396047 100644
--- a/src/languages/javascript.js
+++ b/src/languages/javascript.js
@@ -387,7 +387,8 @@ export default function(hljs) {
       noneOf([
         ...ECMAScript.BUILT_IN_GLOBALS,
         "super",
-        "import"
+        "import",
+        "await",
       ].map(x => `${x}\\s*\\(`)),
       IDENT_RE, regex.lookahead(/\s*\(/)),
     className: "title.function",
diff --git a/test/markup/javascript/keywords.expect.txt b/test/markup/javascript/keywords.expect.txt
index 66bf3b2ca1..4825886650 100644
--- a/test/markup/javascript/keywords.expect.txt
+++ b/test/markup/javascript/keywords.expect.txt
@@ -11,4 +11,7 @@
       <span class="hljs-keyword">return</span> <span class="hljs-regexp">/\d+[\s/]/g</span>;
   }
   <span class="hljs-keyword">using</span> val = <span class="hljs-title function_">condition</span>();
+  <span class="hljs-keyword">for</span> <span class="hljs-keyword">await</span> (<span class="hljs-keyword">const</span> item <span class="hljs-keyword">of</span> items) {
+    <span class="hljs-variable language_">console</span>.<span class="hljs-title function_">log</span>(item);
+  }
 }
diff --git a/test/markup/javascript/keywords.txt b/test/markup/javascript/keywords.txt
index 90adea3e2d..8402964701 100644
--- a/test/markup/javascript/keywords.txt
+++ b/test/markup/javascript/keywords.txt
@@ -11,4 +11,7 @@ function $initHighlight(block, cls) {
       return /\d+[\s/]/g;
   }
   using val = condition();
+  for await (const item of items) {
+    console.log(item);
+  }
 }