aboutsummaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/code/package-lock.json632
-rw-r--r--editors/code/package.json49
-rw-r--r--editors/code/src/client.ts15
-rw-r--r--editors/code/src/commands.ts14
-rw-r--r--editors/code/src/ctx.ts2
-rw-r--r--editors/code/src/lsp_ext.ts6
-rw-r--r--editors/code/src/util.ts2
7 files changed, 449 insertions, 271 deletions
diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json
index b0f24b10a..33d60d4dd 100644
--- a/editors/code/package-lock.json
+++ b/editors/code/package-lock.json
@@ -5,35 +5,47 @@
5 "requires": true, 5 "requires": true,
6 "dependencies": { 6 "dependencies": {
7 "@babel/code-frame": { 7 "@babel/code-frame": {
8 "version": "7.10.3", 8 "version": "7.10.4",
9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", 9 "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz",
10 "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", 10 "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==",
11 "dev": true, 11 "dev": true,
12 "requires": { 12 "requires": {
13 "@babel/highlight": "^7.10.3" 13 "@babel/highlight": "^7.10.4"
14 } 14 }
15 }, 15 },
16 "@babel/helper-validator-identifier": { 16 "@babel/helper-validator-identifier": {
17 "version": "7.10.3", 17 "version": "7.10.4",
18 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", 18 "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz",
19 "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", 19 "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==",
20 "dev": true 20 "dev": true
21 }, 21 },
22 "@babel/highlight": { 22 "@babel/highlight": {
23 "version": "7.10.3", 23 "version": "7.10.4",
24 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", 24 "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz",
25 "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", 25 "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==",
26 "dev": true, 26 "dev": true,
27 "requires": { 27 "requires": {
28 "@babel/helper-validator-identifier": "^7.10.3", 28 "@babel/helper-validator-identifier": "^7.10.4",
29 "chalk": "^2.0.0", 29 "chalk": "^2.0.0",
30 "js-tokens": "^4.0.0" 30 "js-tokens": "^4.0.0"
31 } 31 }
32 }, 32 },
33 "@eslint/eslintrc": {
34 "version": "0.1.0",
35 "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.1.0.tgz",
36 "integrity": "sha512-bfL5365QSCmH6cPeFT7Ywclj8C7LiF7sO6mUGzZhtAMV7iID1Euq6740u/SRi4C80NOnVz/CEfK8/HO+nCAPJg==",
37 "dev": true,
38 "requires": {
39 "ajv": "^6.12.4",
40 "debug": "^4.1.1",
41 "import-fresh": "^3.2.1",
42 "strip-json-comments": "^3.1.1"
43 }
44 },
33 "@rollup/plugin-commonjs": { 45 "@rollup/plugin-commonjs": {
34 "version": "13.0.0", 46 "version": "13.0.2",
35 "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.0.tgz", 47 "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.2.tgz",
36 "integrity": "sha512-Anxc3qgkAi7peAyesTqGYidG5GRim9jtg8xhmykNaZkImtvjA7Wsqep08D2mYsqw1IF7rA3lYfciLgzUSgRoqw==", 48 "integrity": "sha512-9JXf2k8xqvMYfqmhgtB6eCgMN9fbxwF1XDF3mGKJc6pkAmt0jnsqurxQ0tC1akQKNSXCm7c3unQxa3zuxtZ7mQ==",
37 "dev": true, 49 "dev": true,
38 "requires": { 50 "requires": {
39 "@rollup/pluginutils": "^3.0.8", 51 "@rollup/pluginutils": "^3.0.8",
@@ -46,18 +58,31 @@
46 } 58 }
47 }, 59 },
48 "@rollup/plugin-node-resolve": { 60 "@rollup/plugin-node-resolve": {
49 "version": "8.1.0", 61 "version": "8.4.0",
50 "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.1.0.tgz", 62 "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.4.0.tgz",
51 "integrity": "sha512-ovq7ZM3JJYUUmEjjO+H8tnUdmQmdQudJB7xruX8LFZ1W2q8jXdPUS6SsIYip8ByOApu4RR7729Am9WhCeCMiHA==", 63 "integrity": "sha512-LFqKdRLn0ShtQyf6SBYO69bGE1upV6wUhBX0vFOUnLAyzx5cwp8svA0eHUnu8+YU57XOkrMtfG63QOpQx25pHQ==",
52 "dev": true, 64 "dev": true,
53 "requires": { 65 "requires": {
54 "@rollup/pluginutils": "^3.0.8", 66 "@rollup/pluginutils": "^3.1.0",
55 "@types/resolve": "0.0.8", 67 "@types/resolve": "1.17.1",
56 "builtin-modules": "^3.1.0", 68 "builtin-modules": "^3.1.0",
57 "deep-freeze": "^0.0.1", 69 "deep-freeze": "^0.0.1",
58 "deepmerge": "^4.2.2", 70 "deepmerge": "^4.2.2",
59 "is-module": "^1.0.0", 71 "is-module": "^1.0.0",
60 "resolve": "^1.14.2" 72 "resolve": "^1.17.0"
73 },
74 "dependencies": {
75 "@rollup/pluginutils": {
76 "version": "3.1.0",
77 "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz",
78 "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==",
79 "dev": true,
80 "requires": {
81 "@types/estree": "0.0.39",
82 "estree-walker": "^1.0.1",
83 "picomatch": "^2.2.2"
84 }
85 }
61 } 86 }
62 }, 87 },
63 "@rollup/pluginutils": { 88 "@rollup/pluginutils": {
@@ -90,9 +115,9 @@
90 "dev": true 115 "dev": true
91 }, 116 },
92 "@types/glob": { 117 "@types/glob": {
93 "version": "7.1.2", 118 "version": "7.1.3",
94 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", 119 "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
95 "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", 120 "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
96 "dev": true, 121 "dev": true,
97 "requires": { 122 "requires": {
98 "@types/minimatch": "*", 123 "@types/minimatch": "*",
@@ -100,9 +125,9 @@
100 } 125 }
101 }, 126 },
102 "@types/json-schema": { 127 "@types/json-schema": {
103 "version": "7.0.4", 128 "version": "7.0.6",
104 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.4.tgz", 129 "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz",
105 "integrity": "sha512-8+KAKzEvSUdeo+kmqnKrqgeE+LcA0tjYWFY7RPProVYwnqDjukzO+3b6dLD56rYX5TdWejnEOLJYOIeh4CXKuA==", 130 "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==",
106 "dev": true 131 "dev": true
107 }, 132 },
108 "@types/minimatch": { 133 "@types/minimatch": {
@@ -134,27 +159,27 @@
134 } 159 }
135 }, 160 },
136 "@types/resolve": { 161 "@types/resolve": {
137 "version": "0.0.8", 162 "version": "1.17.1",
138 "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", 163 "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz",
139 "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", 164 "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==",
140 "dev": true, 165 "dev": true,
141 "requires": { 166 "requires": {
142 "@types/node": "*" 167 "@types/node": "*"
143 } 168 }
144 }, 169 },
145 "@types/vscode": { 170 "@types/vscode": {
146 "version": "1.45.0", 171 "version": "1.48.0",
147 "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.45.0.tgz", 172 "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.48.0.tgz",
148 "integrity": "sha512-b0Gyir7sPBCqiKLygAhn/AYVfzWD+SMPkWltBrIuPEyTOxSU1wVApWY/FcxYO2EWTRacoubTl4+gvZf86RkecA==", 173 "integrity": "sha512-sZJKzsJz1gSoFXcOJWw3fnKl2sseUgZmvB4AJZS+Fea+bC/jfGPVhmFL/FfQHld/TKtukVONsmoD3Pkyx9iadg==",
149 "dev": true 174 "dev": true
150 }, 175 },
151 "@typescript-eslint/eslint-plugin": { 176 "@typescript-eslint/eslint-plugin": {
152 "version": "3.4.0", 177 "version": "3.10.1",
153 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.4.0.tgz", 178 "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.10.1.tgz",
154 "integrity": "sha512-wfkpiqaEVhZIuQRmudDszc01jC/YR7gMSxa6ulhggAe/Hs0KVIuo9wzvFiDbG3JD5pRFQoqnf4m7REDsUvBnMQ==", 179 "integrity": "sha512-PQg0emRtzZFWq6PxBcdxRH3QIQiyFO3WCVpRL3fgj5oQS3CDs3AeAKfv4DxNhzn8ITdNJGJ4D3Qw8eAJf3lXeQ==",
155 "dev": true, 180 "dev": true,
156 "requires": { 181 "requires": {
157 "@typescript-eslint/experimental-utils": "3.4.0", 182 "@typescript-eslint/experimental-utils": "3.10.1",
158 "debug": "^4.1.1", 183 "debug": "^4.1.1",
159 "functional-red-black-tree": "^1.0.1", 184 "functional-red-black-tree": "^1.0.1",
160 "regexpp": "^3.0.0", 185 "regexpp": "^3.0.0",
@@ -162,33 +187,6 @@
162 "tsutils": "^3.17.1" 187 "tsutils": "^3.17.1"
163 }, 188 },
164 "dependencies": { 189 "dependencies": {
165 "@typescript-eslint/experimental-utils": {
166 "version": "3.4.0",
167 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.4.0.tgz",
168 "integrity": "sha512-rHPOjL43lOH1Opte4+dhC0a/+ks+8gOBwxXnyrZ/K4OTAChpSjP76fbI8Cglj7V5GouwVAGaK+xVwzqTyE/TPw==",
169 "dev": true,
170 "requires": {
171 "@types/json-schema": "^7.0.3",
172 "@typescript-eslint/typescript-estree": "3.4.0",
173 "eslint-scope": "^5.0.0",
174 "eslint-utils": "^2.0.0"
175 }
176 },
177 "@typescript-eslint/typescript-estree": {
178 "version": "3.4.0",
179 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.4.0.tgz",
180 "integrity": "sha512-zKwLiybtt4uJb4mkG5q2t6+W7BuYx2IISiDNV+IY68VfoGwErDx/RfVI7SWL4gnZ2t1A1ytQQwZ+YOJbHHJ2rw==",
181 "dev": true,
182 "requires": {
183 "debug": "^4.1.1",
184 "eslint-visitor-keys": "^1.1.0",
185 "glob": "^7.1.6",
186 "is-glob": "^4.0.1",
187 "lodash": "^4.17.15",
188 "semver": "^7.3.2",
189 "tsutils": "^3.17.1"
190 }
191 },
192 "semver": { 190 "semver": {
193 "version": "7.3.2", 191 "version": "7.3.2",
194 "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", 192 "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz",
@@ -198,37 +196,46 @@
198 } 196 }
199 }, 197 },
200 "@typescript-eslint/experimental-utils": { 198 "@typescript-eslint/experimental-utils": {
201 "version": "3.4.0", 199 "version": "3.10.1",
202 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.4.0.tgz", 200 "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz",
203 "integrity": "sha512-rHPOjL43lOH1Opte4+dhC0a/+ks+8gOBwxXnyrZ/K4OTAChpSjP76fbI8Cglj7V5GouwVAGaK+xVwzqTyE/TPw==", 201 "integrity": "sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==",
204 "dev": true, 202 "dev": true,
205 "requires": { 203 "requires": {
206 "@types/json-schema": "^7.0.3", 204 "@types/json-schema": "^7.0.3",
207 "@typescript-eslint/typescript-estree": "3.4.0", 205 "@typescript-eslint/types": "3.10.1",
206 "@typescript-eslint/typescript-estree": "3.10.1",
208 "eslint-scope": "^5.0.0", 207 "eslint-scope": "^5.0.0",
209 "eslint-utils": "^2.0.0" 208 "eslint-utils": "^2.0.0"
210 } 209 }
211 }, 210 },
212 "@typescript-eslint/parser": { 211 "@typescript-eslint/parser": {
213 "version": "3.4.0", 212 "version": "3.10.1",
214 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.4.0.tgz", 213 "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz",
215 "integrity": "sha512-ZUGI/de44L5x87uX5zM14UYcbn79HSXUR+kzcqU42gH0AgpdB/TjuJy3m4ezI7Q/jk3wTQd755mxSDLhQP79KA==", 214 "integrity": "sha512-Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==",
216 "dev": true, 215 "dev": true,
217 "requires": { 216 "requires": {
218 "@types/eslint-visitor-keys": "^1.0.0", 217 "@types/eslint-visitor-keys": "^1.0.0",
219 "@typescript-eslint/experimental-utils": "3.4.0", 218 "@typescript-eslint/experimental-utils": "3.10.1",
220 "@typescript-eslint/typescript-estree": "3.4.0", 219 "@typescript-eslint/types": "3.10.1",
220 "@typescript-eslint/typescript-estree": "3.10.1",
221 "eslint-visitor-keys": "^1.1.0" 221 "eslint-visitor-keys": "^1.1.0"
222 } 222 }
223 }, 223 },
224 "@typescript-eslint/types": {
225 "version": "3.10.1",
226 "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz",
227 "integrity": "sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==",
228 "dev": true
229 },
224 "@typescript-eslint/typescript-estree": { 230 "@typescript-eslint/typescript-estree": {
225 "version": "3.4.0", 231 "version": "3.10.1",
226 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.4.0.tgz", 232 "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz",
227 "integrity": "sha512-zKwLiybtt4uJb4mkG5q2t6+W7BuYx2IISiDNV+IY68VfoGwErDx/RfVI7SWL4gnZ2t1A1ytQQwZ+YOJbHHJ2rw==", 233 "integrity": "sha512-QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==",
228 "dev": true, 234 "dev": true,
229 "requires": { 235 "requires": {
236 "@typescript-eslint/types": "3.10.1",
237 "@typescript-eslint/visitor-keys": "3.10.1",
230 "debug": "^4.1.1", 238 "debug": "^4.1.1",
231 "eslint-visitor-keys": "^1.1.0",
232 "glob": "^7.1.6", 239 "glob": "^7.1.6",
233 "is-glob": "^4.0.1", 240 "is-glob": "^4.0.1",
234 "lodash": "^4.17.15", 241 "lodash": "^4.17.15",
@@ -244,10 +251,19 @@
244 } 251 }
245 } 252 }
246 }, 253 },
254 "@typescript-eslint/visitor-keys": {
255 "version": "3.10.1",
256 "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz",
257 "integrity": "sha512-9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==",
258 "dev": true,
259 "requires": {
260 "eslint-visitor-keys": "^1.1.0"
261 }
262 },
247 "acorn": { 263 "acorn": {
248 "version": "7.3.1", 264 "version": "7.4.0",
249 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", 265 "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.0.tgz",
250 "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", 266 "integrity": "sha512-+G7P8jJmCHr+S+cLfQxygbWhXy+8YTVGzAkpEbcLo2mLoL7tij/VG41QSHACSf5QgYRhMZYHuNc6drJaO0Da+w==",
251 "dev": true 267 "dev": true
252 }, 268 },
253 "acorn-jsx": { 269 "acorn-jsx": {
@@ -266,9 +282,9 @@
266 } 282 }
267 }, 283 },
268 "ajv": { 284 "ajv": {
269 "version": "6.12.2", 285 "version": "6.12.4",
270 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.2.tgz", 286 "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.4.tgz",
271 "integrity": "sha512-k+V+hzjm5q/Mr8ef/1Y9goCmlsK4I6Sm74teeyGvFk1XrOsbsKLjEdrvny42CZ+a8sXbk8KWpY/bDwS+FLL2UQ==", 287 "integrity": "sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==",
272 "dev": true, 288 "dev": true,
273 "requires": { 289 "requires": {
274 "fast-deep-equal": "^3.1.1", 290 "fast-deep-equal": "^3.1.1",
@@ -278,9 +294,9 @@
278 } 294 }
279 }, 295 },
280 "ansi-colors": { 296 "ansi-colors": {
281 "version": "3.2.3", 297 "version": "4.1.1",
282 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.3.tgz", 298 "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
283 "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", 299 "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
284 "dev": true 300 "dev": true
285 }, 301 },
286 "ansi-regex": { 302 "ansi-regex": {
@@ -446,9 +462,9 @@
446 } 462 }
447 }, 463 },
448 "chokidar": { 464 "chokidar": {
449 "version": "3.3.1", 465 "version": "3.4.2",
450 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", 466 "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.2.tgz",
451 "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", 467 "integrity": "sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==",
452 "dev": true, 468 "dev": true,
453 "requires": { 469 "requires": {
454 "anymatch": "~3.1.1", 470 "anymatch": "~3.1.1",
@@ -458,7 +474,7 @@
458 "is-binary-path": "~2.1.0", 474 "is-binary-path": "~2.1.0",
459 "is-glob": "~4.0.1", 475 "is-glob": "~4.0.1",
460 "normalize-path": "~3.0.0", 476 "normalize-path": "~3.0.0",
461 "readdirp": "~3.3.0" 477 "readdirp": "~3.4.0"
462 } 478 }
463 }, 479 },
464 "cliui": { 480 "cliui": {
@@ -697,12 +713,12 @@
697 "dev": true 713 "dev": true
698 }, 714 },
699 "enquirer": { 715 "enquirer": {
700 "version": "2.3.5", 716 "version": "2.3.6",
701 "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", 717 "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
702 "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", 718 "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
703 "dev": true, 719 "dev": true,
704 "requires": { 720 "requires": {
705 "ansi-colors": "^3.2.1" 721 "ansi-colors": "^4.1.1"
706 } 722 }
707 }, 723 },
708 "entities": { 724 "entities": {
@@ -784,12 +800,13 @@
784 "dev": true 800 "dev": true
785 }, 801 },
786 "eslint": { 802 "eslint": {
787 "version": "7.3.1", 803 "version": "7.8.0",
788 "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.3.1.tgz", 804 "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.8.0.tgz",
789 "integrity": "sha512-cQC/xj9bhWUcyi/RuMbRtC3I0eW8MH0jhRELSvpKYkWep3C6YZ2OkvcvJVUeO6gcunABmzptbXBuDoXsjHmfTA==", 805 "integrity": "sha512-qgtVyLZqKd2ZXWnLQA4NtVbOyH56zivOAdBFWE54RFkSZjokzNrcP4Z0eVWsZ+84ByXv+jL9k/wE1ENYe8xRFw==",
790 "dev": true, 806 "dev": true,
791 "requires": { 807 "requires": {
792 "@babel/code-frame": "^7.0.0", 808 "@babel/code-frame": "^7.0.0",
809 "@eslint/eslintrc": "^0.1.0",
793 "ajv": "^6.10.0", 810 "ajv": "^6.10.0",
794 "chalk": "^4.0.0", 811 "chalk": "^4.0.0",
795 "cross-spawn": "^7.0.2", 812 "cross-spawn": "^7.0.2",
@@ -797,9 +814,9 @@
797 "doctrine": "^3.0.0", 814 "doctrine": "^3.0.0",
798 "enquirer": "^2.3.5", 815 "enquirer": "^2.3.5",
799 "eslint-scope": "^5.1.0", 816 "eslint-scope": "^5.1.0",
800 "eslint-utils": "^2.0.0", 817 "eslint-utils": "^2.1.0",
801 "eslint-visitor-keys": "^1.2.0", 818 "eslint-visitor-keys": "^1.3.0",
802 "espree": "^7.1.0", 819 "espree": "^7.3.0",
803 "esquery": "^1.2.0", 820 "esquery": "^1.2.0",
804 "esutils": "^2.0.2", 821 "esutils": "^2.0.2",
805 "file-entry-cache": "^5.0.1", 822 "file-entry-cache": "^5.0.1",
@@ -813,7 +830,7 @@
813 "js-yaml": "^3.13.1", 830 "js-yaml": "^3.13.1",
814 "json-stable-stringify-without-jsonify": "^1.0.1", 831 "json-stable-stringify-without-jsonify": "^1.0.1",
815 "levn": "^0.4.1", 832 "levn": "^0.4.1",
816 "lodash": "^4.17.14", 833 "lodash": "^4.17.19",
817 "minimatch": "^3.0.4", 834 "minimatch": "^3.0.4",
818 "natural-compare": "^1.4.0", 835 "natural-compare": "^1.4.0",
819 "optionator": "^0.9.1", 836 "optionator": "^0.9.1",
@@ -872,6 +889,15 @@
872 "estraverse": "^4.1.1" 889 "estraverse": "^4.1.1"
873 } 890 }
874 }, 891 },
892 "eslint-utils": {
893 "version": "2.1.0",
894 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
895 "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
896 "dev": true,
897 "requires": {
898 "eslint-visitor-keys": "^1.1.0"
899 }
900 },
875 "eslint-visitor-keys": { 901 "eslint-visitor-keys": {
876 "version": "1.3.0", 902 "version": "1.3.0",
877 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", 903 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
@@ -891,9 +917,9 @@
891 "dev": true 917 "dev": true
892 }, 918 },
893 "supports-color": { 919 "supports-color": {
894 "version": "7.1.0", 920 "version": "7.2.0",
895 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", 921 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
896 "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", 922 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
897 "dev": true, 923 "dev": true,
898 "requires": { 924 "requires": {
899 "has-flag": "^4.0.0" 925 "has-flag": "^4.0.0"
@@ -902,9 +928,9 @@
902 } 928 }
903 }, 929 },
904 "eslint-scope": { 930 "eslint-scope": {
905 "version": "5.0.0", 931 "version": "5.1.0",
906 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.0.0.tgz", 932 "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz",
907 "integrity": "sha512-oYrhJW7S0bxAFDvWqzvMPRm6pcgcnWc4QnofCAqRTRfQC0JcwenzGglTtsLyIuuWFfkqDG9vz67cnttSd53djw==", 933 "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==",
908 "dev": true, 934 "dev": true,
909 "requires": { 935 "requires": {
910 "esrecurse": "^4.1.0", 936 "esrecurse": "^4.1.0",
@@ -912,29 +938,29 @@
912 } 938 }
913 }, 939 },
914 "eslint-utils": { 940 "eslint-utils": {
915 "version": "2.0.0", 941 "version": "2.1.0",
916 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.0.0.tgz", 942 "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz",
917 "integrity": "sha512-0HCPuJv+7Wv1bACm8y5/ECVfYdfsAm9xmVb7saeFlxjPYALefjhbYoCkBjPdPzGH8wWyTpAez82Fh3VKYEZ8OA==", 943 "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==",
918 "dev": true, 944 "dev": true,
919 "requires": { 945 "requires": {
920 "eslint-visitor-keys": "^1.1.0" 946 "eslint-visitor-keys": "^1.1.0"
921 } 947 }
922 }, 948 },
923 "eslint-visitor-keys": { 949 "eslint-visitor-keys": {
924 "version": "1.1.0", 950 "version": "1.3.0",
925 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz", 951 "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz",
926 "integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==", 952 "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==",
927 "dev": true 953 "dev": true
928 }, 954 },
929 "espree": { 955 "espree": {
930 "version": "7.1.0", 956 "version": "7.3.0",
931 "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz", 957 "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.0.tgz",
932 "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==", 958 "integrity": "sha512-dksIWsvKCixn1yrEXO8UosNSxaDoSYpq9reEjZSbHLpT5hpaCAKTLBwq0RHtLrIr+c0ByiYzWT8KTMRzoRCNlw==",
933 "dev": true, 959 "dev": true,
934 "requires": { 960 "requires": {
935 "acorn": "^7.2.0", 961 "acorn": "^7.4.0",
936 "acorn-jsx": "^5.2.0", 962 "acorn-jsx": "^5.2.0",
937 "eslint-visitor-keys": "^1.2.0" 963 "eslint-visitor-keys": "^1.3.0"
938 }, 964 },
939 "dependencies": { 965 "dependencies": {
940 "eslint-visitor-keys": { 966 "eslint-visitor-keys": {
@@ -961,9 +987,9 @@
961 }, 987 },
962 "dependencies": { 988 "dependencies": {
963 "estraverse": { 989 "estraverse": {
964 "version": "5.1.0", 990 "version": "5.2.0",
965 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.1.0.tgz", 991 "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz",
966 "integrity": "sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw==", 992 "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==",
967 "dev": true 993 "dev": true
968 } 994 }
969 } 995 }
@@ -1041,12 +1067,12 @@
1041 } 1067 }
1042 }, 1068 },
1043 "find-up": { 1069 "find-up": {
1044 "version": "4.1.0", 1070 "version": "5.0.0",
1045 "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", 1071 "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1046 "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", 1072 "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1047 "dev": true, 1073 "dev": true,
1048 "requires": { 1074 "requires": {
1049 "locate-path": "^5.0.0", 1075 "locate-path": "^6.0.0",
1050 "path-exists": "^4.0.0" 1076 "path-exists": "^4.0.0"
1051 } 1077 }
1052 }, 1078 },
@@ -1355,6 +1381,12 @@
1355 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 1381 "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1356 "dev": true 1382 "dev": true
1357 }, 1383 },
1384 "is-plain-obj": {
1385 "version": "1.1.0",
1386 "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz",
1387 "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=",
1388 "dev": true
1389 },
1358 "is-reference": { 1390 "is-reference": {
1359 "version": "1.2.1", 1391 "version": "1.2.1",
1360 "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", 1392 "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
@@ -1365,9 +1397,9 @@
1365 } 1397 }
1366 }, 1398 },
1367 "is-regex": { 1399 "is-regex": {
1368 "version": "1.1.0", 1400 "version": "1.1.1",
1369 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", 1401 "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz",
1370 "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", 1402 "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==",
1371 "dev": true, 1403 "dev": true,
1372 "requires": { 1404 "requires": {
1373 "has-symbols": "^1.0.1" 1405 "has-symbols": "^1.0.1"
@@ -1476,12 +1508,12 @@
1476 } 1508 }
1477 }, 1509 },
1478 "locate-path": { 1510 "locate-path": {
1479 "version": "5.0.0", 1511 "version": "6.0.0",
1480 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", 1512 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1481 "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", 1513 "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1482 "dev": true, 1514 "dev": true,
1483 "requires": { 1515 "requires": {
1484 "p-locate": "^4.1.0" 1516 "p-locate": "^5.0.0"
1485 } 1517 }
1486 }, 1518 },
1487 "lodash": { 1519 "lodash": {
@@ -1491,12 +1523,64 @@
1491 "dev": true 1523 "dev": true
1492 }, 1524 },
1493 "log-symbols": { 1525 "log-symbols": {
1494 "version": "3.0.0", 1526 "version": "4.0.0",
1495 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", 1527 "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz",
1496 "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", 1528 "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==",
1497 "dev": true, 1529 "dev": true,
1498 "requires": { 1530 "requires": {
1499 "chalk": "^2.4.2" 1531 "chalk": "^4.0.0"
1532 },
1533 "dependencies": {
1534 "ansi-styles": {
1535 "version": "4.2.1",
1536 "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz",
1537 "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==",
1538 "dev": true,
1539 "requires": {
1540 "@types/color-name": "^1.1.1",
1541 "color-convert": "^2.0.1"
1542 }
1543 },
1544 "chalk": {
1545 "version": "4.1.0",
1546 "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
1547 "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
1548 "dev": true,
1549 "requires": {
1550 "ansi-styles": "^4.1.0",
1551 "supports-color": "^7.1.0"
1552 }
1553 },
1554 "color-convert": {
1555 "version": "2.0.1",
1556 "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
1557 "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
1558 "dev": true,
1559 "requires": {
1560 "color-name": "~1.1.4"
1561 }
1562 },
1563 "color-name": {
1564 "version": "1.1.4",
1565 "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
1566 "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
1567 "dev": true
1568 },
1569 "has-flag": {
1570 "version": "4.0.0",
1571 "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1572 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1573 "dev": true
1574 },
1575 "supports-color": {
1576 "version": "7.2.0",
1577 "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1578 "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1579 "dev": true,
1580 "requires": {
1581 "has-flag": "^4.0.0"
1582 }
1583 }
1500 } 1584 }
1501 }, 1585 },
1502 "lru-cache": { 1586 "lru-cache": {
@@ -1532,9 +1616,9 @@
1532 }, 1616 },
1533 "dependencies": { 1617 "dependencies": {
1534 "entities": { 1618 "entities": {
1535 "version": "2.0.0", 1619 "version": "2.0.3",
1536 "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", 1620 "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.3.tgz",
1537 "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", 1621 "integrity": "sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ==",
1538 "dev": true 1622 "dev": true
1539 } 1623 }
1540 } 1624 }
@@ -1591,28 +1675,28 @@
1591 } 1675 }
1592 }, 1676 },
1593 "mocha": { 1677 "mocha": {
1594 "version": "8.0.1", 1678 "version": "8.1.3",
1595 "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.0.1.tgz", 1679 "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.1.3.tgz",
1596 "integrity": "sha512-vefaXfdYI8+Yo8nPZQQi0QO2o+5q9UIMX1jZ1XMmK3+4+CQjc7+B0hPdUeglXiTlr8IHMVRo63IhO9Mzt6fxOg==", 1680 "integrity": "sha512-ZbaYib4hT4PpF4bdSO2DohooKXIn4lDeiYqB+vTmCdr6l2woW0b6H3pf5x4sM5nwQMru9RvjjHYWVGltR50ZBw==",
1597 "dev": true, 1681 "dev": true,
1598 "requires": { 1682 "requires": {
1599 "ansi-colors": "4.1.1", 1683 "ansi-colors": "4.1.1",
1600 "browser-stdout": "1.3.1", 1684 "browser-stdout": "1.3.1",
1601 "chokidar": "3.3.1", 1685 "chokidar": "3.4.2",
1602 "debug": "3.2.6", 1686 "debug": "4.1.1",
1603 "diff": "4.0.2", 1687 "diff": "4.0.2",
1604 "escape-string-regexp": "1.0.5", 1688 "escape-string-regexp": "4.0.0",
1605 "find-up": "4.1.0", 1689 "find-up": "5.0.0",
1606 "glob": "7.1.6", 1690 "glob": "7.1.6",
1607 "growl": "1.10.5", 1691 "growl": "1.10.5",
1608 "he": "1.2.0", 1692 "he": "1.2.0",
1609 "js-yaml": "3.13.1", 1693 "js-yaml": "3.14.0",
1610 "log-symbols": "3.0.0", 1694 "log-symbols": "4.0.0",
1611 "minimatch": "3.0.4", 1695 "minimatch": "3.0.4",
1612 "ms": "2.1.2", 1696 "ms": "2.1.2",
1613 "object.assign": "4.1.0", 1697 "object.assign": "4.1.0",
1614 "promise.allsettled": "1.0.2", 1698 "promise.allsettled": "1.0.2",
1615 "serialize-javascript": "3.0.0", 1699 "serialize-javascript": "4.0.0",
1616 "strip-json-comments": "3.0.1", 1700 "strip-json-comments": "3.0.1",
1617 "supports-color": "7.1.0", 1701 "supports-color": "7.1.0",
1618 "which": "2.0.2", 1702 "which": "2.0.2",
@@ -1620,7 +1704,7 @@
1620 "workerpool": "6.0.0", 1704 "workerpool": "6.0.0",
1621 "yargs": "13.3.2", 1705 "yargs": "13.3.2",
1622 "yargs-parser": "13.1.2", 1706 "yargs-parser": "13.1.2",
1623 "yargs-unparser": "1.6.0" 1707 "yargs-unparser": "1.6.1"
1624 }, 1708 },
1625 "dependencies": { 1709 "dependencies": {
1626 "ansi-colors": { 1710 "ansi-colors": {
@@ -1629,14 +1713,11 @@
1629 "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", 1713 "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
1630 "dev": true 1714 "dev": true
1631 }, 1715 },
1632 "debug": { 1716 "escape-string-regexp": {
1633 "version": "3.2.6", 1717 "version": "4.0.0",
1634 "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", 1718 "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
1635 "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", 1719 "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
1636 "dev": true, 1720 "dev": true
1637 "requires": {
1638 "ms": "^2.1.1"
1639 }
1640 }, 1721 },
1641 "has-flag": { 1722 "has-flag": {
1642 "version": "4.0.0", 1723 "version": "4.0.0",
@@ -1644,16 +1725,6 @@
1644 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", 1725 "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1645 "dev": true 1726 "dev": true
1646 }, 1727 },
1647 "js-yaml": {
1648 "version": "3.13.1",
1649 "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz",
1650 "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==",
1651 "dev": true,
1652 "requires": {
1653 "argparse": "^1.0.7",
1654 "esprima": "^4.0.0"
1655 }
1656 },
1657 "strip-json-comments": { 1728 "strip-json-comments": {
1658 "version": "3.0.1", 1729 "version": "3.0.1",
1659 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", 1730 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz",
@@ -1690,9 +1761,9 @@
1690 "dev": true 1761 "dev": true
1691 }, 1762 },
1692 "node-fetch": { 1763 "node-fetch": {
1693 "version": "2.6.0", 1764 "version": "2.6.1",
1694 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", 1765 "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
1695 "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" 1766 "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
1696 }, 1767 },
1697 "normalize-path": { 1768 "normalize-path": {
1698 "version": "3.0.0", 1769 "version": "3.0.0",
@@ -1785,21 +1856,21 @@
1785 } 1856 }
1786 }, 1857 },
1787 "p-limit": { 1858 "p-limit": {
1788 "version": "2.3.0", 1859 "version": "3.0.2",
1789 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", 1860 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz",
1790 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", 1861 "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==",
1791 "dev": true, 1862 "dev": true,
1792 "requires": { 1863 "requires": {
1793 "p-try": "^2.0.0" 1864 "p-try": "^2.0.0"
1794 } 1865 }
1795 }, 1866 },
1796 "p-locate": { 1867 "p-locate": {
1797 "version": "4.1.0", 1868 "version": "5.0.0",
1798 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", 1869 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1799 "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", 1870 "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1800 "dev": true, 1871 "dev": true,
1801 "requires": { 1872 "requires": {
1802 "p-limit": "^2.2.0" 1873 "p-limit": "^3.0.2"
1803 } 1874 }
1804 }, 1875 },
1805 "p-try": { 1876 "p-try": {
@@ -1916,6 +1987,15 @@
1916 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", 1987 "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1917 "dev": true 1988 "dev": true
1918 }, 1989 },
1990 "randombytes": {
1991 "version": "2.1.0",
1992 "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
1993 "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
1994 "dev": true,
1995 "requires": {
1996 "safe-buffer": "^5.1.0"
1997 }
1998 },
1919 "read": { 1999 "read": {
1920 "version": "1.0.7", 2000 "version": "1.0.7",
1921 "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz", 2001 "resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",
@@ -1937,12 +2017,12 @@
1937 } 2017 }
1938 }, 2018 },
1939 "readdirp": { 2019 "readdirp": {
1940 "version": "3.3.0", 2020 "version": "3.4.0",
1941 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", 2021 "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz",
1942 "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", 2022 "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==",
1943 "dev": true, 2023 "dev": true,
1944 "requires": { 2024 "requires": {
1945 "picomatch": "^2.0.7" 2025 "picomatch": "^2.2.1"
1946 } 2026 }
1947 }, 2027 },
1948 "regexpp": { 2028 "regexpp": {
@@ -1988,9 +2068,9 @@
1988 } 2068 }
1989 }, 2069 },
1990 "rollup": { 2070 "rollup": {
1991 "version": "2.18.1", 2071 "version": "2.26.9",
1992 "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.18.1.tgz", 2072 "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.26.9.tgz",
1993 "integrity": "sha512-w4X77ADA+WTGlapC8Z6yggdJtODw3SBl6R2LSkA7ZW5MtdkgcB7sfaSD1UWyx8diXbMcGIb0eI9gCx/dyqOgNQ==", 2073 "integrity": "sha512-XIiWYLayLqV+oY4S2Lub/shJq4uk/QQLwWToYCL4LjZbYHbFK3czea4UDVRUJu+zNmKmxq5Zb/OG7c5HSvH2TQ==",
1994 "dev": true, 2074 "dev": true,
1995 "requires": { 2075 "requires": {
1996 "fsevents": "~2.1.2" 2076 "fsevents": "~2.1.2"
@@ -2008,10 +2088,13 @@
2008 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" 2088 "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
2009 }, 2089 },
2010 "serialize-javascript": { 2090 "serialize-javascript": {
2011 "version": "3.0.0", 2091 "version": "4.0.0",
2012 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", 2092 "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz",
2013 "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==", 2093 "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==",
2014 "dev": true 2094 "dev": true,
2095 "requires": {
2096 "randombytes": "^2.1.0"
2097 }
2015 }, 2098 },
2016 "set-blocking": { 2099 "set-blocking": {
2017 "version": "2.0.0", 2100 "version": "2.0.0",
@@ -2130,9 +2213,9 @@
2130 } 2213 }
2131 }, 2214 },
2132 "strip-json-comments": { 2215 "strip-json-comments": {
2133 "version": "3.1.0", 2216 "version": "3.1.1",
2134 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.0.tgz", 2217 "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
2135 "integrity": "sha512-e6/d0eBu7gHtdCqFt0xJr642LdToM5/cN4Qb9DbHjVx1CP5RyeM+zH7pbecEmDv/lBqb0QH+6Uqq75rxFPkM0w==", 2218 "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
2136 "dev": true 2219 "dev": true
2137 }, 2220 },
2138 "supports-color": { 2221 "supports-color": {
@@ -2162,6 +2245,15 @@
2162 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", 2245 "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
2163 "dev": true 2246 "dev": true
2164 }, 2247 },
2248 "tmp": {
2249 "version": "0.0.29",
2250 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz",
2251 "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=",
2252 "dev": true,
2253 "requires": {
2254 "os-tmpdir": "~1.0.1"
2255 }
2256 },
2165 "to-regex-range": { 2257 "to-regex-range": {
2166 "version": "5.0.1", 2258 "version": "5.0.1",
2167 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 2259 "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -2172,9 +2264,9 @@
2172 } 2264 }
2173 }, 2265 },
2174 "tslib": { 2266 "tslib": {
2175 "version": "2.0.0", 2267 "version": "2.0.1",
2176 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.0.tgz", 2268 "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.1.tgz",
2177 "integrity": "sha512-lTqkx847PI7xEDYJntxZH89L2/aXInsyF2luSafe/+0fHOMjlBNXdH6th7f70qxLDhul7KZK0zC8V5ZIyHl0/g==", 2269 "integrity": "sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ==",
2178 "dev": true 2270 "dev": true
2179 }, 2271 },
2180 "tsutils": { 2272 "tsutils": {
@@ -2226,9 +2318,9 @@
2226 } 2318 }
2227 }, 2319 },
2228 "typescript": { 2320 "typescript": {
2229 "version": "3.9.5", 2321 "version": "3.9.7",
2230 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", 2322 "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
2231 "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==", 2323 "integrity": "sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==",
2232 "dev": true 2324 "dev": true
2233 }, 2325 },
2234 "typescript-formatter": { 2326 "typescript-formatter": {
@@ -2254,9 +2346,9 @@
2254 "dev": true 2346 "dev": true
2255 }, 2347 },
2256 "uri-js": { 2348 "uri-js": {
2257 "version": "4.2.2", 2349 "version": "4.4.0",
2258 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", 2350 "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz",
2259 "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", 2351 "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==",
2260 "dev": true, 2352 "dev": true,
2261 "requires": { 2353 "requires": {
2262 "punycode": "^2.1.0" 2354 "punycode": "^2.1.0"
@@ -2281,9 +2373,9 @@
2281 "dev": true 2373 "dev": true
2282 }, 2374 },
2283 "vsce": { 2375 "vsce": {
2284 "version": "1.75.0", 2376 "version": "1.79.5",
2285 "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.75.0.tgz", 2377 "resolved": "https://registry.npmjs.org/vsce/-/vsce-1.79.5.tgz",
2286 "integrity": "sha512-qyAQTmolxKWc9bV1z0yBTSH4WEIWhDueBJMKB0GUFD6lM4MiaU1zJ9BtzekUORZu094YeNSKz0RmVVuxfqPq0g==", 2378 "integrity": "sha512-KZFOthGwxWFwoGqwrkzfTfyCZGuniTofnJ1a/dCzQ2HP93u1UuCKrTQyGT+SuGHu8sNqdBYNe0hb9GC3qCN7fg==",
2287 "dev": true, 2379 "dev": true,
2288 "requires": { 2380 "requires": {
2289 "azure-devops-node-api": "^7.2.0", 2381 "azure-devops-node-api": "^7.2.0",
@@ -2313,45 +2405,36 @@
2313 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", 2405 "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
2314 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", 2406 "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
2315 "dev": true 2407 "dev": true
2316 },
2317 "tmp": {
2318 "version": "0.0.29",
2319 "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.29.tgz",
2320 "integrity": "sha1-8lEl/w3Z2jzLDC3Tce4SiLuRKMA=",
2321 "dev": true,
2322 "requires": {
2323 "os-tmpdir": "~1.0.1"
2324 }
2325 } 2408 }
2326 } 2409 }
2327 }, 2410 },
2328 "vscode-jsonrpc": { 2411 "vscode-jsonrpc": {
2329 "version": "5.1.0-next.1", 2412 "version": "6.0.0-next.5",
2330 "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-5.1.0-next.1.tgz", 2413 "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-6.0.0-next.5.tgz",
2331 "integrity": "sha512-mwLDojZkbmpizSJSmp690oa9FB9jig18SIDGZeBCvFc2/LYSRvMm/WwWtMBJuJ1MfFh7rZXfQige4Uje5Z9NzA==" 2414 "integrity": "sha512-IAgsltQPwg/pXOPsdXgbUTCaO9VSKZwirZN5SGtkdYQ/R3VjeC4v00WTVvoNayWMZpoC3O9u0ogqmsKzKhVasQ=="
2332 }, 2415 },
2333 "vscode-languageclient": { 2416 "vscode-languageclient": {
2334 "version": "7.0.0-next.1", 2417 "version": "7.0.0-next.9",
2335 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0-next.1.tgz", 2418 "resolved": "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-7.0.0-next.9.tgz",
2336 "integrity": "sha512-JrjCUhLpQZxQ5VpWpilOHDMhVsn0fdN5jBh1uFNhSr5c2loJvRdr9Km2EuSQOFfOQsBKx0+xvY8PbsypNEcJ6w==", 2419 "integrity": "sha512-lFO+rN/i72CM2va6iKXq1lD7pJg8J93KEXf0w0boWVqU+DJhWzLrV3pXl8Xk1nCv//qOAyhlc/nx2KZCTeRF/A==",
2337 "requires": { 2420 "requires": {
2338 "semver": "^6.3.0", 2421 "semver": "^6.3.0",
2339 "vscode-languageserver-protocol": "3.16.0-next.2" 2422 "vscode-languageserver-protocol": "3.16.0-next.7"
2340 } 2423 }
2341 }, 2424 },
2342 "vscode-languageserver-protocol": { 2425 "vscode-languageserver-protocol": {
2343 "version": "3.16.0-next.2", 2426 "version": "3.16.0-next.7",
2344 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0-next.2.tgz", 2427 "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.16.0-next.7.tgz",
2345 "integrity": "sha512-atmkGT/W6tF0cx4SaWFYtFs2UeSeC28RPiap9myv2YZTaTCFvTBEPNWrU5QRKfkyM0tbgtGo6T3UCQ8tkDpjzA==", 2428 "integrity": "sha512-tOjrg+K3RddJ547zpC9/LAgTbzadkPuHlqJFFWIcKjVhiJOh73XyY+Ngcu9wukGaTsuSGjJ0W8rlmwanixa0FQ==",
2346 "requires": { 2429 "requires": {
2347 "vscode-jsonrpc": "5.1.0-next.1", 2430 "vscode-jsonrpc": "6.0.0-next.5",
2348 "vscode-languageserver-types": "3.16.0-next.1" 2431 "vscode-languageserver-types": "3.16.0-next.3"
2349 } 2432 }
2350 }, 2433 },
2351 "vscode-languageserver-types": { 2434 "vscode-languageserver-types": {
2352 "version": "3.16.0-next.1", 2435 "version": "3.16.0-next.3",
2353 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.1.tgz", 2436 "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.16.0-next.3.tgz",
2354 "integrity": "sha512-tZFUSbyjUcrh+qQf13ALX4QDdOfDX0cVaBFgy7ktJ0VwS7AW/yRKgGPSxVqqP9OCMNPdqP57O5q47w2pEwfaUg==" 2437 "integrity": "sha512-s/z5ZqSe7VpoXJ6JQcvwRiPPA3nG0nAcJ/HH03zoU6QaFfnkcgPK+HshC3WKPPnC2G08xA0iRB6h7kmyBB5Adg=="
2355 }, 2438 },
2356 "vscode-test": { 2439 "vscode-test": {
2357 "version": "1.4.0", 2440 "version": "1.4.0",
@@ -2519,6 +2602,15 @@
2519 "path-exists": "^3.0.0" 2602 "path-exists": "^3.0.0"
2520 } 2603 }
2521 }, 2604 },
2605 "p-limit": {
2606 "version": "2.3.0",
2607 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
2608 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2609 "dev": true,
2610 "requires": {
2611 "p-try": "^2.0.0"
2612 }
2613 },
2522 "p-locate": { 2614 "p-locate": {
2523 "version": "3.0.0", 2615 "version": "3.0.0",
2524 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", 2616 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
@@ -2547,14 +2639,90 @@
2547 } 2639 }
2548 }, 2640 },
2549 "yargs-unparser": { 2641 "yargs-unparser": {
2550 "version": "1.6.0", 2642 "version": "1.6.1",
2551 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.0.tgz", 2643 "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-1.6.1.tgz",
2552 "integrity": "sha512-W9tKgmSn0DpSatfri0nx52Joq5hVXgeLiqR/5G0sZNDoLZFOr/xjBUDcShCOGNsBnEMNo1KAMBkTej1Hm62HTw==", 2644 "integrity": "sha512-qZV14lK9MWsGCmcr7u5oXGH0dbGqZAIxTDrWXZDo5zUr6b6iUmelNKO6x6R1dQT24AH3LgRxJpr8meWy2unolA==",
2553 "dev": true, 2645 "dev": true,
2554 "requires": { 2646 "requires": {
2647 "camelcase": "^5.3.1",
2648 "decamelize": "^1.2.0",
2555 "flat": "^4.1.0", 2649 "flat": "^4.1.0",
2556 "lodash": "^4.17.15", 2650 "is-plain-obj": "^1.1.0",
2557 "yargs": "^13.3.0" 2651 "yargs": "^14.2.3"
2652 },
2653 "dependencies": {
2654 "find-up": {
2655 "version": "3.0.0",
2656 "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
2657 "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
2658 "dev": true,
2659 "requires": {
2660 "locate-path": "^3.0.0"
2661 }
2662 },
2663 "locate-path": {
2664 "version": "3.0.0",
2665 "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
2666 "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
2667 "dev": true,
2668 "requires": {
2669 "p-locate": "^3.0.0",
2670 "path-exists": "^3.0.0"
2671 }
2672 },
2673 "p-limit": {
2674 "version": "2.3.0",
2675 "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
2676 "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
2677 "dev": true,
2678 "requires": {
2679 "p-try": "^2.0.0"
2680 }
2681 },
2682 "p-locate": {
2683 "version": "3.0.0",
2684 "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
2685 "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
2686 "dev": true,
2687 "requires": {
2688 "p-limit": "^2.0.0"
2689 }
2690 },
2691 "path-exists": {
2692 "version": "3.0.0",
2693 "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
2694 "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
2695 "dev": true
2696 },
2697 "yargs": {
2698 "version": "14.2.3",
2699 "resolved": "https://registry.npmjs.org/yargs/-/yargs-14.2.3.tgz",
2700 "integrity": "sha512-ZbotRWhF+lkjijC/VhmOT9wSgyBQ7+zr13+YLkhfsSiTriYsMzkTUFP18pFhWwBeMa5gUc1MzbhrO6/VB7c9Xg==",
2701 "dev": true,
2702 "requires": {
2703 "cliui": "^5.0.0",
2704 "decamelize": "^1.2.0",
2705 "find-up": "^3.0.0",
2706 "get-caller-file": "^2.0.1",
2707 "require-directory": "^2.1.1",
2708 "require-main-filename": "^2.0.0",
2709 "set-blocking": "^2.0.0",
2710 "string-width": "^3.0.0",
2711 "which-module": "^2.0.0",
2712 "y18n": "^4.0.0",
2713 "yargs-parser": "^15.0.1"
2714 }
2715 },
2716 "yargs-parser": {
2717 "version": "15.0.1",
2718 "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-15.0.1.tgz",
2719 "integrity": "sha512-0OAMV2mAZQrs3FkNpDQcBk1x5HXb8X4twADss4S0Iuk+2dGnLOE/fRHrsYm542GduMveyA77OF4wrNJuanRCWw==",
2720 "dev": true,
2721 "requires": {
2722 "camelcase": "^5.0.0",
2723 "decamelize": "^1.2.0"
2724 }
2725 }
2558 } 2726 }
2559 }, 2727 },
2560 "yauzl": { 2728 "yauzl": {
diff --git a/editors/code/package.json b/editors/code/package.json
index 034090155..c57fbdda2 100644
--- a/editors/code/package.json
+++ b/editors/code/package.json
@@ -21,7 +21,7 @@
21 "Programming Languages" 21 "Programming Languages"
22 ], 22 ],
23 "engines": { 23 "engines": {
24 "vscode": "^1.44.1" 24 "vscode": "^1.47.1"
25 }, 25 },
26 "enableProposedApi": true, 26 "enableProposedApi": true,
27 "scripts": { 27 "scripts": {
@@ -35,27 +35,27 @@
35 "test": "node ./out/tests/runTests.js" 35 "test": "node ./out/tests/runTests.js"
36 }, 36 },
37 "dependencies": { 37 "dependencies": {
38 "node-fetch": "^2.6.0", 38 "node-fetch": "^2.6.1",
39 "vscode-languageclient": "7.0.0-next.1" 39 "vscode-languageclient": "7.0.0-next.9"
40 }, 40 },
41 "devDependencies": { 41 "devDependencies": {
42 "@rollup/plugin-commonjs": "^13.0.0", 42 "@rollup/plugin-commonjs": "^13.0.2",
43 "@rollup/plugin-node-resolve": "^8.1.0", 43 "@rollup/plugin-node-resolve": "^8.4.0",
44 "@types/glob": "^7.1.2", 44 "@types/glob": "^7.1.3",
45 "@types/mocha": "^7.0.2", 45 "@types/mocha": "^7.0.2",
46 "@types/node": "~12.7.0", 46 "@types/node": "~12.7.0",
47 "@types/node-fetch": "^2.5.7", 47 "@types/node-fetch": "^2.5.7",
48 "@types/vscode": "^1.44.1", 48 "@types/vscode": "^1.47.1",
49 "@typescript-eslint/eslint-plugin": "^3.4.0", 49 "@typescript-eslint/eslint-plugin": "^3.10.1",
50 "@typescript-eslint/parser": "^3.4.0", 50 "@typescript-eslint/parser": "^3.10.1",
51 "eslint": "^7.3.1", 51 "eslint": "^7.8.0",
52 "glob": "^7.1.6", 52 "glob": "^7.1.6",
53 "mocha": "^8.0.1", 53 "mocha": "^8.1.3",
54 "rollup": "^2.18.1", 54 "rollup": "^2.26.9",
55 "tslib": "^2.0.0", 55 "tslib": "^2.0.1",
56 "typescript": "^3.9.5", 56 "typescript": "^3.9.7",
57 "typescript-formatter": "^7.2.2", 57 "typescript-formatter": "^7.2.2",
58 "vsce": "^1.75.0", 58 "vsce": "^1.79.5",
59 "vscode-test": "^1.4.0" 59 "vscode-test": "^1.4.0"
60 }, 60 },
61 "activationEvents": [ 61 "activationEvents": [
@@ -626,6 +626,21 @@
626 }, 626 },
627 "description": "List of warnings that should be displayed with hint severity.\nThe warnings will be indicated by faded text or three dots in code and will not show up in the problems panel.", 627 "description": "List of warnings that should be displayed with hint severity.\nThe warnings will be indicated by faded text or three dots in code and will not show up in the problems panel.",
628 "default": [] 628 "default": []
629 },
630 "rust-analyzer.assist.importMergeBehaviour": {
631 "type": "string",
632 "enum": [
633 "none",
634 "full",
635 "last"
636 ],
637 "enumDescriptions": [
638 "No merging",
639 "Merge all layers of the import trees",
640 "Only merge the last layer of the import trees"
641 ],
642 "default": "full",
643 "description": "The strategy to use when inserting new imports or merging imports."
629 } 644 }
630 } 645 }
631 }, 646 },
@@ -864,6 +879,10 @@
864 { 879 {
865 "id": "unsafe", 880 "id": "unsafe",
866 "description": "Style for unsafe operations" 881 "description": "Style for unsafe operations"
882 },
883 {
884 "id": "consuming",
885 "description": "Style for non-Copy lvalues consumed by method/function call"
867 } 886 }
868 ], 887 ],
869 "semanticTokenScopes": [ 888 "semanticTokenScopes": [
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts
index f5db55b8c..1ba2352ee 100644
--- a/editors/code/src/client.ts
+++ b/editors/code/src/client.ts
@@ -1,10 +1,7 @@
1import * as lc from 'vscode-languageclient'; 1import * as lc from 'vscode-languageclient/node';
2import * as vscode from 'vscode'; 2import * as vscode from 'vscode';
3import * as ra from '../src/lsp_ext'; 3import * as ra from '../src/lsp_ext';
4import * as Is from 'vscode-languageclient/lib/utils/is'; 4import * as Is from 'vscode-languageclient/lib/common/utils/is';
5
6import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed';
7import { SemanticTokensFeature } from 'vscode-languageclient/lib/semanticTokens.proposed';
8import { assert } from './util'; 5import { assert } from './util';
9 6
10function renderCommand(cmd: ra.CommandLink) { 7function renderCommand(cmd: ra.CommandLink) {
@@ -57,7 +54,7 @@ export function createClient(serverPath: string, cwd: string): lc.LanguageClient
57 return hover; 54 return hover;
58 }, 55 },
59 (error) => { 56 (error) => {
60 client.logFailedRequest(lc.HoverRequest.type, error); 57 client.handleFailedRequest(lc.HoverRequest.type, error, null);
61 return Promise.resolve(null); 58 return Promise.resolve(null);
62 }); 59 });
63 }, 60 },
@@ -140,12 +137,6 @@ export function createClient(serverPath: string, cwd: string): lc.LanguageClient
140 ); 137 );
141 138
142 // To turn on all proposed features use: client.registerProposedFeatures(); 139 // To turn on all proposed features use: client.registerProposedFeatures();
143 // Here we want to enable CallHierarchyFeature and SemanticTokensFeature
144 // since they are available on stable.
145 // Note that while these features are stable in vscode their LSP protocol
146 // implementations are still in the "proposed" category for 3.16.
147 client.registerFeature(new CallHierarchyFeature(client));
148 client.registerFeature(new SemanticTokensFeature(client));
149 client.registerFeature(new ExperimentalFeatures()); 140 client.registerFeature(new ExperimentalFeatures());
150 141
151 return client; 142 return client;
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts
index d0faf4745..e9581a9b5 100644
--- a/editors/code/src/commands.ts
+++ b/editors/code/src/commands.ts
@@ -21,7 +21,7 @@ export function analyzerStatus(ctx: Ctx): Cmd {
21 provideTextDocumentContent(_uri: vscode.Uri): vscode.ProviderResult<string> { 21 provideTextDocumentContent(_uri: vscode.Uri): vscode.ProviderResult<string> {
22 if (!vscode.window.activeTextEditor) return ''; 22 if (!vscode.window.activeTextEditor) return '';
23 23
24 return ctx.client.sendRequest(ra.analyzerStatus, null); 24 return ctx.client.sendRequest(ra.analyzerStatus);
25 } 25 }
26 26
27 get onDidChange(): vscode.Event<vscode.Uri> { 27 get onDidChange(): vscode.Event<vscode.Uri> {
@@ -63,7 +63,7 @@ export function memoryUsage(ctx: Ctx): Cmd {
63 provideTextDocumentContent(_uri: vscode.Uri): vscode.ProviderResult<string> { 63 provideTextDocumentContent(_uri: vscode.Uri): vscode.ProviderResult<string> {
64 if (!vscode.window.activeTextEditor) return ''; 64 if (!vscode.window.activeTextEditor) return '';
65 65
66 return ctx.client.sendRequest(ra.memoryUsage, null).then((mem) => { 66 return ctx.client.sendRequest(ra.memoryUsage).then((mem: any) => {
67 return 'Per-query memory usage:\n' + mem + '\n(note: database has been cleared)'; 67 return 'Per-query memory usage:\n' + mem + '\n(note: database has been cleared)';
68 }); 68 });
69 } 69 }
@@ -121,7 +121,7 @@ export function joinLines(ctx: Ctx): Cmd {
121 textDocument: { uri: editor.document.uri.toString() }, 121 textDocument: { uri: editor.document.uri.toString() },
122 }); 122 });
123 editor.edit((builder) => { 123 editor.edit((builder) => {
124 client.protocol2CodeConverter.asTextEdits(items).forEach((edit) => { 124 client.protocol2CodeConverter.asTextEdits(items).forEach((edit: any) => {
125 builder.replace(edit.range, edit.newText); 125 builder.replace(edit.range, edit.newText);
126 }); 126 });
127 }); 127 });
@@ -140,8 +140,8 @@ export function onEnter(ctx: Ctx): Cmd {
140 position: client.code2ProtocolConverter.asPosition( 140 position: client.code2ProtocolConverter.asPosition(
141 editor.selection.active, 141 editor.selection.active,
142 ), 142 ),
143 }).catch(_error => { 143 }).catch((_error: any) => {
144 // client.logFailedRequest(OnEnterRequest.type, error); 144 // client.handleFailedRequest(OnEnterRequest.type, error, null);
145 return null; 145 return null;
146 }); 146 });
147 if (!lcEdits) return false; 147 if (!lcEdits) return false;
@@ -195,7 +195,7 @@ export function ssr(ctx: Ctx): Cmd {
195 195
196 const options: vscode.InputBoxOptions = { 196 const options: vscode.InputBoxOptions = {
197 value: "() ==>> ()", 197 value: "() ==>> ()",
198 prompt: "Enter request, for example 'Foo($a) ==> Foo::new($a)' ", 198 prompt: "Enter request, for example 'Foo($a) ==>> Foo::new($a)' ",
199 validateInput: async (x: string) => { 199 validateInput: async (x: string) => {
200 try { 200 try {
201 await client.sendRequest(ra.ssr, { 201 await client.sendRequest(ra.ssr, {
@@ -372,7 +372,7 @@ export function expandMacro(ctx: Ctx): Cmd {
372} 372}
373 373
374export function reloadWorkspace(ctx: Ctx): Cmd { 374export function reloadWorkspace(ctx: Ctx): Cmd {
375 return async () => ctx.client.sendRequest(ra.reloadWorkspace, null); 375 return async () => ctx.client.sendRequest(ra.reloadWorkspace);
376} 376}
377 377
378export function showReferences(ctx: Ctx): Cmd { 378export function showReferences(ctx: Ctx): Cmd {
diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts
index 543f7e02e..d39864d33 100644
--- a/editors/code/src/ctx.ts
+++ b/editors/code/src/ctx.ts
@@ -1,5 +1,5 @@
1import * as vscode from 'vscode'; 1import * as vscode from 'vscode';
2import * as lc from 'vscode-languageclient'; 2import * as lc from 'vscode-languageclient/node';
3import * as ra from './lsp_ext'; 3import * as ra from './lsp_ext';
4 4
5import { Config } from './config'; 5import { Config } from './config';
diff --git a/editors/code/src/lsp_ext.ts b/editors/code/src/lsp_ext.ts
index f280bba3d..d167041c4 100644
--- a/editors/code/src/lsp_ext.ts
+++ b/editors/code/src/lsp_ext.ts
@@ -4,8 +4,8 @@
4 4
5import * as lc from "vscode-languageclient"; 5import * as lc from "vscode-languageclient";
6 6
7export const analyzerStatus = new lc.RequestType<null, string, void>("rust-analyzer/analyzerStatus"); 7export const analyzerStatus = new lc.RequestType0<string, void>("rust-analyzer/analyzerStatus");
8export const memoryUsage = new lc.RequestType<null, string, void>("rust-analyzer/memoryUsage"); 8export const memoryUsage = new lc.RequestType0<string, void>("rust-analyzer/memoryUsage");
9 9
10export type Status = "loading" | "ready" | "invalid" | "needsReload"; 10export type Status = "loading" | "ready" | "invalid" | "needsReload";
11export interface StatusParams { 11export interface StatusParams {
@@ -13,7 +13,7 @@ export interface StatusParams {
13} 13}
14export const status = new lc.NotificationType<StatusParams>("rust-analyzer/status"); 14export const status = new lc.NotificationType<StatusParams>("rust-analyzer/status");
15 15
16export const reloadWorkspace = new lc.RequestType<null, null, void>("rust-analyzer/reloadWorkspace"); 16export const reloadWorkspace = new lc.RequestType0<null, void>("rust-analyzer/reloadWorkspace");
17 17
18export interface SyntaxTreeParams { 18export interface SyntaxTreeParams {
19 textDocument: lc.TextDocumentIdentifier; 19 textDocument: lc.TextDocumentIdentifier;
diff --git a/editors/code/src/util.ts b/editors/code/src/util.ts
index ec2087502..08159b43c 100644
--- a/editors/code/src/util.ts
+++ b/editors/code/src/util.ts
@@ -1,4 +1,4 @@
1import * as lc from "vscode-languageclient"; 1import * as lc from "vscode-languageclient/node";
2import * as vscode from "vscode"; 2import * as vscode from "vscode";
3import { strict as nativeAssert } from "assert"; 3import { strict as nativeAssert } from "assert";
4import { spawnSync } from "child_process"; 4import { spawnSync } from "child_process";