瀏覽代碼

Correctly handle all types of escaping

Mads Møller Jensen 6 月之前
父節點
當前提交
ed1c5438c4
共有 3 個文件被更改,包括 23 次插入19 次删除
  1. 13 13
      vscode-extension/package-lock.json
  2. 2 2
      vscode-extension/package.json
  3. 8 4
      vscode-extension/syntaxes/numbat.tmLanguage.json

+ 13 - 13
vscode-extension/package-lock.json

@@ -1,15 +1,15 @@
 {
-    "name": "numbat",
-    "version": "0.1.0",
+    "name": "numbat-vscode-extension",
+    "version": "0.1.1",
     "lockfileVersion": 3,
     "requires": true,
     "packages": {
         "": {
-            "name": "numbat",
-            "version": "0.1.0",
+            "name": "numbat-vscode-extension",
+            "version": "0.1.1",
             "license": "(MIT OR Apache-2.0)",
             "devDependencies": {
-                "@vscode/vsce": "3.2.1"
+                "@vscode/vsce": "3.3.2"
             },
             "engines": {
                 "vscode": "^1.71.0"
@@ -193,9 +193,9 @@
             }
         },
         "node_modules/@vscode/vsce": {
-            "version": "3.2.1",
-            "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.2.1.tgz",
-            "integrity": "sha512-AY9vBjwExakK1c0cI/3NN2Ey0EgiKLBye/fxl/ue+o4q6RZ7N+xzd1jAD6eI6eBeMVANi617+V2rxIAkDPco2Q==",
+            "version": "3.3.2",
+            "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.3.2.tgz",
+            "integrity": "sha512-XQ4IhctYalSTMwLnMS8+nUaGbU7v99Qm2sOoGfIEf2QC7jpiLXZZMh7NwArEFsKX4gHTJLx0/GqAUlCdC3gKCw==",
             "dev": true,
             "dependencies": {
                 "@azure/identity": "^4.1.0",
@@ -204,7 +204,7 @@
                 "chalk": "^2.4.2",
                 "cheerio": "^1.0.0-rc.9",
                 "cockatiel": "^3.1.2",
-                "commander": "^6.2.1",
+                "commander": "^12.1.0",
                 "form-data": "^4.0.0",
                 "glob": "^11.0.0",
                 "hosted-git-info": "^4.0.2",
@@ -647,12 +647,12 @@
             }
         },
         "node_modules/commander": {
-            "version": "6.2.1",
-            "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
-            "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+            "version": "12.1.0",
+            "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+            "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
             "dev": true,
             "engines": {
-                "node": ">= 6"
+                "node": ">=18"
             }
         },
         "node_modules/concat-map": {

+ 2 - 2
vscode-extension/package.json

@@ -2,7 +2,7 @@
     "name": "numbat-vscode-extension",
     "displayName": "Numbat",
     "description": "Syntax highlighting for the Numbat programming language",
-    "version": "0.1.0",
+    "version": "0.1.1",
     "license": "(MIT OR Apache-2.0)",
     "icon": "./assets/numbat-256x256.png",
     "engines": {
@@ -38,7 +38,7 @@
         "vscode:package": "vsce package"
     },
     "devDependencies": {
-        "@vscode/vsce": "3.2.1"
+        "@vscode/vsce": "3.3.2"
     },
     "vsce": {
         "skipLicense": true

+ 8 - 4
vscode-extension/syntaxes/numbat.tmLanguage.json

@@ -86,13 +86,17 @@
         },
         "strings": {
             "name": "string.quoted.double",
-            "begin": "\"",
-            "end": "\"",
+            "begin": "(?<!\\\\)\"",
+            "end": "(?<!\\\\)\"",
             "patterns": [
                 {
                     "name": "constant.character.escape",
-                    "begin": "{",
-                    "end": "}",
+                    "match": "\\\\\\S|{{|}}"
+                },
+                {
+                    "name": "constant.character.escape",
+                    "begin": "(?<!{){(?!{)",
+                    "end": "(?<!})}(?!})",
                     "patterns": [
                         {
                             "include": "$base"