From b01a216b2e03e0d279df1e2e91d531d2252f5c98 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9C=80=E8=90=8C=E5=B0=8F=E6=B1=90?= <sumneko@hotmail.com>
Date: Tue, 11 Jan 2022 17:01:19 +0800
Subject: [PATCH] update semantic tokens

---
 package.json                   | 64 ++++++++++++++++++++++++++++++++--
 package/semanticTokenScope.lua | 12 +++++++
 2 files changed, 74 insertions(+), 2 deletions(-)

diff --git a/package.json b/package.json
index 816388e..22ba951 100644
--- a/package.json
+++ b/package.json
@@ -1538,6 +1538,18 @@
             {
                 "language": "lua",
                 "scopes": {
+                    "class": [
+                        "support.class.lua"
+                    ],
+                    "class.declaration": [
+                        "support.class.lua"
+                    ],
+                    "comment.documentation": [
+                        "storage.type.annotation.lua"
+                    ],
+                    "event.static": [
+                        "support.class.lua"
+                    ],
                     "function": [
                         "variable.function.lua"
                     ],
@@ -1550,12 +1562,36 @@
                     "function.static": [
                         "entity.name.function.lua"
                     ],
+                    "keyword": [
+                        "keyword.control.lua"
+                    ],
+                    "keyword.async": [
+                        "entity.name.tag.lua"
+                    ],
+                    "keyword.declaration": [
+                        "keyword.local.lua"
+                    ],
+                    "keyword.readonly": [
+                        "constant.language.lua"
+                    ],
+                    "macro": [
+                        "variable.lua"
+                    ],
                     "method": [
                         "entity.name.function.lua"
                     ],
                     "method.declaration": [
                         "entity.name.function.lua"
                     ],
+                    "number": [
+                        "constant.numeric.float.lua"
+                    ],
+                    "number.static": [
+                        "constant.numeric.integer.lua"
+                    ],
+                    "operator": [
+                        "keyword.operator.lua"
+                    ],
                     "parameter.declaration": [
                         "variable.parameter.lua"
                     ],
@@ -1565,6 +1601,30 @@
                     "property.declaration": [
                         "entity.other.property.lua"
                     ],
+                    "string": [
+                        "string.lua"
+                    ],
+                    "string.deprecated": [
+                        "invalid.illegal.character.escape.lua"
+                    ],
+                    "string.modification": [
+                        "constant.character.escape.lua"
+                    ],
+                    "struct": [
+                        "string.tag.lua"
+                    ],
+                    "struct.declaration": [
+                        "string.tag.lua"
+                    ],
+                    "type": [
+                        "support.type.lua"
+                    ],
+                    "type.modification": [
+                        "storage.type.generic.lua"
+                    ],
+                    "typeParameter": [
+                        "string.tag.lua"
+                    ],
                     "variable": [
                         "variable.other.lua"
                     ],
@@ -1577,8 +1637,8 @@
                     "variable.defaultLibrary": [
                         "support.constant.lua"
                     ],
-                    "variable.local": [
-                        "variable.other.lua"
+                    "variable.definition": [
+                        "variable.language.self.lua"
                     ],
                     "variable.readonly": [
                         "variable.other.constant.lua"
diff --git a/package/semanticTokenScope.lua b/package/semanticTokenScope.lua
index 1434e63..2f40038 100644
--- a/package/semanticTokenScope.lua
+++ b/package/semanticTokenScope.lua
@@ -34,10 +34,22 @@ return {
     ['keyword'] = {'keyword.control.lua'},
     ['keyword.declaration'] = {'keyword.local.lua'},
     ['keyword.readonly'] = {'constant.language.lua'},
+    ['keyword.async'] = {'entity.name.tag.lua'},
     ['operator'] = {'keyword.operator.lua'},
     ['number'] = {'constant.numeric.float.lua'},
     ['number.static'] = {'constant.numeric.integer.lua'},
     ['string'] = {'string.lua'},
     ['string.modification'] = {'constant.character.escape.lua'},
     ['string.deprecated'] = {'invalid.illegal.character.escape.lua'},
+
+    ["struct"] = {"string.tag.lua"},
+    ["struct.declaration"] = {"string.tag.lua"},
+    ["typeParameter"] = {"string.tag.lua"},
+    ["comment.documentation"] = {"storage.type.annotation.lua"},
+    ["class"] = {"support.class.lua"},
+    ["class.declaration"] = {"support.class.lua"},
+    ["type"] = {"support.type.lua"},
+    ["type.modification"] = {"storage.type.generic.lua"},
+    ["macro"] = {"variable.lua"},
+    ["event.static"] = {"support.class.lua"},
 }
-- 
GitLab