From a75b8c83c62519dbeb74d10e6ad52b14be2722ef Mon Sep 17 00:00:00 2001 From: Om Chillure Date: Mon, 23 Mar 2026 19:04:03 +0530 Subject: [PATCH] languages: Highlight `await` as `keyword.control` in JS/TS/TSX files (#52034) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Context Fixes https://github.com/zed-industries/zed/issues/51921 `await` was grouped under the generic `@keyword` capture in the tree-sitter highlights queries for JavaScript, TypeScript, and TSX. It should be `@keyword.control`, since it's a control flow keyword — same as `return`, `yield`, `throw`, `break`, etc., which were already correctly classified. This aligns Zed's highlighting with VSCode's behavior, where `await` is tokenized as `keyword.control`. ## How to Review Three single-line moves across highlights files — `await` removed from the `@keyword` list, added to the `@keyword.control` list: 1. `crates/languages/src/javascript/highlights.scm` 2. `crates/languages/src/typescript/highlights.scm` 3. `crates/languages/src/tsx/highlights.scm` ## Self-Review Checklist - [x] I've reviewed my own diff for quality, security, and reliability - [ ] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [ ] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable ## Image : Screenshot from 2026-03-20
22-15-40 Release Notes: - Fixed `await` keyword not being highlighted as `keyword.control` in JavaScript, TypeScript, and TSX files --------- Co-authored-by: Kunall Banerjee --- crates/languages/src/javascript/highlights.scm | 2 +- crates/languages/src/tsx/highlights.scm | 2 +- crates/languages/src/typescript/highlights.scm | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/languages/src/javascript/highlights.scm b/crates/languages/src/javascript/highlights.scm index 4824684177ae2fe8c5b2f1d582b4d443216b9519..4af87cc578e3060e72d1e1374f4904d8c7629ddf 100644 --- a/crates/languages/src/javascript/highlights.scm +++ b/crates/languages/src/javascript/highlights.scm @@ -247,7 +247,6 @@ "abstract" "as" "async" - "await" "debugger" "declare" "default" @@ -294,6 +293,7 @@ ] @keyword.import [ + "await" "break" "case" "catch" diff --git a/crates/languages/src/tsx/highlights.scm b/crates/languages/src/tsx/highlights.scm index 056956199ef26faea0c9fc09467f48c19a712b14..482bba7f081a44b78a2f2d72c3435d8a6419b874 100644 --- a/crates/languages/src/tsx/highlights.scm +++ b/crates/languages/src/tsx/highlights.scm @@ -268,7 +268,6 @@ "abstract" "as" "async" - "await" "debugger" "declare" "default" @@ -318,6 +317,7 @@ ] @keyword.import [ + "await" "break" "case" "catch" diff --git a/crates/languages/src/typescript/highlights.scm b/crates/languages/src/typescript/highlights.scm index 55eb9119e4963957e77aa1791d2a51aadd8d2890..0213adb10f61a4921544f4c758e51312a68ae28d 100644 --- a/crates/languages/src/typescript/highlights.scm +++ b/crates/languages/src/typescript/highlights.scm @@ -387,7 +387,6 @@ "abstract" "as" "async" - "await" "debugger" "declare" "default" @@ -437,6 +436,7 @@ ] @keyword.import [ + "await" "break" "case" "catch"