aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJake Langford2022-07-06 13:54:07 +0000
committerGitHub2022-07-06 13:54:07 +0000
commit230ba264bf78d9b4ecd42440f0cbb20529f9c235 (patch)
tree5dc84b7ee53ef7049912d1e7a3851d95a0df6df4
parente35abe38f31149785ea04dc8a8fc1d2649ba70af (diff)
Introduce storage highlighting for typescript/javascript (#2961)
-rw-r--r--book/src/themes.md4
-rw-r--r--runtime/queries/javascript/highlights.scm19
-rw-r--r--runtime/queries/typescript/highlights.scm16
3 files changed, 27 insertions, 12 deletions
diff --git a/book/src/themes.md b/book/src/themes.md
index 06f920d3..ad8864b2 100644
--- a/book/src/themes.md
+++ b/book/src/themes.md
@@ -151,7 +151,9 @@ We use a similar set of scopes as
- `operator` - `or`, `in`
- `directive` - Preprocessor directives (`#if` in C)
- `function` - `fn`, `func`
- - `storage` - Keywords that affect the storage of a variable, function or data structure `static`, `mut`, `const`, `ref`
+ - `storage` - Keywords describing how things are stored
+ - `type` - The type of something, `class`, `function`, `var`, `let`, etc.
+ - `modifier` - Storage modifiers like `static`, `mut`, `const`, `ref`, etc.
- `operator` - `||`, `+=`, `>`
diff --git a/runtime/queries/javascript/highlights.scm b/runtime/queries/javascript/highlights.scm
index 2616dffa..9a759081 100644
--- a/runtime/queries/javascript/highlights.scm
+++ b/runtime/queries/javascript/highlights.scm
@@ -163,19 +163,14 @@
[
"as"
"async"
- "class"
- "const"
"debugger"
"delete"
- "export"
"extends"
"from"
"function"
"get"
- "import"
"in"
"instanceof"
- "let"
"new"
"of"
"set"
@@ -183,12 +178,18 @@
"target"
"try"
"typeof"
- "var"
"void"
"with"
] @keyword
[
+ "class"
+ "let"
+ "const"
+ "var"
+] @keyword.storage.type
+
+[
"switch"
"case"
"default"
@@ -206,3 +207,9 @@
"do"
"await"
] @keyword.control
+
+[
+ "import"
+ "export"
+] @keyword.control.import
+
diff --git a/runtime/queries/typescript/highlights.scm b/runtime/queries/typescript/highlights.scm
index a3212a3d..a424d100 100644
--- a/runtime/queries/typescript/highlights.scm
+++ b/runtime/queries/typescript/highlights.scm
@@ -22,15 +22,21 @@
[
"abstract"
"declare"
- "enum"
"export"
"implements"
- "interface"
"keyof"
"namespace"
+] @keyword
+
+[
+ "type"
+ "interface"
+ "enum"
+] @keyword.storage.type
+
+[
+ "public"
"private"
"protected"
- "public"
- "type"
"readonly"
-] @keyword
+] @keyword.storage.modifier \ No newline at end of file