diff options
Diffstat (limited to 'editors')
-rw-r--r-- | editors/code/package-lock.json | 972 | ||||
-rw-r--r-- | editors/code/package.json | 171 | ||||
-rw-r--r-- | editors/code/rollup.config.js | 10 | ||||
-rw-r--r-- | editors/code/rust.tmGrammar.json | 4 | ||||
-rw-r--r-- | editors/code/src/client.ts | 109 | ||||
-rw-r--r-- | editors/code/src/commands.ts | 155 | ||||
-rw-r--r-- | editors/code/src/config.ts | 36 | ||||
-rw-r--r-- | editors/code/src/ctx.ts | 43 | ||||
-rw-r--r-- | editors/code/src/debug.ts | 129 | ||||
-rw-r--r-- | editors/code/src/lsp_ext.ts | 41 | ||||
-rw-r--r-- | editors/code/src/main.ts | 88 | ||||
-rw-r--r-- | editors/code/src/net.ts | 54 | ||||
-rw-r--r-- | editors/code/src/persistent_state.ts | 2 | ||||
-rw-r--r-- | editors/code/src/run.ts | 155 | ||||
-rw-r--r-- | editors/code/src/status_display.ts | 100 | ||||
-rw-r--r-- | editors/code/src/tasks.ts | 112 | ||||
-rw-r--r-- | editors/code/src/toolchain.ts (renamed from editors/code/src/cargo.ts) | 117 | ||||
-rw-r--r-- | editors/code/src/util.ts | 64 | ||||
-rw-r--r-- | editors/code/tests/unit/index.ts | 4 | ||||
-rw-r--r-- | editors/code/tests/unit/launch_config.test.ts | 14 | ||||
-rw-r--r-- | editors/code/tests/unit/runnable_env.test.ts | 118 | ||||
-rw-r--r-- | editors/code/tsconfig.json | 2 |
22 files changed, 1392 insertions, 1108 deletions
diff --git a/editors/code/package-lock.json b/editors/code/package-lock.json index 3b4a31682..b0f24b10a 100644 --- a/editors/code/package-lock.json +++ b/editors/code/package-lock.json | |||
@@ -5,35 +5,35 @@ | |||
5 | "requires": true, | 5 | "requires": true, |
6 | "dependencies": { | 6 | "dependencies": { |
7 | "@babel/code-frame": { | 7 | "@babel/code-frame": { |
8 | "version": "7.8.3", | 8 | "version": "7.10.3", |
9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", | 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.3.tgz", |
10 | "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", | 10 | "integrity": "sha512-fDx9eNW0qz0WkUeqL6tXEXzVlPh6Y5aCDEZesl0xBGA8ndRukX91Uk44ZqnkECp01NAZUdCAl+aiQNGi0k88Eg==", |
11 | "dev": true, | 11 | "dev": true, |
12 | "requires": { | 12 | "requires": { |
13 | "@babel/highlight": "^7.8.3" | 13 | "@babel/highlight": "^7.10.3" |
14 | } | 14 | } |
15 | }, | 15 | }, |
16 | "@babel/helper-validator-identifier": { | 16 | "@babel/helper-validator-identifier": { |
17 | "version": "7.9.5", | 17 | "version": "7.10.3", |
18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", | 18 | "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.3.tgz", |
19 | "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==", | 19 | "integrity": "sha512-bU8JvtlYpJSBPuj1VUmKpFGaDZuLxASky3LhaKj3bmpSTY6VWooSM8msk+Z0CZoErFye2tlABF6yDkT3FOPAXw==", |
20 | "dev": true | 20 | "dev": true |
21 | }, | 21 | }, |
22 | "@babel/highlight": { | 22 | "@babel/highlight": { |
23 | "version": "7.9.0", | 23 | "version": "7.10.3", |
24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", | 24 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.3.tgz", |
25 | "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", | 25 | "integrity": "sha512-Ih9B/u7AtgEnySE2L2F0Xm0GaM729XqqLfHkalTsbjXGyqmf/6M0Cu0WpvqueUlW+xk88BHw9Nkpj49naU+vWw==", |
26 | "dev": true, | 26 | "dev": true, |
27 | "requires": { | 27 | "requires": { |
28 | "@babel/helper-validator-identifier": "^7.9.0", | 28 | "@babel/helper-validator-identifier": "^7.10.3", |
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 | "@rollup/plugin-commonjs": { | 33 | "@rollup/plugin-commonjs": { |
34 | "version": "12.0.0", | 34 | "version": "13.0.0", |
35 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-12.0.0.tgz", | 35 | "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-13.0.0.tgz", |
36 | "integrity": "sha512-8+mDQt1QUmN+4Y9D3yCG8AJNewuTSLYPJVzKKUZ+lGeQrI+bV12Tc5HCyt2WdlnG6ihIL/DPbKRJlB40DX40mw==", | 36 | "integrity": "sha512-Anxc3qgkAi7peAyesTqGYidG5GRim9jtg8xhmykNaZkImtvjA7Wsqep08D2mYsqw1IF7rA3lYfciLgzUSgRoqw==", |
37 | "dev": true, | 37 | "dev": true, |
38 | "requires": { | 38 | "requires": { |
39 | "@rollup/pluginutils": "^3.0.8", | 39 | "@rollup/pluginutils": "^3.0.8", |
@@ -46,9 +46,9 @@ | |||
46 | } | 46 | } |
47 | }, | 47 | }, |
48 | "@rollup/plugin-node-resolve": { | 48 | "@rollup/plugin-node-resolve": { |
49 | "version": "8.0.0", | 49 | "version": "8.1.0", |
50 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.0.0.tgz", | 50 | "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-8.1.0.tgz", |
51 | "integrity": "sha512-5poJCChrkVggXXND/sQ7yNqwjUNT4fP31gpRWCnSNnlXuUXTCMHT33xZrTGxgjm5Rl18MHj7iEzlCT8rYWwQSA==", | 51 | "integrity": "sha512-ovq7ZM3JJYUUmEjjO+H8tnUdmQmdQudJB7xruX8LFZ1W2q8jXdPUS6SsIYip8ByOApu4RR7729Am9WhCeCMiHA==", |
52 | "dev": true, | 52 | "dev": true, |
53 | "requires": { | 53 | "requires": { |
54 | "@rollup/pluginutils": "^3.0.8", | 54 | "@rollup/pluginutils": "^3.0.8", |
@@ -89,19 +89,12 @@ | |||
89 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", | 89 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", |
90 | "dev": true | 90 | "dev": true |
91 | }, | 91 | }, |
92 | "@types/events": { | ||
93 | "version": "3.0.0", | ||
94 | "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", | ||
95 | "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", | ||
96 | "dev": true | ||
97 | }, | ||
98 | "@types/glob": { | 92 | "@types/glob": { |
99 | "version": "7.1.1", | 93 | "version": "7.1.2", |
100 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", | 94 | "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.2.tgz", |
101 | "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", | 95 | "integrity": "sha512-VgNIkxK+j7Nz5P7jvUZlRvhuPSmsEfS03b0alKcq5V/STUKAa3Plemsn5mrQUO7am6OErJ4rhGEGJbACclrtRA==", |
102 | "dev": true, | 96 | "dev": true, |
103 | "requires": { | 97 | "requires": { |
104 | "@types/events": "*", | ||
105 | "@types/minimatch": "*", | 98 | "@types/minimatch": "*", |
106 | "@types/node": "*" | 99 | "@types/node": "*" |
107 | } | 100 | } |
@@ -125,9 +118,9 @@ | |||
125 | "dev": true | 118 | "dev": true |
126 | }, | 119 | }, |
127 | "@types/node": { | 120 | "@types/node": { |
128 | "version": "14.0.5", | 121 | "version": "12.7.12", |
129 | "resolved": "https://registry.npmjs.org/@types/node/-/node-14.0.5.tgz", | 122 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.7.12.tgz", |
130 | "integrity": "sha512-90hiq6/VqtQgX8Sp0EzeIsv3r+ellbGj4URKj5j30tLlZvRUpnAe9YbYnjl3pJM93GyXU0tghHhvXHq+5rnCKA==", | 123 | "integrity": "sha512-KPYGmfD0/b1eXurQ59fXD1GBzhSQfz6/lKBxkaHX9dKTzjXbK68Zt7yGUxUsCS1jeTy/8aL+d9JEr+S54mpkWQ==", |
131 | "dev": true | 124 | "dev": true |
132 | }, | 125 | }, |
133 | "@types/node-fetch": { | 126 | "@types/node-fetch": { |
@@ -156,18 +149,46 @@ | |||
156 | "dev": true | 149 | "dev": true |
157 | }, | 150 | }, |
158 | "@typescript-eslint/eslint-plugin": { | 151 | "@typescript-eslint/eslint-plugin": { |
159 | "version": "3.0.0", | 152 | "version": "3.4.0", |
160 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.0.0.tgz", | 153 | "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-3.4.0.tgz", |
161 | "integrity": "sha512-lcZ0M6jD4cqGccYOERKdMtg+VWpoq3NSnWVxpc/AwAy0zhkUYVioOUZmfNqiNH8/eBNGhCn6HXd6mKIGRgNc1Q==", | 154 | "integrity": "sha512-wfkpiqaEVhZIuQRmudDszc01jC/YR7gMSxa6ulhggAe/Hs0KVIuo9wzvFiDbG3JD5pRFQoqnf4m7REDsUvBnMQ==", |
162 | "dev": true, | 155 | "dev": true, |
163 | "requires": { | 156 | "requires": { |
164 | "@typescript-eslint/experimental-utils": "3.0.0", | 157 | "@typescript-eslint/experimental-utils": "3.4.0", |
158 | "debug": "^4.1.1", | ||
165 | "functional-red-black-tree": "^1.0.1", | 159 | "functional-red-black-tree": "^1.0.1", |
166 | "regexpp": "^3.0.0", | 160 | "regexpp": "^3.0.0", |
167 | "semver": "^7.3.2", | 161 | "semver": "^7.3.2", |
168 | "tsutils": "^3.17.1" | 162 | "tsutils": "^3.17.1" |
169 | }, | 163 | }, |
170 | "dependencies": { | 164 | "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 | }, | ||
171 | "semver": { | 192 | "semver": { |
172 | "version": "7.3.2", | 193 | "version": "7.3.2", |
173 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", | 194 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", |
@@ -177,33 +198,33 @@ | |||
177 | } | 198 | } |
178 | }, | 199 | }, |
179 | "@typescript-eslint/experimental-utils": { | 200 | "@typescript-eslint/experimental-utils": { |
180 | "version": "3.0.0", | 201 | "version": "3.4.0", |
181 | "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.0.0.tgz", | 202 | "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.4.0.tgz", |
182 | "integrity": "sha512-BN0vmr9N79M9s2ctITtChRuP1+Dls0x/wlg0RXW1yQ7WJKPurg6X3Xirv61J2sjPif4F8SLsFMs5Nzte0WYoTQ==", | 203 | "integrity": "sha512-rHPOjL43lOH1Opte4+dhC0a/+ks+8gOBwxXnyrZ/K4OTAChpSjP76fbI8Cglj7V5GouwVAGaK+xVwzqTyE/TPw==", |
183 | "dev": true, | 204 | "dev": true, |
184 | "requires": { | 205 | "requires": { |
185 | "@types/json-schema": "^7.0.3", | 206 | "@types/json-schema": "^7.0.3", |
186 | "@typescript-eslint/typescript-estree": "3.0.0", | 207 | "@typescript-eslint/typescript-estree": "3.4.0", |
187 | "eslint-scope": "^5.0.0", | 208 | "eslint-scope": "^5.0.0", |
188 | "eslint-utils": "^2.0.0" | 209 | "eslint-utils": "^2.0.0" |
189 | } | 210 | } |
190 | }, | 211 | }, |
191 | "@typescript-eslint/parser": { | 212 | "@typescript-eslint/parser": { |
192 | "version": "3.0.0", | 213 | "version": "3.4.0", |
193 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.0.0.tgz", | 214 | "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.4.0.tgz", |
194 | "integrity": "sha512-8RRCA9KLxoFNO0mQlrLZA0reGPd/MsobxZS/yPFj+0/XgMdS8+mO8mF3BDj2ZYQj03rkayhSJtF1HAohQ3iylw==", | 215 | "integrity": "sha512-ZUGI/de44L5x87uX5zM14UYcbn79HSXUR+kzcqU42gH0AgpdB/TjuJy3m4ezI7Q/jk3wTQd755mxSDLhQP79KA==", |
195 | "dev": true, | 216 | "dev": true, |
196 | "requires": { | 217 | "requires": { |
197 | "@types/eslint-visitor-keys": "^1.0.0", | 218 | "@types/eslint-visitor-keys": "^1.0.0", |
198 | "@typescript-eslint/experimental-utils": "3.0.0", | 219 | "@typescript-eslint/experimental-utils": "3.4.0", |
199 | "@typescript-eslint/typescript-estree": "3.0.0", | 220 | "@typescript-eslint/typescript-estree": "3.4.0", |
200 | "eslint-visitor-keys": "^1.1.0" | 221 | "eslint-visitor-keys": "^1.1.0" |
201 | } | 222 | } |
202 | }, | 223 | }, |
203 | "@typescript-eslint/typescript-estree": { | 224 | "@typescript-eslint/typescript-estree": { |
204 | "version": "3.0.0", | 225 | "version": "3.4.0", |
205 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.0.0.tgz", | 226 | "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.4.0.tgz", |
206 | "integrity": "sha512-nevQvHyNghsfLrrByzVIH4ZG3NROgJ8LZlfh3ddwPPH4CH7W4GAiSx5qu+xHuX5pWsq6q/eqMc1io840ZhAnUg==", | 227 | "integrity": "sha512-zKwLiybtt4uJb4mkG5q2t6+W7BuYx2IISiDNV+IY68VfoGwErDx/RfVI7SWL4gnZ2t1A1ytQQwZ+YOJbHHJ2rw==", |
207 | "dev": true, | 228 | "dev": true, |
208 | "requires": { | 229 | "requires": { |
209 | "debug": "^4.1.1", | 230 | "debug": "^4.1.1", |
@@ -224,9 +245,9 @@ | |||
224 | } | 245 | } |
225 | }, | 246 | }, |
226 | "acorn": { | 247 | "acorn": { |
227 | "version": "7.2.0", | 248 | "version": "7.3.1", |
228 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.2.0.tgz", | 249 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.3.1.tgz", |
229 | "integrity": "sha512-apwXVmYVpQ34m/i71vrApRrRKCWQnZZF1+npOD0WV5xZFfwWOmKGQ2RWlfdy9vWITsenisM8M0Qeq8agcFHNiQ==", | 250 | "integrity": "sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA==", |
230 | "dev": true | 251 | "dev": true |
231 | }, | 252 | }, |
232 | "acorn-jsx": { | 253 | "acorn-jsx": { |
@@ -262,23 +283,6 @@ | |||
262 | "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", | 283 | "integrity": "sha512-LEHHyuhlPY3TmuUYMh2oz89lTShfvgbmzaBcxve9t/9Wuy7Dwf4yoAKcND7KFT1HAQfqZ12qtc+DUrBMeKF9nw==", |
263 | "dev": true | 284 | "dev": true |
264 | }, | 285 | }, |
265 | "ansi-escapes": { | ||
266 | "version": "4.3.1", | ||
267 | "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", | ||
268 | "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", | ||
269 | "dev": true, | ||
270 | "requires": { | ||
271 | "type-fest": "^0.11.0" | ||
272 | }, | ||
273 | "dependencies": { | ||
274 | "type-fest": { | ||
275 | "version": "0.11.0", | ||
276 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", | ||
277 | "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", | ||
278 | "dev": true | ||
279 | } | ||
280 | } | ||
281 | }, | ||
282 | "ansi-regex": { | 286 | "ansi-regex": { |
283 | "version": "5.0.0", | 287 | "version": "5.0.0", |
284 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", | 288 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", |
@@ -313,6 +317,18 @@ | |||
313 | "sprintf-js": "~1.0.2" | 317 | "sprintf-js": "~1.0.2" |
314 | } | 318 | } |
315 | }, | 319 | }, |
320 | "array.prototype.map": { | ||
321 | "version": "1.0.2", | ||
322 | "resolved": "https://registry.npmjs.org/array.prototype.map/-/array.prototype.map-1.0.2.tgz", | ||
323 | "integrity": "sha512-Az3OYxgsa1g7xDYp86l0nnN4bcmuEITGe1rbdEBVkrqkzMgDcbdQ2R7r41pNzti+4NMces3H8gMmuioZUilLgw==", | ||
324 | "dev": true, | ||
325 | "requires": { | ||
326 | "define-properties": "^1.1.3", | ||
327 | "es-abstract": "^1.17.0-next.1", | ||
328 | "es-array-method-boxes-properly": "^1.0.0", | ||
329 | "is-string": "^1.0.4" | ||
330 | } | ||
331 | }, | ||
316 | "astral-regex": { | 332 | "astral-regex": { |
317 | "version": "1.0.0", | 333 | "version": "1.0.0", |
318 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", | 334 | "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", |
@@ -344,9 +360,9 @@ | |||
344 | "dev": true | 360 | "dev": true |
345 | }, | 361 | }, |
346 | "binary-extensions": { | 362 | "binary-extensions": { |
347 | "version": "2.0.0", | 363 | "version": "2.1.0", |
348 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", | 364 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", |
349 | "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", | 365 | "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", |
350 | "dev": true | 366 | "dev": true |
351 | }, | 367 | }, |
352 | "boolbase": { | 368 | "boolbase": { |
@@ -415,12 +431,6 @@ | |||
415 | "supports-color": "^5.3.0" | 431 | "supports-color": "^5.3.0" |
416 | } | 432 | } |
417 | }, | 433 | }, |
418 | "chardet": { | ||
419 | "version": "0.7.0", | ||
420 | "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", | ||
421 | "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", | ||
422 | "dev": true | ||
423 | }, | ||
424 | "cheerio": { | 434 | "cheerio": { |
425 | "version": "1.0.0-rc.3", | 435 | "version": "1.0.0-rc.3", |
426 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", | 436 | "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.3.tgz", |
@@ -436,36 +446,21 @@ | |||
436 | } | 446 | } |
437 | }, | 447 | }, |
438 | "chokidar": { | 448 | "chokidar": { |
439 | "version": "3.3.0", | 449 | "version": "3.3.1", |
440 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", | 450 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.1.tgz", |
441 | "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", | 451 | "integrity": "sha512-4QYCEWOcK3OJrxwvyyAOxFuhpvOVCYkr33LPfFNBjAD/w3sEzWsp2BUOkI4l9bHvWioAd0rc6NlHUOEaWkTeqg==", |
442 | "dev": true, | 452 | "dev": true, |
443 | "requires": { | 453 | "requires": { |
444 | "anymatch": "~3.1.1", | 454 | "anymatch": "~3.1.1", |
445 | "braces": "~3.0.2", | 455 | "braces": "~3.0.2", |
446 | "fsevents": "~2.1.1", | 456 | "fsevents": "~2.1.2", |
447 | "glob-parent": "~5.1.0", | 457 | "glob-parent": "~5.1.0", |
448 | "is-binary-path": "~2.1.0", | 458 | "is-binary-path": "~2.1.0", |
449 | "is-glob": "~4.0.1", | 459 | "is-glob": "~4.0.1", |
450 | "normalize-path": "~3.0.0", | 460 | "normalize-path": "~3.0.0", |
451 | "readdirp": "~3.2.0" | 461 | "readdirp": "~3.3.0" |
452 | } | 462 | } |
453 | }, | 463 | }, |
454 | "cli-cursor": { | ||
455 | "version": "3.1.0", | ||
456 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", | ||
457 | "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", | ||
458 | "dev": true, | ||
459 | "requires": { | ||
460 | "restore-cursor": "^3.1.0" | ||
461 | } | ||
462 | }, | ||
463 | "cli-width": { | ||
464 | "version": "2.2.1", | ||
465 | "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", | ||
466 | "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", | ||
467 | "dev": true | ||
468 | }, | ||
469 | "cliui": { | 464 | "cliui": { |
470 | "version": "5.0.0", | 465 | "version": "5.0.0", |
471 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", | 466 | "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", |
@@ -483,29 +478,6 @@ | |||
483 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | 478 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", |
484 | "dev": true | 479 | "dev": true |
485 | }, | 480 | }, |
486 | "emoji-regex": { | ||
487 | "version": "7.0.3", | ||
488 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
489 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | ||
490 | "dev": true | ||
491 | }, | ||
492 | "is-fullwidth-code-point": { | ||
493 | "version": "2.0.0", | ||
494 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
495 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
496 | "dev": true | ||
497 | }, | ||
498 | "string-width": { | ||
499 | "version": "3.1.0", | ||
500 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
501 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
502 | "dev": true, | ||
503 | "requires": { | ||
504 | "emoji-regex": "^7.0.1", | ||
505 | "is-fullwidth-code-point": "^2.0.0", | ||
506 | "strip-ansi": "^5.1.0" | ||
507 | } | ||
508 | }, | ||
509 | "strip-ansi": { | 481 | "strip-ansi": { |
510 | "version": "5.2.0", | 482 | "version": "5.2.0", |
511 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | 483 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", |
@@ -566,9 +538,9 @@ | |||
566 | "dev": true | 538 | "dev": true |
567 | }, | 539 | }, |
568 | "cross-spawn": { | 540 | "cross-spawn": { |
569 | "version": "7.0.2", | 541 | "version": "7.0.3", |
570 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.2.tgz", | 542 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", |
571 | "integrity": "sha512-PD6G8QG3S4FK/XCGFbEQrDqO2AnMMsy0meR7lerlIOHAAbkuavGU/pOqprrlvfTNjvowivTeBsjebAL0NSoMxw==", | 543 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", |
572 | "dev": true, | 544 | "dev": true, |
573 | "requires": { | 545 | "requires": { |
574 | "path-key": "^3.1.0", | 546 | "path-key": "^3.1.0", |
@@ -649,9 +621,9 @@ | |||
649 | "dev": true | 621 | "dev": true |
650 | }, | 622 | }, |
651 | "diff": { | 623 | "diff": { |
652 | "version": "3.5.0", | 624 | "version": "4.0.2", |
653 | "resolved": "https://registry.npmjs.org/diff/-/diff-3.5.0.tgz", | 625 | "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", |
654 | "integrity": "sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==", | 626 | "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", |
655 | "dev": true | 627 | "dev": true |
656 | }, | 628 | }, |
657 | "doctrine": { | 629 | "doctrine": { |
@@ -719,11 +691,20 @@ | |||
719 | } | 691 | } |
720 | }, | 692 | }, |
721 | "emoji-regex": { | 693 | "emoji-regex": { |
722 | "version": "8.0.0", | 694 | "version": "7.0.3", |
723 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", | 695 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", |
724 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", | 696 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", |
725 | "dev": true | 697 | "dev": true |
726 | }, | 698 | }, |
699 | "enquirer": { | ||
700 | "version": "2.3.5", | ||
701 | "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.5.tgz", | ||
702 | "integrity": "sha512-BNT1C08P9XD0vNg3J475yIUG+mVdp9T6towYFHUv897X0KoHBjB1shyrNmhmtHWKP17iSWgo7Gqh7BBuzLZMSA==", | ||
703 | "dev": true, | ||
704 | "requires": { | ||
705 | "ansi-colors": "^3.2.1" | ||
706 | } | ||
707 | }, | ||
727 | "entities": { | 708 | "entities": { |
728 | "version": "1.1.2", | 709 | "version": "1.1.2", |
729 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", | 710 | "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", |
@@ -731,22 +712,43 @@ | |||
731 | "dev": true | 712 | "dev": true |
732 | }, | 713 | }, |
733 | "es-abstract": { | 714 | "es-abstract": { |
734 | "version": "1.17.5", | 715 | "version": "1.17.6", |
735 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", | 716 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.6.tgz", |
736 | "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", | 717 | "integrity": "sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw==", |
737 | "dev": true, | 718 | "dev": true, |
738 | "requires": { | 719 | "requires": { |
739 | "es-to-primitive": "^1.2.1", | 720 | "es-to-primitive": "^1.2.1", |
740 | "function-bind": "^1.1.1", | 721 | "function-bind": "^1.1.1", |
741 | "has": "^1.0.3", | 722 | "has": "^1.0.3", |
742 | "has-symbols": "^1.0.1", | 723 | "has-symbols": "^1.0.1", |
743 | "is-callable": "^1.1.5", | 724 | "is-callable": "^1.2.0", |
744 | "is-regex": "^1.0.5", | 725 | "is-regex": "^1.1.0", |
745 | "object-inspect": "^1.7.0", | 726 | "object-inspect": "^1.7.0", |
746 | "object-keys": "^1.1.1", | 727 | "object-keys": "^1.1.1", |
747 | "object.assign": "^4.1.0", | 728 | "object.assign": "^4.1.0", |
748 | "string.prototype.trimleft": "^2.1.1", | 729 | "string.prototype.trimend": "^1.0.1", |
749 | "string.prototype.trimright": "^2.1.1" | 730 | "string.prototype.trimstart": "^1.0.1" |
731 | } | ||
732 | }, | ||
733 | "es-array-method-boxes-properly": { | ||
734 | "version": "1.0.0", | ||
735 | "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", | ||
736 | "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", | ||
737 | "dev": true | ||
738 | }, | ||
739 | "es-get-iterator": { | ||
740 | "version": "1.1.0", | ||
741 | "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.0.tgz", | ||
742 | "integrity": "sha512-UfrmHuWQlNMTs35e1ypnvikg6jCz3SK8v8ImvmDsh36fCVUR1MqoFDiyn0/k52C8NqO3YsO8Oe0azeesNuqSsQ==", | ||
743 | "dev": true, | ||
744 | "requires": { | ||
745 | "es-abstract": "^1.17.4", | ||
746 | "has-symbols": "^1.0.1", | ||
747 | "is-arguments": "^1.0.4", | ||
748 | "is-map": "^2.0.1", | ||
749 | "is-set": "^2.0.1", | ||
750 | "is-string": "^1.0.5", | ||
751 | "isarray": "^2.0.5" | ||
750 | } | 752 | } |
751 | }, | 753 | }, |
752 | "es-to-primitive": { | 754 | "es-to-primitive": { |
@@ -782,9 +784,9 @@ | |||
782 | "dev": true | 784 | "dev": true |
783 | }, | 785 | }, |
784 | "eslint": { | 786 | "eslint": { |
785 | "version": "7.1.0", | 787 | "version": "7.3.1", |
786 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.1.0.tgz", | 788 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.3.1.tgz", |
787 | "integrity": "sha512-DfS3b8iHMK5z/YLSme8K5cge168I8j8o1uiVmFCgnnjxZQbCGyraF8bMl7Ju4yfBmCuxD7shOF7eqGkcuIHfsA==", | 789 | "integrity": "sha512-cQC/xj9bhWUcyi/RuMbRtC3I0eW8MH0jhRELSvpKYkWep3C6YZ2OkvcvJVUeO6gcunABmzptbXBuDoXsjHmfTA==", |
788 | "dev": true, | 790 | "dev": true, |
789 | "requires": { | 791 | "requires": { |
790 | "@babel/code-frame": "^7.0.0", | 792 | "@babel/code-frame": "^7.0.0", |
@@ -793,10 +795,11 @@ | |||
793 | "cross-spawn": "^7.0.2", | 795 | "cross-spawn": "^7.0.2", |
794 | "debug": "^4.0.1", | 796 | "debug": "^4.0.1", |
795 | "doctrine": "^3.0.0", | 797 | "doctrine": "^3.0.0", |
796 | "eslint-scope": "^5.0.0", | 798 | "enquirer": "^2.3.5", |
799 | "eslint-scope": "^5.1.0", | ||
797 | "eslint-utils": "^2.0.0", | 800 | "eslint-utils": "^2.0.0", |
798 | "eslint-visitor-keys": "^1.1.0", | 801 | "eslint-visitor-keys": "^1.2.0", |
799 | "espree": "^7.0.0", | 802 | "espree": "^7.1.0", |
800 | "esquery": "^1.2.0", | 803 | "esquery": "^1.2.0", |
801 | "esutils": "^2.0.2", | 804 | "esutils": "^2.0.2", |
802 | "file-entry-cache": "^5.0.1", | 805 | "file-entry-cache": "^5.0.1", |
@@ -806,7 +809,6 @@ | |||
806 | "ignore": "^4.0.6", | 809 | "ignore": "^4.0.6", |
807 | "import-fresh": "^3.0.0", | 810 | "import-fresh": "^3.0.0", |
808 | "imurmurhash": "^0.1.4", | 811 | "imurmurhash": "^0.1.4", |
809 | "inquirer": "^7.0.0", | ||
810 | "is-glob": "^4.0.0", | 812 | "is-glob": "^4.0.0", |
811 | "js-yaml": "^3.13.1", | 813 | "js-yaml": "^3.13.1", |
812 | "json-stable-stringify-without-jsonify": "^1.0.1", | 814 | "json-stable-stringify-without-jsonify": "^1.0.1", |
@@ -836,9 +838,9 @@ | |||
836 | } | 838 | } |
837 | }, | 839 | }, |
838 | "chalk": { | 840 | "chalk": { |
839 | "version": "4.0.0", | 841 | "version": "4.1.0", |
840 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.0.0.tgz", | 842 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", |
841 | "integrity": "sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A==", | 843 | "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", |
842 | "dev": true, | 844 | "dev": true, |
843 | "requires": { | 845 | "requires": { |
844 | "ansi-styles": "^4.1.0", | 846 | "ansi-styles": "^4.1.0", |
@@ -860,6 +862,22 @@ | |||
860 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | 862 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", |
861 | "dev": true | 863 | "dev": true |
862 | }, | 864 | }, |
865 | "eslint-scope": { | ||
866 | "version": "5.1.0", | ||
867 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.0.tgz", | ||
868 | "integrity": "sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w==", | ||
869 | "dev": true, | ||
870 | "requires": { | ||
871 | "esrecurse": "^4.1.0", | ||
872 | "estraverse": "^4.1.1" | ||
873 | } | ||
874 | }, | ||
875 | "eslint-visitor-keys": { | ||
876 | "version": "1.3.0", | ||
877 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", | ||
878 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", | ||
879 | "dev": true | ||
880 | }, | ||
863 | "has-flag": { | 881 | "has-flag": { |
864 | "version": "4.0.0", | 882 | "version": "4.0.0", |
865 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | 883 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
@@ -909,14 +927,22 @@ | |||
909 | "dev": true | 927 | "dev": true |
910 | }, | 928 | }, |
911 | "espree": { | 929 | "espree": { |
912 | "version": "7.0.0", | 930 | "version": "7.1.0", |
913 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.0.0.tgz", | 931 | "resolved": "https://registry.npmjs.org/espree/-/espree-7.1.0.tgz", |
914 | "integrity": "sha512-/r2XEx5Mw4pgKdyb7GNLQNsu++asx/dltf/CI8RFi9oGHxmQFgvLbc5Op4U6i8Oaj+kdslhJtVlEZeAqH5qOTw==", | 932 | "integrity": "sha512-dcorZSyfmm4WTuTnE5Y7MEN1DyoPYy1ZR783QW1FJoenn7RailyWFsq/UL6ZAAA7uXurN9FIpYyUs3OfiIW+Qw==", |
915 | "dev": true, | 933 | "dev": true, |
916 | "requires": { | 934 | "requires": { |
917 | "acorn": "^7.1.1", | 935 | "acorn": "^7.2.0", |
918 | "acorn-jsx": "^5.2.0", | 936 | "acorn-jsx": "^5.2.0", |
919 | "eslint-visitor-keys": "^1.1.0" | 937 | "eslint-visitor-keys": "^1.2.0" |
938 | }, | ||
939 | "dependencies": { | ||
940 | "eslint-visitor-keys": { | ||
941 | "version": "1.3.0", | ||
942 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", | ||
943 | "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", | ||
944 | "dev": true | ||
945 | } | ||
920 | } | 946 | } |
921 | }, | 947 | }, |
922 | "esprima": { | 948 | "esprima": { |
@@ -969,21 +995,10 @@ | |||
969 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", | 995 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", |
970 | "dev": true | 996 | "dev": true |
971 | }, | 997 | }, |
972 | "external-editor": { | ||
973 | "version": "3.1.0", | ||
974 | "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", | ||
975 | "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", | ||
976 | "dev": true, | ||
977 | "requires": { | ||
978 | "chardet": "^0.7.0", | ||
979 | "iconv-lite": "^0.4.24", | ||
980 | "tmp": "^0.0.33" | ||
981 | } | ||
982 | }, | ||
983 | "fast-deep-equal": { | 998 | "fast-deep-equal": { |
984 | "version": "3.1.1", | 999 | "version": "3.1.3", |
985 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", | 1000 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", |
986 | "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", | 1001 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", |
987 | "dev": true | 1002 | "dev": true |
988 | }, | 1003 | }, |
989 | "fast-json-stable-stringify": { | 1004 | "fast-json-stable-stringify": { |
@@ -1007,15 +1022,6 @@ | |||
1007 | "pend": "~1.2.0" | 1022 | "pend": "~1.2.0" |
1008 | } | 1023 | } |
1009 | }, | 1024 | }, |
1010 | "figures": { | ||
1011 | "version": "3.2.0", | ||
1012 | "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", | ||
1013 | "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", | ||
1014 | "dev": true, | ||
1015 | "requires": { | ||
1016 | "escape-string-regexp": "^1.0.5" | ||
1017 | } | ||
1018 | }, | ||
1019 | "file-entry-cache": { | 1025 | "file-entry-cache": { |
1020 | "version": "5.0.1", | 1026 | "version": "5.0.1", |
1021 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", | 1027 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", |
@@ -1035,12 +1041,13 @@ | |||
1035 | } | 1041 | } |
1036 | }, | 1042 | }, |
1037 | "find-up": { | 1043 | "find-up": { |
1038 | "version": "3.0.0", | 1044 | "version": "4.1.0", |
1039 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", | 1045 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", |
1040 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", | 1046 | "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", |
1041 | "dev": true, | 1047 | "dev": true, |
1042 | "requires": { | 1048 | "requires": { |
1043 | "locate-path": "^3.0.0" | 1049 | "locate-path": "^5.0.0", |
1050 | "path-exists": "^4.0.0" | ||
1044 | } | 1051 | } |
1045 | }, | 1052 | }, |
1046 | "flat": { | 1053 | "flat": { |
@@ -1238,15 +1245,6 @@ | |||
1238 | } | 1245 | } |
1239 | } | 1246 | } |
1240 | }, | 1247 | }, |
1241 | "iconv-lite": { | ||
1242 | "version": "0.4.24", | ||
1243 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", | ||
1244 | "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", | ||
1245 | "dev": true, | ||
1246 | "requires": { | ||
1247 | "safer-buffer": ">= 2.1.2 < 3" | ||
1248 | } | ||
1249 | }, | ||
1250 | "ignore": { | 1248 | "ignore": { |
1251 | "version": "4.0.6", | 1249 | "version": "4.0.6", |
1252 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", | 1250 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", |
@@ -1285,78 +1283,11 @@ | |||
1285 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", | 1283 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", |
1286 | "dev": true | 1284 | "dev": true |
1287 | }, | 1285 | }, |
1288 | "inquirer": { | 1286 | "is-arguments": { |
1289 | "version": "7.1.0", | 1287 | "version": "1.0.4", |
1290 | "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", | 1288 | "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", |
1291 | "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", | 1289 | "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", |
1292 | "dev": true, | 1290 | "dev": true |
1293 | "requires": { | ||
1294 | "ansi-escapes": "^4.2.1", | ||
1295 | "chalk": "^3.0.0", | ||
1296 | "cli-cursor": "^3.1.0", | ||
1297 | "cli-width": "^2.0.0", | ||
1298 | "external-editor": "^3.0.3", | ||
1299 | "figures": "^3.0.0", | ||
1300 | "lodash": "^4.17.15", | ||
1301 | "mute-stream": "0.0.8", | ||
1302 | "run-async": "^2.4.0", | ||
1303 | "rxjs": "^6.5.3", | ||
1304 | "string-width": "^4.1.0", | ||
1305 | "strip-ansi": "^6.0.0", | ||
1306 | "through": "^2.3.6" | ||
1307 | }, | ||
1308 | "dependencies": { | ||
1309 | "ansi-styles": { | ||
1310 | "version": "4.2.1", | ||
1311 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", | ||
1312 | "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", | ||
1313 | "dev": true, | ||
1314 | "requires": { | ||
1315 | "@types/color-name": "^1.1.1", | ||
1316 | "color-convert": "^2.0.1" | ||
1317 | } | ||
1318 | }, | ||
1319 | "chalk": { | ||
1320 | "version": "3.0.0", | ||
1321 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", | ||
1322 | "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", | ||
1323 | "dev": true, | ||
1324 | "requires": { | ||
1325 | "ansi-styles": "^4.1.0", | ||
1326 | "supports-color": "^7.1.0" | ||
1327 | } | ||
1328 | }, | ||
1329 | "color-convert": { | ||
1330 | "version": "2.0.1", | ||
1331 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", | ||
1332 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", | ||
1333 | "dev": true, | ||
1334 | "requires": { | ||
1335 | "color-name": "~1.1.4" | ||
1336 | } | ||
1337 | }, | ||
1338 | "color-name": { | ||
1339 | "version": "1.1.4", | ||
1340 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", | ||
1341 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", | ||
1342 | "dev": true | ||
1343 | }, | ||
1344 | "has-flag": { | ||
1345 | "version": "4.0.0", | ||
1346 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", | ||
1347 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", | ||
1348 | "dev": true | ||
1349 | }, | ||
1350 | "supports-color": { | ||
1351 | "version": "7.1.0", | ||
1352 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", | ||
1353 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", | ||
1354 | "dev": true, | ||
1355 | "requires": { | ||
1356 | "has-flag": "^4.0.0" | ||
1357 | } | ||
1358 | } | ||
1359 | } | ||
1360 | }, | 1291 | }, |
1361 | "is-binary-path": { | 1292 | "is-binary-path": { |
1362 | "version": "2.1.0", | 1293 | "version": "2.1.0", |
@@ -1374,9 +1305,9 @@ | |||
1374 | "dev": true | 1305 | "dev": true |
1375 | }, | 1306 | }, |
1376 | "is-callable": { | 1307 | "is-callable": { |
1377 | "version": "1.1.5", | 1308 | "version": "1.2.0", |
1378 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", | 1309 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.0.tgz", |
1379 | "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", | 1310 | "integrity": "sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw==", |
1380 | "dev": true | 1311 | "dev": true |
1381 | }, | 1312 | }, |
1382 | "is-date-object": { | 1313 | "is-date-object": { |
@@ -1392,9 +1323,9 @@ | |||
1392 | "dev": true | 1323 | "dev": true |
1393 | }, | 1324 | }, |
1394 | "is-fullwidth-code-point": { | 1325 | "is-fullwidth-code-point": { |
1395 | "version": "3.0.0", | 1326 | "version": "2.0.0", |
1396 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", | 1327 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", |
1397 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", | 1328 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", |
1398 | "dev": true | 1329 | "dev": true |
1399 | }, | 1330 | }, |
1400 | "is-glob": { | 1331 | "is-glob": { |
@@ -1406,6 +1337,12 @@ | |||
1406 | "is-extglob": "^2.1.1" | 1337 | "is-extglob": "^2.1.1" |
1407 | } | 1338 | } |
1408 | }, | 1339 | }, |
1340 | "is-map": { | ||
1341 | "version": "2.0.1", | ||
1342 | "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz", | ||
1343 | "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==", | ||
1344 | "dev": true | ||
1345 | }, | ||
1409 | "is-module": { | 1346 | "is-module": { |
1410 | "version": "1.0.0", | 1347 | "version": "1.0.0", |
1411 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", | 1348 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", |
@@ -1419,23 +1356,35 @@ | |||
1419 | "dev": true | 1356 | "dev": true |
1420 | }, | 1357 | }, |
1421 | "is-reference": { | 1358 | "is-reference": { |
1422 | "version": "1.1.4", | 1359 | "version": "1.2.1", |
1423 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.1.4.tgz", | 1360 | "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", |
1424 | "integrity": "sha512-uJA/CDPO3Tao3GTrxYn6AwkM4nUPJiGGYu5+cB8qbC7WGFlrKZbiRo7SFKxUAEpFUfiHofWCXBUNhvYJMh+6zw==", | 1361 | "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", |
1425 | "dev": true, | 1362 | "dev": true, |
1426 | "requires": { | 1363 | "requires": { |
1427 | "@types/estree": "0.0.39" | 1364 | "@types/estree": "*" |
1428 | } | 1365 | } |
1429 | }, | 1366 | }, |
1430 | "is-regex": { | 1367 | "is-regex": { |
1431 | "version": "1.0.5", | 1368 | "version": "1.1.0", |
1432 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", | 1369 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.0.tgz", |
1433 | "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", | 1370 | "integrity": "sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw==", |
1434 | "dev": true, | 1371 | "dev": true, |
1435 | "requires": { | 1372 | "requires": { |
1436 | "has": "^1.0.3" | 1373 | "has-symbols": "^1.0.1" |
1437 | } | 1374 | } |
1438 | }, | 1375 | }, |
1376 | "is-set": { | ||
1377 | "version": "2.0.1", | ||
1378 | "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz", | ||
1379 | "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==", | ||
1380 | "dev": true | ||
1381 | }, | ||
1382 | "is-string": { | ||
1383 | "version": "1.0.5", | ||
1384 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", | ||
1385 | "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==", | ||
1386 | "dev": true | ||
1387 | }, | ||
1439 | "is-symbol": { | 1388 | "is-symbol": { |
1440 | "version": "1.0.3", | 1389 | "version": "1.0.3", |
1441 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", | 1390 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", |
@@ -1445,12 +1394,34 @@ | |||
1445 | "has-symbols": "^1.0.1" | 1394 | "has-symbols": "^1.0.1" |
1446 | } | 1395 | } |
1447 | }, | 1396 | }, |
1397 | "isarray": { | ||
1398 | "version": "2.0.5", | ||
1399 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", | ||
1400 | "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", | ||
1401 | "dev": true | ||
1402 | }, | ||
1448 | "isexe": { | 1403 | "isexe": { |
1449 | "version": "2.0.0", | 1404 | "version": "2.0.0", |
1450 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", | 1405 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", |
1451 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", | 1406 | "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", |
1452 | "dev": true | 1407 | "dev": true |
1453 | }, | 1408 | }, |
1409 | "iterate-iterator": { | ||
1410 | "version": "1.0.1", | ||
1411 | "resolved": "https://registry.npmjs.org/iterate-iterator/-/iterate-iterator-1.0.1.tgz", | ||
1412 | "integrity": "sha512-3Q6tudGN05kbkDQDI4CqjaBf4qf85w6W6GnuZDtUVYwKgtC1q8yxYX7CZed7N+tLzQqS6roujWvszf13T+n9aw==", | ||
1413 | "dev": true | ||
1414 | }, | ||
1415 | "iterate-value": { | ||
1416 | "version": "1.0.2", | ||
1417 | "resolved": "https://registry.npmjs.org/iterate-value/-/iterate-value-1.0.2.tgz", | ||
1418 | "integrity": "sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==", | ||
1419 | "dev": true, | ||
1420 | "requires": { | ||
1421 | "es-get-iterator": "^1.0.2", | ||
1422 | "iterate-iterator": "^1.0.1" | ||
1423 | } | ||
1424 | }, | ||
1454 | "js-tokens": { | 1425 | "js-tokens": { |
1455 | "version": "4.0.0", | 1426 | "version": "4.0.0", |
1456 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", | 1427 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", |
@@ -1505,19 +1476,18 @@ | |||
1505 | } | 1476 | } |
1506 | }, | 1477 | }, |
1507 | "locate-path": { | 1478 | "locate-path": { |
1508 | "version": "3.0.0", | 1479 | "version": "5.0.0", |
1509 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", | 1480 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", |
1510 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", | 1481 | "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", |
1511 | "dev": true, | 1482 | "dev": true, |
1512 | "requires": { | 1483 | "requires": { |
1513 | "p-locate": "^3.0.0", | 1484 | "p-locate": "^4.1.0" |
1514 | "path-exists": "^3.0.0" | ||
1515 | } | 1485 | } |
1516 | }, | 1486 | }, |
1517 | "lodash": { | 1487 | "lodash": { |
1518 | "version": "4.17.15", | 1488 | "version": "4.17.19", |
1519 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", | 1489 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", |
1520 | "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==", | 1490 | "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", |
1521 | "dev": true | 1491 | "dev": true |
1522 | }, | 1492 | }, |
1523 | "log-symbols": { | 1493 | "log-symbols": { |
@@ -1596,12 +1566,6 @@ | |||
1596 | "mime-db": "1.44.0" | 1566 | "mime-db": "1.44.0" |
1597 | } | 1567 | } |
1598 | }, | 1568 | }, |
1599 | "mimic-fn": { | ||
1600 | "version": "2.1.0", | ||
1601 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", | ||
1602 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", | ||
1603 | "dev": true | ||
1604 | }, | ||
1605 | "minimatch": { | 1569 | "minimatch": { |
1606 | "version": "3.0.4", | 1570 | "version": "3.0.4", |
1607 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", | 1571 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", |
@@ -1627,37 +1591,44 @@ | |||
1627 | } | 1591 | } |
1628 | }, | 1592 | }, |
1629 | "mocha": { | 1593 | "mocha": { |
1630 | "version": "7.2.0", | 1594 | "version": "8.0.1", |
1631 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz", | 1595 | "resolved": "https://registry.npmjs.org/mocha/-/mocha-8.0.1.tgz", |
1632 | "integrity": "sha512-O9CIypScywTVpNaRrCAgoUnJgozpIofjKUYmJhiCIJMiuYnLI6otcb1/kpW9/n/tJODHGZ7i8aLQoDVsMtOKQQ==", | 1596 | "integrity": "sha512-vefaXfdYI8+Yo8nPZQQi0QO2o+5q9UIMX1jZ1XMmK3+4+CQjc7+B0hPdUeglXiTlr8IHMVRo63IhO9Mzt6fxOg==", |
1633 | "dev": true, | 1597 | "dev": true, |
1634 | "requires": { | 1598 | "requires": { |
1635 | "ansi-colors": "3.2.3", | 1599 | "ansi-colors": "4.1.1", |
1636 | "browser-stdout": "1.3.1", | 1600 | "browser-stdout": "1.3.1", |
1637 | "chokidar": "3.3.0", | 1601 | "chokidar": "3.3.1", |
1638 | "debug": "3.2.6", | 1602 | "debug": "3.2.6", |
1639 | "diff": "3.5.0", | 1603 | "diff": "4.0.2", |
1640 | "escape-string-regexp": "1.0.5", | 1604 | "escape-string-regexp": "1.0.5", |
1641 | "find-up": "3.0.0", | 1605 | "find-up": "4.1.0", |
1642 | "glob": "7.1.3", | 1606 | "glob": "7.1.6", |
1643 | "growl": "1.10.5", | 1607 | "growl": "1.10.5", |
1644 | "he": "1.2.0", | 1608 | "he": "1.2.0", |
1645 | "js-yaml": "3.13.1", | 1609 | "js-yaml": "3.13.1", |
1646 | "log-symbols": "3.0.0", | 1610 | "log-symbols": "3.0.0", |
1647 | "minimatch": "3.0.4", | 1611 | "minimatch": "3.0.4", |
1648 | "mkdirp": "0.5.5", | 1612 | "ms": "2.1.2", |
1649 | "ms": "2.1.1", | ||
1650 | "node-environment-flags": "1.0.6", | ||
1651 | "object.assign": "4.1.0", | 1613 | "object.assign": "4.1.0", |
1652 | "strip-json-comments": "2.0.1", | 1614 | "promise.allsettled": "1.0.2", |
1653 | "supports-color": "6.0.0", | 1615 | "serialize-javascript": "3.0.0", |
1654 | "which": "1.3.1", | 1616 | "strip-json-comments": "3.0.1", |
1617 | "supports-color": "7.1.0", | ||
1618 | "which": "2.0.2", | ||
1655 | "wide-align": "1.1.3", | 1619 | "wide-align": "1.1.3", |
1620 | "workerpool": "6.0.0", | ||
1656 | "yargs": "13.3.2", | 1621 | "yargs": "13.3.2", |
1657 | "yargs-parser": "13.1.2", | 1622 | "yargs-parser": "13.1.2", |
1658 | "yargs-unparser": "1.6.0" | 1623 | "yargs-unparser": "1.6.0" |
1659 | }, | 1624 | }, |
1660 | "dependencies": { | 1625 | "dependencies": { |
1626 | "ansi-colors": { | ||
1627 | "version": "4.1.1", | ||
1628 | "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", | ||
1629 | "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", | ||
1630 | "dev": true | ||
1631 | }, | ||
1661 | "debug": { | 1632 | "debug": { |
1662 | "version": "3.2.6", | 1633 | "version": "3.2.6", |
1663 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", | 1634 | "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", |
@@ -1667,19 +1638,11 @@ | |||
1667 | "ms": "^2.1.1" | 1638 | "ms": "^2.1.1" |
1668 | } | 1639 | } |
1669 | }, | 1640 | }, |
1670 | "glob": { | 1641 | "has-flag": { |
1671 | "version": "7.1.3", | 1642 | "version": "4.0.0", |
1672 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", | 1643 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", |
1673 | "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", | 1644 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", |
1674 | "dev": true, | 1645 | "dev": true |
1675 | "requires": { | ||
1676 | "fs.realpath": "^1.0.0", | ||
1677 | "inflight": "^1.0.4", | ||
1678 | "inherits": "2", | ||
1679 | "minimatch": "^3.0.4", | ||
1680 | "once": "^1.3.0", | ||
1681 | "path-is-absolute": "^1.0.0" | ||
1682 | } | ||
1683 | }, | 1646 | }, |
1684 | "js-yaml": { | 1647 | "js-yaml": { |
1685 | "version": "3.13.1", | 1648 | "version": "3.13.1", |
@@ -1691,34 +1654,19 @@ | |||
1691 | "esprima": "^4.0.0" | 1654 | "esprima": "^4.0.0" |
1692 | } | 1655 | } |
1693 | }, | 1656 | }, |
1694 | "ms": { | ||
1695 | "version": "2.1.1", | ||
1696 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", | ||
1697 | "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", | ||
1698 | "dev": true | ||
1699 | }, | ||
1700 | "strip-json-comments": { | 1657 | "strip-json-comments": { |
1701 | "version": "2.0.1", | 1658 | "version": "3.0.1", |
1702 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", | 1659 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.0.1.tgz", |
1703 | "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", | 1660 | "integrity": "sha512-VTyMAUfdm047mwKl+u79WIdrZxtFtn+nBxHeb844XBQ9uMNTuTHdx2hc5RiAJYqwTj3wc/xe5HLSdJSkJ+WfZw==", |
1704 | "dev": true | 1661 | "dev": true |
1705 | }, | 1662 | }, |
1706 | "supports-color": { | 1663 | "supports-color": { |
1707 | "version": "6.0.0", | 1664 | "version": "7.1.0", |
1708 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.0.0.tgz", | 1665 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", |
1709 | "integrity": "sha512-on9Kwidc1IUQo+bQdhi8+Tijpo0e1SS6RoGo2guUwn5vdaxw8RXOF9Vb2ws+ihWOmh4JnCJOvaziZWP1VABaLg==", | 1666 | "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", |
1710 | "dev": true, | ||
1711 | "requires": { | ||
1712 | "has-flag": "^3.0.0" | ||
1713 | } | ||
1714 | }, | ||
1715 | "which": { | ||
1716 | "version": "1.3.1", | ||
1717 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", | ||
1718 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", | ||
1719 | "dev": true, | 1667 | "dev": true, |
1720 | "requires": { | 1668 | "requires": { |
1721 | "isexe": "^2.0.0" | 1669 | "has-flag": "^4.0.0" |
1722 | } | 1670 | } |
1723 | } | 1671 | } |
1724 | } | 1672 | } |
@@ -1741,24 +1689,6 @@ | |||
1741 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", | 1689 | "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", |
1742 | "dev": true | 1690 | "dev": true |
1743 | }, | 1691 | }, |
1744 | "node-environment-flags": { | ||
1745 | "version": "1.0.6", | ||
1746 | "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", | ||
1747 | "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", | ||
1748 | "dev": true, | ||
1749 | "requires": { | ||
1750 | "object.getownpropertydescriptors": "^2.0.3", | ||
1751 | "semver": "^5.7.0" | ||
1752 | }, | ||
1753 | "dependencies": { | ||
1754 | "semver": { | ||
1755 | "version": "5.7.1", | ||
1756 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", | ||
1757 | "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", | ||
1758 | "dev": true | ||
1759 | } | ||
1760 | } | ||
1761 | }, | ||
1762 | "node-fetch": { | 1692 | "node-fetch": { |
1763 | "version": "2.6.0", | 1693 | "version": "2.6.0", |
1764 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", | 1694 | "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz", |
@@ -1780,9 +1710,9 @@ | |||
1780 | } | 1710 | } |
1781 | }, | 1711 | }, |
1782 | "object-inspect": { | 1712 | "object-inspect": { |
1783 | "version": "1.7.0", | 1713 | "version": "1.8.0", |
1784 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", | 1714 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", |
1785 | "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", | 1715 | "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", |
1786 | "dev": true | 1716 | "dev": true |
1787 | }, | 1717 | }, |
1788 | "object-keys": { | 1718 | "object-keys": { |
@@ -1803,16 +1733,6 @@ | |||
1803 | "object-keys": "^1.0.11" | 1733 | "object-keys": "^1.0.11" |
1804 | } | 1734 | } |
1805 | }, | 1735 | }, |
1806 | "object.getownpropertydescriptors": { | ||
1807 | "version": "2.1.0", | ||
1808 | "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", | ||
1809 | "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", | ||
1810 | "dev": true, | ||
1811 | "requires": { | ||
1812 | "define-properties": "^1.1.3", | ||
1813 | "es-abstract": "^1.17.0-next.1" | ||
1814 | } | ||
1815 | }, | ||
1816 | "once": { | 1736 | "once": { |
1817 | "version": "1.4.0", | 1737 | "version": "1.4.0", |
1818 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", | 1738 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", |
@@ -1822,15 +1742,6 @@ | |||
1822 | "wrappy": "1" | 1742 | "wrappy": "1" |
1823 | } | 1743 | } |
1824 | }, | 1744 | }, |
1825 | "onetime": { | ||
1826 | "version": "5.1.0", | ||
1827 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", | ||
1828 | "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", | ||
1829 | "dev": true, | ||
1830 | "requires": { | ||
1831 | "mimic-fn": "^2.1.0" | ||
1832 | } | ||
1833 | }, | ||
1834 | "optionator": { | 1745 | "optionator": { |
1835 | "version": "0.9.1", | 1746 | "version": "0.9.1", |
1836 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", | 1747 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", |
@@ -1883,12 +1794,12 @@ | |||
1883 | } | 1794 | } |
1884 | }, | 1795 | }, |
1885 | "p-locate": { | 1796 | "p-locate": { |
1886 | "version": "3.0.0", | 1797 | "version": "4.1.0", |
1887 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", | 1798 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", |
1888 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", | 1799 | "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", |
1889 | "dev": true, | 1800 | "dev": true, |
1890 | "requires": { | 1801 | "requires": { |
1891 | "p-limit": "^2.0.0" | 1802 | "p-limit": "^2.2.0" |
1892 | } | 1803 | } |
1893 | }, | 1804 | }, |
1894 | "p-try": { | 1805 | "p-try": { |
@@ -1933,9 +1844,9 @@ | |||
1933 | } | 1844 | } |
1934 | }, | 1845 | }, |
1935 | "path-exists": { | 1846 | "path-exists": { |
1936 | "version": "3.0.0", | 1847 | "version": "4.0.0", |
1937 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | 1848 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", |
1938 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | 1849 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", |
1939 | "dev": true | 1850 | "dev": true |
1940 | }, | 1851 | }, |
1941 | "path-is-absolute": { | 1852 | "path-is-absolute": { |
@@ -1980,6 +1891,19 @@ | |||
1980 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", | 1891 | "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", |
1981 | "dev": true | 1892 | "dev": true |
1982 | }, | 1893 | }, |
1894 | "promise.allsettled": { | ||
1895 | "version": "1.0.2", | ||
1896 | "resolved": "https://registry.npmjs.org/promise.allsettled/-/promise.allsettled-1.0.2.tgz", | ||
1897 | "integrity": "sha512-UpcYW5S1RaNKT6pd+s9jp9K9rlQge1UXKskec0j6Mmuq7UJCvlS2J2/s/yuPN8ehftf9HXMxWlKiPbGGUzpoRg==", | ||
1898 | "dev": true, | ||
1899 | "requires": { | ||
1900 | "array.prototype.map": "^1.0.1", | ||
1901 | "define-properties": "^1.1.3", | ||
1902 | "es-abstract": "^1.17.0-next.1", | ||
1903 | "function-bind": "^1.1.1", | ||
1904 | "iterate-value": "^1.0.0" | ||
1905 | } | ||
1906 | }, | ||
1983 | "pseudomap": { | 1907 | "pseudomap": { |
1984 | "version": "1.0.2", | 1908 | "version": "1.0.2", |
1985 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", | 1909 | "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", |
@@ -2013,12 +1937,12 @@ | |||
2013 | } | 1937 | } |
2014 | }, | 1938 | }, |
2015 | "readdirp": { | 1939 | "readdirp": { |
2016 | "version": "3.2.0", | 1940 | "version": "3.3.0", |
2017 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", | 1941 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.3.0.tgz", |
2018 | "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", | 1942 | "integrity": "sha512-zz0pAkSPOXXm1viEwygWIPSPkcBYjW1xU5j/JBh5t9bGCJwa6f9+BJa6VaB2g+b55yVrmXzqkyLf4xaWYM0IkQ==", |
2019 | "dev": true, | 1943 | "dev": true, |
2020 | "requires": { | 1944 | "requires": { |
2021 | "picomatch": "^2.0.4" | 1945 | "picomatch": "^2.0.7" |
2022 | } | 1946 | } |
2023 | }, | 1947 | }, |
2024 | "regexpp": { | 1948 | "regexpp": { |
@@ -2054,16 +1978,6 @@ | |||
2054 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", | 1978 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", |
2055 | "dev": true | 1979 | "dev": true |
2056 | }, | 1980 | }, |
2057 | "restore-cursor": { | ||
2058 | "version": "3.1.0", | ||
2059 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", | ||
2060 | "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", | ||
2061 | "dev": true, | ||
2062 | "requires": { | ||
2063 | "onetime": "^5.1.0", | ||
2064 | "signal-exit": "^3.0.2" | ||
2065 | } | ||
2066 | }, | ||
2067 | "rimraf": { | 1981 | "rimraf": { |
2068 | "version": "2.6.3", | 1982 | "version": "2.6.3", |
2069 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", | 1983 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", |
@@ -2074,54 +1988,31 @@ | |||
2074 | } | 1988 | } |
2075 | }, | 1989 | }, |
2076 | "rollup": { | 1990 | "rollup": { |
2077 | "version": "2.10.9", | 1991 | "version": "2.18.1", |
2078 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.10.9.tgz", | 1992 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.18.1.tgz", |
2079 | "integrity": "sha512-dY/EbjiWC17ZCUSyk14hkxATAMAShkMsD43XmZGWjLrgFj15M3Dw2kEkA9ns64BiLFm9PKN6vTQw8neHwK74eg==", | 1993 | "integrity": "sha512-w4X77ADA+WTGlapC8Z6yggdJtODw3SBl6R2LSkA7ZW5MtdkgcB7sfaSD1UWyx8diXbMcGIb0eI9gCx/dyqOgNQ==", |
2080 | "dev": true, | 1994 | "dev": true, |
2081 | "requires": { | 1995 | "requires": { |
2082 | "fsevents": "~2.1.2" | 1996 | "fsevents": "~2.1.2" |
2083 | } | 1997 | } |
2084 | }, | 1998 | }, |
2085 | "run-async": { | ||
2086 | "version": "2.4.1", | ||
2087 | "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", | ||
2088 | "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", | ||
2089 | "dev": true | ||
2090 | }, | ||
2091 | "rxjs": { | ||
2092 | "version": "6.5.5", | ||
2093 | "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", | ||
2094 | "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", | ||
2095 | "dev": true, | ||
2096 | "requires": { | ||
2097 | "tslib": "^1.9.0" | ||
2098 | }, | ||
2099 | "dependencies": { | ||
2100 | "tslib": { | ||
2101 | "version": "1.13.0", | ||
2102 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.13.0.tgz", | ||
2103 | "integrity": "sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==", | ||
2104 | "dev": true | ||
2105 | } | ||
2106 | } | ||
2107 | }, | ||
2108 | "safe-buffer": { | 1999 | "safe-buffer": { |
2109 | "version": "5.2.0", | 2000 | "version": "5.2.0", |
2110 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", | 2001 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", |
2111 | "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", | 2002 | "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", |
2112 | "dev": true | 2003 | "dev": true |
2113 | }, | 2004 | }, |
2114 | "safer-buffer": { | ||
2115 | "version": "2.1.2", | ||
2116 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", | ||
2117 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", | ||
2118 | "dev": true | ||
2119 | }, | ||
2120 | "semver": { | 2005 | "semver": { |
2121 | "version": "6.3.0", | 2006 | "version": "6.3.0", |
2122 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", | 2007 | "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", |
2123 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" | 2008 | "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" |
2124 | }, | 2009 | }, |
2010 | "serialize-javascript": { | ||
2011 | "version": "3.0.0", | ||
2012 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-3.0.0.tgz", | ||
2013 | "integrity": "sha512-skZcHYw2vEX4bw90nAr2iTTsz6x2SrHEnfxgKYmZlvJYBEZrvbKtobJWlQ20zczKb3bsHHXXTYt48zBA7ni9cw==", | ||
2014 | "dev": true | ||
2015 | }, | ||
2125 | "set-blocking": { | 2016 | "set-blocking": { |
2126 | "version": "2.0.0", | 2017 | "version": "2.0.0", |
2127 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", | 2018 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", |
@@ -2149,12 +2040,6 @@ | |||
2149 | "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", | 2040 | "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", |
2150 | "dev": true | 2041 | "dev": true |
2151 | }, | 2042 | }, |
2152 | "signal-exit": { | ||
2153 | "version": "3.0.3", | ||
2154 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", | ||
2155 | "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", | ||
2156 | "dev": true | ||
2157 | }, | ||
2158 | "slice-ansi": { | 2043 | "slice-ansi": { |
2159 | "version": "2.1.0", | 2044 | "version": "2.1.0", |
2160 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", | 2045 | "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", |
@@ -2164,14 +2049,6 @@ | |||
2164 | "ansi-styles": "^3.2.0", | 2049 | "ansi-styles": "^3.2.0", |
2165 | "astral-regex": "^1.0.0", | 2050 | "astral-regex": "^1.0.0", |
2166 | "is-fullwidth-code-point": "^2.0.0" | 2051 | "is-fullwidth-code-point": "^2.0.0" |
2167 | }, | ||
2168 | "dependencies": { | ||
2169 | "is-fullwidth-code-point": { | ||
2170 | "version": "2.0.0", | ||
2171 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
2172 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
2173 | "dev": true | ||
2174 | } | ||
2175 | } | 2052 | } |
2176 | }, | 2053 | }, |
2177 | "sourcemap-codec": { | 2054 | "sourcemap-codec": { |
@@ -2187,14 +2064,31 @@ | |||
2187 | "dev": true | 2064 | "dev": true |
2188 | }, | 2065 | }, |
2189 | "string-width": { | 2066 | "string-width": { |
2190 | "version": "4.2.0", | 2067 | "version": "3.1.0", |
2191 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", | 2068 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", |
2192 | "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", | 2069 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", |
2193 | "dev": true, | 2070 | "dev": true, |
2194 | "requires": { | 2071 | "requires": { |
2195 | "emoji-regex": "^8.0.0", | 2072 | "emoji-regex": "^7.0.1", |
2196 | "is-fullwidth-code-point": "^3.0.0", | 2073 | "is-fullwidth-code-point": "^2.0.0", |
2197 | "strip-ansi": "^6.0.0" | 2074 | "strip-ansi": "^5.1.0" |
2075 | }, | ||
2076 | "dependencies": { | ||
2077 | "ansi-regex": { | ||
2078 | "version": "4.1.0", | ||
2079 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
2080 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
2081 | "dev": true | ||
2082 | }, | ||
2083 | "strip-ansi": { | ||
2084 | "version": "5.2.0", | ||
2085 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
2086 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
2087 | "dev": true, | ||
2088 | "requires": { | ||
2089 | "ansi-regex": "^4.1.0" | ||
2090 | } | ||
2091 | } | ||
2198 | } | 2092 | } |
2199 | }, | 2093 | }, |
2200 | "string.prototype.trimend": { | 2094 | "string.prototype.trimend": { |
@@ -2207,28 +2101,6 @@ | |||
2207 | "es-abstract": "^1.17.5" | 2101 | "es-abstract": "^1.17.5" |
2208 | } | 2102 | } |
2209 | }, | 2103 | }, |
2210 | "string.prototype.trimleft": { | ||
2211 | "version": "2.1.2", | ||
2212 | "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", | ||
2213 | "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", | ||
2214 | "dev": true, | ||
2215 | "requires": { | ||
2216 | "define-properties": "^1.1.3", | ||
2217 | "es-abstract": "^1.17.5", | ||
2218 | "string.prototype.trimstart": "^1.0.0" | ||
2219 | } | ||
2220 | }, | ||
2221 | "string.prototype.trimright": { | ||
2222 | "version": "2.1.2", | ||
2223 | "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", | ||
2224 | "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", | ||
2225 | "dev": true, | ||
2226 | "requires": { | ||
2227 | "define-properties": "^1.1.3", | ||
2228 | "es-abstract": "^1.17.5", | ||
2229 | "string.prototype.trimend": "^1.0.0" | ||
2230 | } | ||
2231 | }, | ||
2232 | "string.prototype.trimstart": { | 2104 | "string.prototype.trimstart": { |
2233 | "version": "1.0.1", | 2105 | "version": "1.0.1", |
2234 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", | 2106 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", |
@@ -2282,46 +2154,6 @@ | |||
2282 | "lodash": "^4.17.14", | 2154 | "lodash": "^4.17.14", |
2283 | "slice-ansi": "^2.1.0", | 2155 | "slice-ansi": "^2.1.0", |
2284 | "string-width": "^3.0.0" | 2156 | "string-width": "^3.0.0" |
2285 | }, | ||
2286 | "dependencies": { | ||
2287 | "ansi-regex": { | ||
2288 | "version": "4.1.0", | ||
2289 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | ||
2290 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | ||
2291 | "dev": true | ||
2292 | }, | ||
2293 | "emoji-regex": { | ||
2294 | "version": "7.0.3", | ||
2295 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
2296 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | ||
2297 | "dev": true | ||
2298 | }, | ||
2299 | "is-fullwidth-code-point": { | ||
2300 | "version": "2.0.0", | ||
2301 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
2302 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
2303 | "dev": true | ||
2304 | }, | ||
2305 | "string-width": { | ||
2306 | "version": "3.1.0", | ||
2307 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
2308 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
2309 | "dev": true, | ||
2310 | "requires": { | ||
2311 | "emoji-regex": "^7.0.1", | ||
2312 | "is-fullwidth-code-point": "^2.0.0", | ||
2313 | "strip-ansi": "^5.1.0" | ||
2314 | } | ||
2315 | }, | ||
2316 | "strip-ansi": { | ||
2317 | "version": "5.2.0", | ||
2318 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | ||
2319 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | ||
2320 | "dev": true, | ||
2321 | "requires": { | ||
2322 | "ansi-regex": "^4.1.0" | ||
2323 | } | ||
2324 | } | ||
2325 | } | 2157 | } |
2326 | }, | 2158 | }, |
2327 | "text-table": { | 2159 | "text-table": { |
@@ -2330,21 +2162,6 @@ | |||
2330 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", | 2162 | "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", |
2331 | "dev": true | 2163 | "dev": true |
2332 | }, | 2164 | }, |
2333 | "through": { | ||
2334 | "version": "2.3.8", | ||
2335 | "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", | ||
2336 | "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", | ||
2337 | "dev": true | ||
2338 | }, | ||
2339 | "tmp": { | ||
2340 | "version": "0.0.33", | ||
2341 | "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", | ||
2342 | "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", | ||
2343 | "dev": true, | ||
2344 | "requires": { | ||
2345 | "os-tmpdir": "~1.0.2" | ||
2346 | } | ||
2347 | }, | ||
2348 | "to-regex-range": { | 2165 | "to-regex-range": { |
2349 | "version": "5.0.1", | 2166 | "version": "5.0.1", |
2350 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", | 2167 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", |
@@ -2409,9 +2226,9 @@ | |||
2409 | } | 2226 | } |
2410 | }, | 2227 | }, |
2411 | "typescript": { | 2228 | "typescript": { |
2412 | "version": "3.9.3", | 2229 | "version": "3.9.5", |
2413 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.3.tgz", | 2230 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.5.tgz", |
2414 | "integrity": "sha512-D/wqnB2xzNFIcoBG9FG8cXRDjiqSTbG2wd8DMZeQyJlP1vfTkIxH4GKveWaEBYySKIg+USu+E+EDIR47SqnaMQ==", | 2231 | "integrity": "sha512-hSAifV3k+i6lEoCJ2k6R2Z/rp/H3+8sdmcn5NrS3/3kE7+RyZXm9aqvxWqjEXHAd8b0pShatpcdMTvEdvAJltQ==", |
2415 | "dev": true | 2232 | "dev": true |
2416 | }, | 2233 | }, |
2417 | "typescript-formatter": { | 2234 | "typescript-formatter": { |
@@ -2458,9 +2275,9 @@ | |||
2458 | "dev": true | 2275 | "dev": true |
2459 | }, | 2276 | }, |
2460 | "v8-compile-cache": { | 2277 | "v8-compile-cache": { |
2461 | "version": "2.1.0", | 2278 | "version": "2.1.1", |
2462 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz", | 2279 | "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", |
2463 | "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==", | 2280 | "integrity": "sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ==", |
2464 | "dev": true | 2281 | "dev": true |
2465 | }, | 2282 | }, |
2466 | "vsce": { | 2283 | "vsce": { |
@@ -2537,9 +2354,9 @@ | |||
2537 | "integrity": "sha512-tZFUSbyjUcrh+qQf13ALX4QDdOfDX0cVaBFgy7ktJ0VwS7AW/yRKgGPSxVqqP9OCMNPdqP57O5q47w2pEwfaUg==" | 2354 | "integrity": "sha512-tZFUSbyjUcrh+qQf13ALX4QDdOfDX0cVaBFgy7ktJ0VwS7AW/yRKgGPSxVqqP9OCMNPdqP57O5q47w2pEwfaUg==" |
2538 | }, | 2355 | }, |
2539 | "vscode-test": { | 2356 | "vscode-test": { |
2540 | "version": "1.3.0", | 2357 | "version": "1.4.0", |
2541 | "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.3.0.tgz", | 2358 | "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.4.0.tgz", |
2542 | "integrity": "sha512-LddukcBiSU2FVTDr3c1D8lwkiOvwlJdDL2hqVbn6gIz+rpTqUCkMZSKYm94Y1v0WXlHSDQBsXyY+tchWQgGVsw==", | 2359 | "integrity": "sha512-Jt7HNGvSE0+++Tvtq5wc4hiXLIr2OjDShz/gbAfM/mahQpy4rKBnmOK33D+MR67ATWviQhl+vpmU3p/qwSH/Pg==", |
2543 | "dev": true, | 2360 | "dev": true, |
2544 | "requires": { | 2361 | "requires": { |
2545 | "http-proxy-agent": "^2.1.0", | 2362 | "http-proxy-agent": "^2.1.0", |
@@ -2577,12 +2394,6 @@ | |||
2577 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", | 2394 | "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", |
2578 | "dev": true | 2395 | "dev": true |
2579 | }, | 2396 | }, |
2580 | "is-fullwidth-code-point": { | ||
2581 | "version": "2.0.0", | ||
2582 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
2583 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
2584 | "dev": true | ||
2585 | }, | ||
2586 | "string-width": { | 2397 | "string-width": { |
2587 | "version": "2.1.1", | 2398 | "version": "2.1.1", |
2588 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", | 2399 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", |
@@ -2610,6 +2421,12 @@ | |||
2610 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", | 2421 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", |
2611 | "dev": true | 2422 | "dev": true |
2612 | }, | 2423 | }, |
2424 | "workerpool": { | ||
2425 | "version": "6.0.0", | ||
2426 | "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.0.0.tgz", | ||
2427 | "integrity": "sha512-fU2OcNA/GVAJLLyKUoHkAgIhKb0JoCpSjLC/G2vYKxUjVmQwGbRVeoPJ1a8U4pnVofz4AQV5Y/NEw8oKqxEBtA==", | ||
2428 | "dev": true | ||
2429 | }, | ||
2613 | "wrap-ansi": { | 2430 | "wrap-ansi": { |
2614 | "version": "5.1.0", | 2431 | "version": "5.1.0", |
2615 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", | 2432 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", |
@@ -2627,29 +2444,6 @@ | |||
2627 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | 2444 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", |
2628 | "dev": true | 2445 | "dev": true |
2629 | }, | 2446 | }, |
2630 | "emoji-regex": { | ||
2631 | "version": "7.0.3", | ||
2632 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
2633 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | ||
2634 | "dev": true | ||
2635 | }, | ||
2636 | "is-fullwidth-code-point": { | ||
2637 | "version": "2.0.0", | ||
2638 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
2639 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
2640 | "dev": true | ||
2641 | }, | ||
2642 | "string-width": { | ||
2643 | "version": "3.1.0", | ||
2644 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | ||
2645 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | ||
2646 | "dev": true, | ||
2647 | "requires": { | ||
2648 | "emoji-regex": "^7.0.1", | ||
2649 | "is-fullwidth-code-point": "^2.0.0", | ||
2650 | "strip-ansi": "^5.1.0" | ||
2651 | } | ||
2652 | }, | ||
2653 | "strip-ansi": { | 2447 | "strip-ansi": { |
2654 | "version": "5.2.0", | 2448 | "version": "5.2.0", |
2655 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | 2449 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", |
@@ -2706,43 +2500,39 @@ | |||
2706 | "yargs-parser": "^13.1.2" | 2500 | "yargs-parser": "^13.1.2" |
2707 | }, | 2501 | }, |
2708 | "dependencies": { | 2502 | "dependencies": { |
2709 | "ansi-regex": { | 2503 | "find-up": { |
2710 | "version": "4.1.0", | 2504 | "version": "3.0.0", |
2711 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", | 2505 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", |
2712 | "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", | 2506 | "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", |
2713 | "dev": true | 2507 | "dev": true, |
2714 | }, | 2508 | "requires": { |
2715 | "emoji-regex": { | 2509 | "locate-path": "^3.0.0" |
2716 | "version": "7.0.3", | 2510 | } |
2717 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", | ||
2718 | "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", | ||
2719 | "dev": true | ||
2720 | }, | ||
2721 | "is-fullwidth-code-point": { | ||
2722 | "version": "2.0.0", | ||
2723 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", | ||
2724 | "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", | ||
2725 | "dev": true | ||
2726 | }, | 2511 | }, |
2727 | "string-width": { | 2512 | "locate-path": { |
2728 | "version": "3.1.0", | 2513 | "version": "3.0.0", |
2729 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", | 2514 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", |
2730 | "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", | 2515 | "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", |
2731 | "dev": true, | 2516 | "dev": true, |
2732 | "requires": { | 2517 | "requires": { |
2733 | "emoji-regex": "^7.0.1", | 2518 | "p-locate": "^3.0.0", |
2734 | "is-fullwidth-code-point": "^2.0.0", | 2519 | "path-exists": "^3.0.0" |
2735 | "strip-ansi": "^5.1.0" | ||
2736 | } | 2520 | } |
2737 | }, | 2521 | }, |
2738 | "strip-ansi": { | 2522 | "p-locate": { |
2739 | "version": "5.2.0", | 2523 | "version": "3.0.0", |
2740 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", | 2524 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", |
2741 | "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", | 2525 | "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", |
2742 | "dev": true, | 2526 | "dev": true, |
2743 | "requires": { | 2527 | "requires": { |
2744 | "ansi-regex": "^4.1.0" | 2528 | "p-limit": "^2.0.0" |
2745 | } | 2529 | } |
2530 | }, | ||
2531 | "path-exists": { | ||
2532 | "version": "3.0.0", | ||
2533 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", | ||
2534 | "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", | ||
2535 | "dev": true | ||
2746 | } | 2536 | } |
2747 | } | 2537 | } |
2748 | }, | 2538 | }, |
diff --git a/editors/code/package.json b/editors/code/package.json index 75dbafc05..aac4ba94f 100644 --- a/editors/code/package.json +++ b/editors/code/package.json | |||
@@ -39,29 +39,30 @@ | |||
39 | "vscode-languageclient": "7.0.0-next.1" | 39 | "vscode-languageclient": "7.0.0-next.1" |
40 | }, | 40 | }, |
41 | "devDependencies": { | 41 | "devDependencies": { |
42 | "@rollup/plugin-commonjs": "^12.0.0", | 42 | "@rollup/plugin-commonjs": "^13.0.0", |
43 | "@rollup/plugin-node-resolve": "^8.0.0", | 43 | "@rollup/plugin-node-resolve": "^8.1.0", |
44 | "@types/glob": "^7.1.1", | 44 | "@types/glob": "^7.1.2", |
45 | "@types/mocha": "^7.0.2", | 45 | "@types/mocha": "^7.0.2", |
46 | "@types/node": "^14.0.5", | 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.44.1", |
49 | "@typescript-eslint/eslint-plugin": "^3.0.0", | 49 | "@typescript-eslint/eslint-plugin": "^3.4.0", |
50 | "@typescript-eslint/parser": "^3.0.0", | 50 | "@typescript-eslint/parser": "^3.4.0", |
51 | "eslint": "^7.0.0", | 51 | "eslint": "^7.3.1", |
52 | "glob": "^7.1.6", | 52 | "glob": "^7.1.6", |
53 | "mocha": "^7.1.2", | 53 | "mocha": "^8.0.1", |
54 | "rollup": "^2.10.7", | 54 | "rollup": "^2.18.1", |
55 | "tslib": "^2.0.0", | 55 | "tslib": "^2.0.0", |
56 | "typescript": "^3.9.3", | 56 | "typescript": "^3.9.5", |
57 | "typescript-formatter": "^7.2.2", | 57 | "typescript-formatter": "^7.2.2", |
58 | "vsce": "^1.75.0", | 58 | "vsce": "^1.75.0", |
59 | "vscode-test": "^1.3.0" | 59 | "vscode-test": "^1.4.0" |
60 | }, | 60 | }, |
61 | "activationEvents": [ | 61 | "activationEvents": [ |
62 | "onLanguage:rust", | 62 | "onLanguage:rust", |
63 | "onCommand:rust-analyzer.analyzerStatus", | 63 | "onCommand:rust-analyzer.analyzerStatus", |
64 | "onCommand:rust-analyzer.collectGarbage", | 64 | "onCommand:rust-analyzer.memoryUsage", |
65 | "onCommand:rust-analyzer.reloadWorkspace", | ||
65 | "workspaceContains:**/Cargo.toml" | 66 | "workspaceContains:**/Cargo.toml" |
66 | ], | 67 | ], |
67 | "main": "./out/src/main", | 68 | "main": "./out/src/main", |
@@ -143,8 +144,13 @@ | |||
143 | "category": "Rust Analyzer" | 144 | "category": "Rust Analyzer" |
144 | }, | 145 | }, |
145 | { | 146 | { |
146 | "command": "rust-analyzer.collectGarbage", | 147 | "command": "rust-analyzer.memoryUsage", |
147 | "title": "Run garbage collection", | 148 | "title": "Memory Usage (Clears Database)", |
149 | "category": "Rust Analyzer" | ||
150 | }, | ||
151 | { | ||
152 | "command": "rust-analyzer.reloadWorkspace", | ||
153 | "title": "Reload workspace", | ||
148 | "category": "Rust Analyzer" | 154 | "category": "Rust Analyzer" |
149 | }, | 155 | }, |
150 | { | 156 | { |
@@ -231,6 +237,11 @@ | |||
231 | "default": true, | 237 | "default": true, |
232 | "markdownDescription": "Whether to show `can't find Cargo.toml` error message" | 238 | "markdownDescription": "Whether to show `can't find Cargo.toml` error message" |
233 | }, | 239 | }, |
240 | "rust-analyzer.cargo.autoreload": { | ||
241 | "type": "boolean", | ||
242 | "default": true, | ||
243 | "markdownDescription": "Automatically refresh project info via `cargo metadata` on Cargo.toml changes" | ||
244 | }, | ||
234 | "rust-analyzer.cargo.noDefaultFeatures": { | 245 | "rust-analyzer.cargo.noDefaultFeatures": { |
235 | "type": "boolean", | 246 | "type": "boolean", |
236 | "default": false, | 247 | "default": false, |
@@ -238,7 +249,7 @@ | |||
238 | }, | 249 | }, |
239 | "rust-analyzer.cargo.allFeatures": { | 250 | "rust-analyzer.cargo.allFeatures": { |
240 | "type": "boolean", | 251 | "type": "boolean", |
241 | "default": true, | 252 | "default": false, |
242 | "description": "Activate all available features" | 253 | "description": "Activate all available features" |
243 | }, | 254 | }, |
244 | "rust-analyzer.cargo.features": { | 255 | "rust-analyzer.cargo.features": { |
@@ -318,9 +329,60 @@ | |||
318 | "markdownDescription": "Check all targets and tests (will be passed as `--all-targets`)" | 329 | "markdownDescription": "Check all targets and tests (will be passed as `--all-targets`)" |
319 | }, | 330 | }, |
320 | "rust-analyzer.checkOnSave.allFeatures": { | 331 | "rust-analyzer.checkOnSave.allFeatures": { |
321 | "type": "boolean", | 332 | "type": [ |
322 | "default": true, | 333 | "null", |
323 | "markdownDescription": "Check with all features (will be passed as `--all-features`)" | 334 | "boolean" |
335 | ], | ||
336 | "default": null, | ||
337 | "markdownDescription": "Check with all features (will be passed as `--all-features`). Defaults to `rust-analyzer.cargo.allFeatures`." | ||
338 | }, | ||
339 | "rust-analyzer.checkOnSave.features": { | ||
340 | "type": [ | ||
341 | "null", | ||
342 | "array" | ||
343 | ], | ||
344 | "items": { | ||
345 | "type": "string" | ||
346 | }, | ||
347 | "default": null, | ||
348 | "description": "List of features to activate. Defaults to `rust-analyzer.cargo.features`." | ||
349 | }, | ||
350 | "rust-analyzer.cargoRunner": { | ||
351 | "type": [ | ||
352 | "null", | ||
353 | "string" | ||
354 | ], | ||
355 | "default": null, | ||
356 | "description": "Custom cargo runner extension ID." | ||
357 | }, | ||
358 | "rust-analyzer.runnableEnv": { | ||
359 | "anyOf": [ | ||
360 | { | ||
361 | "type": "null" | ||
362 | }, | ||
363 | { | ||
364 | "type": "array", | ||
365 | "items": { | ||
366 | "type": "object", | ||
367 | "properties": { | ||
368 | "mask": { | ||
369 | "type": "string", | ||
370 | "description": "Runnable name mask" | ||
371 | }, | ||
372 | "env": { | ||
373 | "type": "object", | ||
374 | "description": "Variables in form of { \"key\": \"value\"}" | ||
375 | } | ||
376 | } | ||
377 | } | ||
378 | }, | ||
379 | { | ||
380 | "type": "object", | ||
381 | "description": "Variables in form of { \"key\": \"value\"}" | ||
382 | } | ||
383 | ], | ||
384 | "default": null, | ||
385 | "description": "Environment variables passed to the runnable launched using `Test ` or `Debug` lens or `rust-analyzer.run` command." | ||
324 | }, | 386 | }, |
325 | "rust-analyzer.inlayHints.enable": { | 387 | "rust-analyzer.inlayHints.enable": { |
326 | "type": "boolean", | 388 | "type": "boolean", |
@@ -412,7 +474,7 @@ | |||
412 | "Full log" | 474 | "Full log" |
413 | ], | 475 | ], |
414 | "default": "off", | 476 | "default": "off", |
415 | "description": "Trace requests to the rust-analyzer" | 477 | "description": "Trace requests to the rust-analyzer (this is usually overly verbose and not recommended for regular users)" |
416 | }, | 478 | }, |
417 | "rust-analyzer.trace.extension": { | 479 | "rust-analyzer.trace.extension": { |
418 | "description": "Enable logging of VS Code extensions itself", | 480 | "description": "Enable logging of VS Code extensions itself", |
@@ -462,19 +524,78 @@ | |||
462 | "default": true | 524 | "default": true |
463 | }, | 525 | }, |
464 | "rust-analyzer.lens.run": { | 526 | "rust-analyzer.lens.run": { |
465 | "markdownDescription": "Whether to show Run lens. Only applies when `#rust-analyzer.lens.enable#` is set.", | 527 | "markdownDescription": "Whether to show `Run` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", |
466 | "type": "boolean", | 528 | "type": "boolean", |
467 | "default": true | 529 | "default": true |
468 | }, | 530 | }, |
469 | "rust-analyzer.lens.debug": { | 531 | "rust-analyzer.lens.debug": { |
470 | "markdownDescription": "Whether to show Debug lens. Only applies when `#rust-analyzer.lens.enable#` is set.", | 532 | "markdownDescription": "Whether to show `Debug` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", |
471 | "type": "boolean", | 533 | "type": "boolean", |
472 | "default": true | 534 | "default": true |
473 | }, | 535 | }, |
474 | "rust-analyzer.lens.implementations": { | 536 | "rust-analyzer.lens.implementations": { |
475 | "markdownDescription": "Whether to show Implementations lens. Only applies when `#rust-analyzer.lens.enable#` is set.", | 537 | "markdownDescription": "Whether to show `Implementations` lens. Only applies when `#rust-analyzer.lens.enable#` is set.", |
538 | "type": "boolean", | ||
539 | "default": true | ||
540 | }, | ||
541 | "rust-analyzer.hoverActions.enable": { | ||
542 | "description": "Whether to show HoverActions in Rust files.", | ||
543 | "type": "boolean", | ||
544 | "default": true | ||
545 | }, | ||
546 | "rust-analyzer.hoverActions.implementations": { | ||
547 | "markdownDescription": "Whether to show `Implementations` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", | ||
548 | "type": "boolean", | ||
549 | "default": true | ||
550 | }, | ||
551 | "rust-analyzer.hoverActions.run": { | ||
552 | "markdownDescription": "Whether to show `Run` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", | ||
553 | "type": "boolean", | ||
554 | "default": true | ||
555 | }, | ||
556 | "rust-analyzer.hoverActions.debug": { | ||
557 | "markdownDescription": "Whether to show `Debug` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", | ||
476 | "type": "boolean", | 558 | "type": "boolean", |
477 | "default": true | 559 | "default": true |
560 | }, | ||
561 | "rust-analyzer.hoverActions.gotoTypeDef": { | ||
562 | "markdownDescription": "Whether to show `Go to Type Definition` action. Only applies when `#rust-analyzer.hoverActions.enable#` is set.", | ||
563 | "type": "boolean", | ||
564 | "default": true | ||
565 | }, | ||
566 | "rust-analyzer.linkedProjects": { | ||
567 | "markdownDescription": "Disable project auto-discovery in favor of explicitly specified set of projects. \nElements must be paths pointing to Cargo.toml, rust-project.json, or JSON objects in rust-project.json format", | ||
568 | "type": "array", | ||
569 | "items": { | ||
570 | "type": [ | ||
571 | "string", | ||
572 | "object" | ||
573 | ] | ||
574 | }, | ||
575 | "default": null | ||
576 | }, | ||
577 | "rust-analyzer.withSysroot": { | ||
578 | "markdownDescription": "Internal config for debugging, disables loading of sysroot crates", | ||
579 | "type": "boolean", | ||
580 | "default": true | ||
581 | }, | ||
582 | "rust-analyzer.diagnostics.warningsAsInfo": { | ||
583 | "type": "array", | ||
584 | "uniqueItems": true, | ||
585 | "items": { | ||
586 | "type": "string" | ||
587 | }, | ||
588 | "description": "List of warnings that should be displayed with info severity.\nThe warnings will be indicated by a blue squiggly underline in code and a blue icon in the problems panel.", | ||
589 | "default": [] | ||
590 | }, | ||
591 | "rust-analyzer.diagnostics.warningsAsHint": { | ||
592 | "type": "array", | ||
593 | "uniqueItems": true, | ||
594 | "items": { | ||
595 | "type": "string" | ||
596 | }, | ||
597 | "description": "List of warnings 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.", | ||
598 | "default": [] | ||
478 | } | 599 | } |
479 | } | 600 | } |
480 | }, | 601 | }, |
@@ -734,7 +855,11 @@ | |||
734 | "when": "inRustProject" | 855 | "when": "inRustProject" |
735 | }, | 856 | }, |
736 | { | 857 | { |
737 | "command": "rust-analyzer.collectGarbage", | 858 | "command": "rust-analyzer.memoryUsage", |
859 | "when": "inRustProject" | ||
860 | }, | ||
861 | { | ||
862 | "command": "rust-analyzer.reloadWorkspace", | ||
738 | "when": "inRustProject" | 863 | "when": "inRustProject" |
739 | }, | 864 | }, |
740 | { | 865 | { |
diff --git a/editors/code/rollup.config.js b/editors/code/rollup.config.js index 58360eabb..27abf75ac 100644 --- a/editors/code/rollup.config.js +++ b/editors/code/rollup.config.js | |||
@@ -11,17 +11,11 @@ export default { | |||
11 | resolve({ | 11 | resolve({ |
12 | preferBuiltins: true | 12 | preferBuiltins: true |
13 | }), | 13 | }), |
14 | commonjs({ | 14 | commonjs() |
15 | namedExports: { | ||
16 | // squelch missing import warnings | ||
17 | 'vscode-languageclient': ['CreateFile', 'RenameFile', 'ErrorCodes', 'WorkDoneProgress', 'WorkDoneProgressBegin', 'WorkDoneProgressReport', 'WorkDoneProgressEnd'] | ||
18 | } | ||
19 | }) | ||
20 | ], | 15 | ], |
21 | external: [...nodeBuiltins, 'vscode'], | 16 | external: [...nodeBuiltins, 'vscode'], |
22 | output: { | 17 | output: { |
23 | file: './out/src/main.js', | 18 | file: './out/src/main.js', |
24 | format: 'cjs', | 19 | format: 'cjs' |
25 | exports: 'named' | ||
26 | } | 20 | } |
27 | }; | 21 | }; |
diff --git a/editors/code/rust.tmGrammar.json b/editors/code/rust.tmGrammar.json index ab87cd39f..0be2583db 100644 --- a/editors/code/rust.tmGrammar.json +++ b/editors/code/rust.tmGrammar.json | |||
@@ -268,7 +268,7 @@ | |||
268 | "match": "\\b(log|error|warn|info|debug|trace|log_enabled)!" | 268 | "match": "\\b(log|error|warn|info|debug|trace|log_enabled)!" |
269 | }, | 269 | }, |
270 | { | 270 | { |
271 | "comment": "Invokation of a macro", | 271 | "comment": "Invocation of a macro", |
272 | "match": "\\b([a-zA-Z_][a-zA-Z0-9_]*\\!)\\s*[({\\[]", | 272 | "match": "\\b([a-zA-Z_][a-zA-Z0-9_]*\\!)\\s*[({\\[]", |
273 | "captures": { | 273 | "captures": { |
274 | "1": { | 274 | "1": { |
@@ -683,4 +683,4 @@ | |||
683 | ] | 683 | ] |
684 | } | 684 | } |
685 | } | 685 | } |
686 | } \ No newline at end of file | 686 | } |
diff --git a/editors/code/src/client.ts b/editors/code/src/client.ts index d64f9a3f9..41ffac7b3 100644 --- a/editors/code/src/client.ts +++ b/editors/code/src/client.ts | |||
@@ -1,8 +1,25 @@ | |||
1 | import * as lc from 'vscode-languageclient'; | 1 | import * as lc from 'vscode-languageclient'; |
2 | import * as vscode from 'vscode'; | 2 | import * as vscode from 'vscode'; |
3 | import * as ra from '../src/lsp_ext'; | ||
4 | import * as Is from 'vscode-languageclient/lib/utils/is'; | ||
3 | 5 | ||
4 | import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed'; | 6 | import { CallHierarchyFeature } from 'vscode-languageclient/lib/callHierarchy.proposed'; |
5 | import { SemanticTokensFeature, DocumentSemanticsTokensSignature } from 'vscode-languageclient/lib/semanticTokens.proposed'; | 7 | import { SemanticTokensFeature, DocumentSemanticsTokensSignature } from 'vscode-languageclient/lib/semanticTokens.proposed'; |
8 | import { assert } from './util'; | ||
9 | |||
10 | function renderCommand(cmd: ra.CommandLink) { | ||
11 | return `[${cmd.title}](command:${cmd.command}?${encodeURIComponent(JSON.stringify(cmd.arguments))} '${cmd.tooltip!}')`; | ||
12 | } | ||
13 | |||
14 | function renderHoverActions(actions: ra.CommandLinkGroup[]): vscode.MarkdownString { | ||
15 | const text = actions.map(group => | ||
16 | (group.title ? (group.title + " ") : "") + group.commands.map(renderCommand).join(' | ') | ||
17 | ).join('___'); | ||
18 | |||
19 | const result = new vscode.MarkdownString(text); | ||
20 | result.isTrusted = true; | ||
21 | return result; | ||
22 | } | ||
6 | 23 | ||
7 | export function createClient(serverPath: string, cwd: string): lc.LanguageClient { | 24 | export function createClient(serverPath: string, cwd: string): lc.LanguageClient { |
8 | // '.' Is the fallback if no folder is open | 25 | // '.' Is the fallback if no folder is open |
@@ -32,6 +49,25 @@ export function createClient(serverPath: string, cwd: string): lc.LanguageClient | |||
32 | if (res === undefined) throw new Error('busy'); | 49 | if (res === undefined) throw new Error('busy'); |
33 | return res; | 50 | return res; |
34 | }, | 51 | }, |
52 | async provideHover(document: vscode.TextDocument, position: vscode.Position, token: vscode.CancellationToken, _next: lc.ProvideHoverSignature) { | ||
53 | return client.sendRequest(lc.HoverRequest.type, client.code2ProtocolConverter.asTextDocumentPositionParams(document, position), token).then( | ||
54 | (result) => { | ||
55 | const hover = client.protocol2CodeConverter.asHover(result); | ||
56 | if (hover) { | ||
57 | const actions = (<any>result).actions; | ||
58 | if (actions) { | ||
59 | hover.contents.push(renderHoverActions(actions)); | ||
60 | } | ||
61 | } | ||
62 | return hover; | ||
63 | }, | ||
64 | (error) => { | ||
65 | client.logFailedRequest(lc.HoverRequest.type, error); | ||
66 | return Promise.resolve(null); | ||
67 | }); | ||
68 | }, | ||
69 | // Using custom handling of CodeActions where each code action is resolved lazily | ||
70 | // That's why we are not waiting for any command or edits | ||
35 | async provideCodeActions(document: vscode.TextDocument, range: vscode.Range, context: vscode.CodeActionContext, token: vscode.CancellationToken, _next: lc.ProvideCodeActionsSignature) { | 71 | async provideCodeActions(document: vscode.TextDocument, range: vscode.Range, context: vscode.CodeActionContext, token: vscode.CancellationToken, _next: lc.ProvideCodeActionsSignature) { |
36 | const params: lc.CodeActionParams = { | 72 | const params: lc.CodeActionParams = { |
37 | textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document), | 73 | textDocument: client.code2ProtocolConverter.asTextDocumentIdentifier(document), |
@@ -43,32 +79,37 @@ export function createClient(serverPath: string, cwd: string): lc.LanguageClient | |||
43 | const result: (vscode.CodeAction | vscode.Command)[] = []; | 79 | const result: (vscode.CodeAction | vscode.Command)[] = []; |
44 | const groups = new Map<string, { index: number; items: vscode.CodeAction[] }>(); | 80 | const groups = new Map<string, { index: number; items: vscode.CodeAction[] }>(); |
45 | for (const item of values) { | 81 | for (const item of values) { |
82 | // In our case we expect to get code edits only from diagnostics | ||
46 | if (lc.CodeAction.is(item)) { | 83 | if (lc.CodeAction.is(item)) { |
84 | assert(!item.command, "We don't expect to receive commands in CodeActions"); | ||
47 | const action = client.protocol2CodeConverter.asCodeAction(item); | 85 | const action = client.protocol2CodeConverter.asCodeAction(item); |
48 | const group = actionGroup(item); | 86 | result.push(action); |
49 | if (isSnippetEdit(item) || group) { | 87 | continue; |
50 | action.command = { | 88 | } |
51 | command: "rust-analyzer.applySnippetWorkspaceEdit", | 89 | assert(isCodeActionWithoutEditsAndCommands(item), "We don't expect edits or commands here"); |
52 | title: "", | 90 | const kind = client.protocol2CodeConverter.asCodeActionKind((item as any).kind); |
53 | arguments: [action.edit], | 91 | const action = new vscode.CodeAction(item.title, kind); |
54 | }; | 92 | const group = (item as any).group; |
55 | action.edit = undefined; | 93 | const id = (item as any).id; |
56 | } | 94 | const resolveParams: ra.ResolveCodeActionParams = { |
57 | 95 | id: id, | |
58 | if (group) { | 96 | codeActionParams: params |
59 | let entry = groups.get(group); | 97 | }; |
60 | if (!entry) { | 98 | action.command = { |
61 | entry = { index: result.length, items: [] }; | 99 | command: "rust-analyzer.resolveCodeAction", |
62 | groups.set(group, entry); | 100 | title: item.title, |
63 | result.push(action); | 101 | arguments: [resolveParams], |
64 | } | 102 | }; |
65 | entry.items.push(action); | 103 | if (group) { |
66 | } else { | 104 | let entry = groups.get(group); |
105 | if (!entry) { | ||
106 | entry = { index: result.length, items: [] }; | ||
107 | groups.set(group, entry); | ||
67 | result.push(action); | 108 | result.push(action); |
68 | } | 109 | } |
110 | entry.items.push(action); | ||
69 | } else { | 111 | } else { |
70 | const command = client.protocol2CodeConverter.asCommand(item); | 112 | result.push(action); |
71 | result.push(command); | ||
72 | } | 113 | } |
73 | } | 114 | } |
74 | for (const [group, { index, items }] of groups) { | 115 | for (const [group, { index, items }] of groups) { |
@@ -76,11 +117,12 @@ export function createClient(serverPath: string, cwd: string): lc.LanguageClient | |||
76 | result[index] = items[0]; | 117 | result[index] = items[0]; |
77 | } else { | 118 | } else { |
78 | const action = new vscode.CodeAction(group); | 119 | const action = new vscode.CodeAction(group); |
120 | action.kind = items[0].kind; | ||
79 | action.command = { | 121 | action.command = { |
80 | command: "rust-analyzer.applyActionGroup", | 122 | command: "rust-analyzer.applyActionGroup", |
81 | title: "", | 123 | title: "", |
82 | arguments: [items.map((item) => { | 124 | arguments: [items.map((item) => { |
83 | return { label: item.title, edit: item.command!!.arguments!![0] }; | 125 | return { label: item.title, arguments: item.command!!.arguments!![0] }; |
84 | })], | 126 | })], |
85 | }; | 127 | }; |
86 | result[index] = action; | 128 | result[index] = action; |
@@ -119,24 +161,19 @@ class ExperimentalFeatures implements lc.StaticFeature { | |||
119 | const caps: any = capabilities.experimental ?? {}; | 161 | const caps: any = capabilities.experimental ?? {}; |
120 | caps.snippetTextEdit = true; | 162 | caps.snippetTextEdit = true; |
121 | caps.codeActionGroup = true; | 163 | caps.codeActionGroup = true; |
164 | caps.resolveCodeAction = true; | ||
165 | caps.hoverActions = true; | ||
166 | caps.statusNotification = true; | ||
122 | capabilities.experimental = caps; | 167 | capabilities.experimental = caps; |
123 | } | 168 | } |
124 | initialize(_capabilities: lc.ServerCapabilities<any>, _documentSelector: lc.DocumentSelector | undefined): void { | 169 | initialize(_capabilities: lc.ServerCapabilities<any>, _documentSelector: lc.DocumentSelector | undefined): void { |
125 | } | 170 | } |
126 | } | 171 | } |
127 | 172 | ||
128 | function isSnippetEdit(action: lc.CodeAction): boolean { | 173 | function isCodeActionWithoutEditsAndCommands(value: any): boolean { |
129 | const documentChanges = action.edit?.documentChanges ?? []; | 174 | const candidate: lc.CodeAction = value; |
130 | for (const edit of documentChanges) { | 175 | return candidate && Is.string(candidate.title) && |
131 | if (lc.TextDocumentEdit.is(edit)) { | 176 | (candidate.diagnostics === void 0 || Is.typedArray(candidate.diagnostics, lc.Diagnostic.is)) && |
132 | if (edit.edits.some((indel) => (indel as any).insertTextFormat === lc.InsertTextFormat.Snippet)) { | 177 | (candidate.kind === void 0 || Is.string(candidate.kind)) && |
133 | return true; | 178 | (candidate.edit === void 0 && candidate.command === void 0); |
134 | } | ||
135 | } | ||
136 | } | ||
137 | return false; | ||
138 | } | ||
139 | |||
140 | function actionGroup(action: lc.CodeAction): string | undefined { | ||
141 | return (action as any).group; | ||
142 | } | 179 | } |
diff --git a/editors/code/src/commands.ts b/editors/code/src/commands.ts index 86302db37..1f3a7cf7e 100644 --- a/editors/code/src/commands.ts +++ b/editors/code/src/commands.ts | |||
@@ -8,6 +8,7 @@ import { spawnSync } from 'child_process'; | |||
8 | import { RunnableQuickPick, selectRunnable, createTask } from './run'; | 8 | import { RunnableQuickPick, selectRunnable, createTask } from './run'; |
9 | import { AstInspector } from './ast_inspector'; | 9 | import { AstInspector } from './ast_inspector'; |
10 | import { isRustDocument, sleep, isRustEditor } from './util'; | 10 | import { isRustDocument, sleep, isRustEditor } from './util'; |
11 | import { startDebugSession, makeDebugConfig } from './debug'; | ||
11 | 12 | ||
12 | export * from './ast_inspector'; | 13 | export * from './ast_inspector'; |
13 | export * from './run'; | 14 | export * from './run'; |
@@ -54,6 +55,38 @@ export function analyzerStatus(ctx: Ctx): Cmd { | |||
54 | }; | 55 | }; |
55 | } | 56 | } |
56 | 57 | ||
58 | export function memoryUsage(ctx: Ctx): Cmd { | ||
59 | const tdcp = new class implements vscode.TextDocumentContentProvider { | ||
60 | readonly uri = vscode.Uri.parse('rust-analyzer-memory://memory'); | ||
61 | readonly eventEmitter = new vscode.EventEmitter<vscode.Uri>(); | ||
62 | |||
63 | provideTextDocumentContent(_uri: vscode.Uri): vscode.ProviderResult<string> { | ||
64 | if (!vscode.window.activeTextEditor) return ''; | ||
65 | |||
66 | return ctx.client.sendRequest(ra.memoryUsage, null).then((mem) => { | ||
67 | return 'Per-query memory usage:\n' + mem + '\n(note: database has been cleared)'; | ||
68 | }); | ||
69 | } | ||
70 | |||
71 | get onDidChange(): vscode.Event<vscode.Uri> { | ||
72 | return this.eventEmitter.event; | ||
73 | } | ||
74 | }(); | ||
75 | |||
76 | ctx.pushCleanup( | ||
77 | vscode.workspace.registerTextDocumentContentProvider( | ||
78 | 'rust-analyzer-memory', | ||
79 | tdcp, | ||
80 | ), | ||
81 | ); | ||
82 | |||
83 | return async () => { | ||
84 | tdcp.eventEmitter.fire(tdcp.uri); | ||
85 | const document = await vscode.workspace.openTextDocument(tdcp.uri); | ||
86 | return vscode.window.showTextDocument(document, vscode.ViewColumn.Two, true); | ||
87 | }; | ||
88 | } | ||
89 | |||
57 | export function matchingBrace(ctx: Ctx): Cmd { | 90 | export function matchingBrace(ctx: Ctx): Cmd { |
58 | return async () => { | 91 | return async () => { |
59 | const editor = ctx.activeRustEditor; | 92 | const editor = ctx.activeRustEditor; |
@@ -157,7 +190,7 @@ export function ssr(ctx: Ctx): Cmd { | |||
157 | 190 | ||
158 | const options: vscode.InputBoxOptions = { | 191 | const options: vscode.InputBoxOptions = { |
159 | value: "() ==>> ()", | 192 | value: "() ==>> ()", |
160 | prompt: "Enter request, for example 'Foo($a:expr) ==> Foo::new($a)' ", | 193 | prompt: "Enter request, for example 'Foo($a) ==> Foo::new($a)' ", |
161 | validateInput: async (x: string) => { | 194 | validateInput: async (x: string) => { |
162 | try { | 195 | try { |
163 | await client.sendRequest(ra.ssr, { query: x, parseOnly: true }); | 196 | await client.sendRequest(ra.ssr, { query: x, parseOnly: true }); |
@@ -170,9 +203,15 @@ export function ssr(ctx: Ctx): Cmd { | |||
170 | const request = await vscode.window.showInputBox(options); | 203 | const request = await vscode.window.showInputBox(options); |
171 | if (!request) return; | 204 | if (!request) return; |
172 | 205 | ||
173 | const edit = await client.sendRequest(ra.ssr, { query: request, parseOnly: false }); | 206 | vscode.window.withProgress({ |
207 | location: vscode.ProgressLocation.Notification, | ||
208 | title: "Structured search replace in progress...", | ||
209 | cancellable: false, | ||
210 | }, async (_progress, _token) => { | ||
211 | const edit = await client.sendRequest(ra.ssr, { query: request, parseOnly: false }); | ||
174 | 212 | ||
175 | await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit)); | 213 | await vscode.workspace.applyEdit(client.protocol2CodeConverter.asWorkspaceEdit(edit)); |
214 | }); | ||
176 | }; | 215 | }; |
177 | } | 216 | } |
178 | 217 | ||
@@ -197,20 +236,6 @@ export function toggleInlayHints(ctx: Ctx): Cmd { | |||
197 | }; | 236 | }; |
198 | } | 237 | } |
199 | 238 | ||
200 | export function run(ctx: Ctx): Cmd { | ||
201 | let prevRunnable: RunnableQuickPick | undefined; | ||
202 | |||
203 | return async () => { | ||
204 | const item = await selectRunnable(ctx, prevRunnable); | ||
205 | if (!item) return; | ||
206 | |||
207 | item.detail = 'rerun'; | ||
208 | prevRunnable = item; | ||
209 | const task = createTask(item.runnable); | ||
210 | return await vscode.tasks.executeTask(task); | ||
211 | }; | ||
212 | } | ||
213 | |||
214 | // Opens the virtual file that will show the syntax tree | 239 | // Opens the virtual file that will show the syntax tree |
215 | // | 240 | // |
216 | // The contents of the file come from the `TextDocumentContentProvider` | 241 | // The contents of the file come from the `TextDocumentContentProvider` |
@@ -337,8 +362,8 @@ export function expandMacro(ctx: Ctx): Cmd { | |||
337 | }; | 362 | }; |
338 | } | 363 | } |
339 | 364 | ||
340 | export function collectGarbage(ctx: Ctx): Cmd { | 365 | export function reloadWorkspace(ctx: Ctx): Cmd { |
341 | return async () => ctx.client.sendRequest(ra.collectGarbage, null); | 366 | return async () => ctx.client.sendRequest(ra.reloadWorkspace, null); |
342 | } | 367 | } |
343 | 368 | ||
344 | export function showReferences(ctx: Ctx): Cmd { | 369 | export function showReferences(ctx: Ctx): Cmd { |
@@ -356,10 +381,39 @@ export function showReferences(ctx: Ctx): Cmd { | |||
356 | } | 381 | } |
357 | 382 | ||
358 | export function applyActionGroup(_ctx: Ctx): Cmd { | 383 | export function applyActionGroup(_ctx: Ctx): Cmd { |
359 | return async (actions: { label: string; edit: vscode.WorkspaceEdit }[]) => { | 384 | return async (actions: { label: string; arguments: ra.ResolveCodeActionParams }[]) => { |
360 | const selectedAction = await vscode.window.showQuickPick(actions); | 385 | const selectedAction = await vscode.window.showQuickPick(actions); |
361 | if (!selectedAction) return; | 386 | if (!selectedAction) return; |
362 | await applySnippetWorkspaceEdit(selectedAction.edit); | 387 | vscode.commands.executeCommand( |
388 | 'rust-analyzer.resolveCodeAction', | ||
389 | selectedAction.arguments, | ||
390 | ); | ||
391 | }; | ||
392 | } | ||
393 | |||
394 | export function gotoLocation(ctx: Ctx): Cmd { | ||
395 | return async (locationLink: lc.LocationLink) => { | ||
396 | const client = ctx.client; | ||
397 | if (client) { | ||
398 | const uri = client.protocol2CodeConverter.asUri(locationLink.targetUri); | ||
399 | let range = client.protocol2CodeConverter.asRange(locationLink.targetSelectionRange); | ||
400 | // collapse the range to a cursor position | ||
401 | range = range.with({ end: range.start }); | ||
402 | |||
403 | await vscode.window.showTextDocument(uri, { selection: range }); | ||
404 | } | ||
405 | }; | ||
406 | } | ||
407 | |||
408 | export function resolveCodeAction(ctx: Ctx): Cmd { | ||
409 | const client = ctx.client; | ||
410 | return async (params: ra.ResolveCodeActionParams) => { | ||
411 | const item: lc.WorkspaceEdit = await client.sendRequest(ra.resolveCodeAction, params); | ||
412 | if (!item) { | ||
413 | return; | ||
414 | } | ||
415 | const edit = client.protocol2CodeConverter.asWorkspaceEdit(item); | ||
416 | await applySnippetWorkspaceEdit(edit); | ||
363 | }; | 417 | }; |
364 | } | 418 | } |
365 | 419 | ||
@@ -368,3 +422,62 @@ export function applySnippetWorkspaceEditCommand(_ctx: Ctx): Cmd { | |||
368 | await applySnippetWorkspaceEdit(edit); | 422 | await applySnippetWorkspaceEdit(edit); |
369 | }; | 423 | }; |
370 | } | 424 | } |
425 | |||
426 | export function run(ctx: Ctx): Cmd { | ||
427 | let prevRunnable: RunnableQuickPick | undefined; | ||
428 | |||
429 | return async () => { | ||
430 | const item = await selectRunnable(ctx, prevRunnable); | ||
431 | if (!item) return; | ||
432 | |||
433 | item.detail = 'rerun'; | ||
434 | prevRunnable = item; | ||
435 | const task = await createTask(item.runnable, ctx.config); | ||
436 | return await vscode.tasks.executeTask(task); | ||
437 | }; | ||
438 | } | ||
439 | |||
440 | export function runSingle(ctx: Ctx): Cmd { | ||
441 | return async (runnable: ra.Runnable) => { | ||
442 | const editor = ctx.activeRustEditor; | ||
443 | if (!editor) return; | ||
444 | |||
445 | const task = await createTask(runnable, ctx.config); | ||
446 | task.group = vscode.TaskGroup.Build; | ||
447 | task.presentationOptions = { | ||
448 | reveal: vscode.TaskRevealKind.Always, | ||
449 | panel: vscode.TaskPanelKind.Dedicated, | ||
450 | clear: true, | ||
451 | }; | ||
452 | |||
453 | return vscode.tasks.executeTask(task); | ||
454 | }; | ||
455 | } | ||
456 | |||
457 | export function debug(ctx: Ctx): Cmd { | ||
458 | let prevDebuggee: RunnableQuickPick | undefined; | ||
459 | |||
460 | return async () => { | ||
461 | const item = await selectRunnable(ctx, prevDebuggee, true); | ||
462 | if (!item) return; | ||
463 | |||
464 | item.detail = 'restart'; | ||
465 | prevDebuggee = item; | ||
466 | return await startDebugSession(ctx, item.runnable); | ||
467 | }; | ||
468 | } | ||
469 | |||
470 | export function debugSingle(ctx: Ctx): Cmd { | ||
471 | return async (config: ra.Runnable) => { | ||
472 | await startDebugSession(ctx, config); | ||
473 | }; | ||
474 | } | ||
475 | |||
476 | export function newDebugConfig(ctx: Ctx): Cmd { | ||
477 | return async () => { | ||
478 | const item = await selectRunnable(ctx, undefined, true, false); | ||
479 | if (!item) return; | ||
480 | |||
481 | await makeDebugConfig(ctx, item.runnable); | ||
482 | }; | ||
483 | } | ||
diff --git a/editors/code/src/config.ts b/editors/code/src/config.ts index e8abf8284..033b04b60 100644 --- a/editors/code/src/config.ts +++ b/editors/code/src/config.ts | |||
@@ -5,6 +5,8 @@ export type UpdatesChannel = "stable" | "nightly"; | |||
5 | 5 | ||
6 | export const NIGHTLY_TAG = "nightly"; | 6 | export const NIGHTLY_TAG = "nightly"; |
7 | 7 | ||
8 | export type RunnableEnvCfg = undefined | Record<string, string> | { mask?: string; env: Record<string, string> }[]; | ||
9 | |||
8 | export class Config { | 10 | export class Config { |
9 | readonly extensionId = "matklad.rust-analyzer"; | 11 | readonly extensionId = "matklad.rust-analyzer"; |
10 | 12 | ||
@@ -16,10 +18,8 @@ export class Config { | |||
16 | "files", | 18 | "files", |
17 | "highlighting", | 19 | "highlighting", |
18 | "updates.channel", | 20 | "updates.channel", |
19 | "lens.enable", | 21 | "lens", // works as lens.* |
20 | "lens.run", | 22 | "hoverActions", // works as hoverActions.* |
21 | "lens.debug", | ||
22 | "lens.implementations", | ||
23 | ] | 23 | ] |
24 | .map(opt => `${this.rootSection}.${opt}`); | 24 | .map(opt => `${this.rootSection}.${opt}`); |
25 | 25 | ||
@@ -39,10 +39,10 @@ export class Config { | |||
39 | 39 | ||
40 | private refreshLogging() { | 40 | private refreshLogging() { |
41 | log.setEnabled(this.traceExtension); | 41 | log.setEnabled(this.traceExtension); |
42 | log.debug( | 42 | log.info("Extension version:", this.package.version); |
43 | "Extension version:", this.package.version, | 43 | |
44 | "using configuration:", this.cfg | 44 | const cfg = Object.entries(this.cfg).filter(([_, val]) => !(val instanceof Function)); |
45 | ); | 45 | log.info("Using configuration", Object.fromEntries(cfg)); |
46 | } | 46 | } |
47 | 47 | ||
48 | private async onDidChangeConfiguration(event: vscode.ConfigurationChangeEvent) { | 48 | private async onDidChangeConfiguration(event: vscode.ConfigurationChangeEvent) { |
@@ -112,6 +112,14 @@ export class Config { | |||
112 | }; | 112 | }; |
113 | } | 113 | } |
114 | 114 | ||
115 | get cargoRunner() { | ||
116 | return this.get<string | undefined>("cargoRunner"); | ||
117 | } | ||
118 | |||
119 | get runnableEnv() { | ||
120 | return this.get<RunnableEnvCfg>("runnableEnv"); | ||
121 | } | ||
122 | |||
115 | get debug() { | 123 | get debug() { |
116 | // "/rustc/<id>" used by suggestions only. | 124 | // "/rustc/<id>" used by suggestions only. |
117 | const { ["/rustc/<id>"]: _, ...sourceFileMap } = this.get<Record<string, string>>("debug.sourceFileMap"); | 125 | const { ["/rustc/<id>"]: _, ...sourceFileMap } = this.get<Record<string, string>>("debug.sourceFileMap"); |
@@ -119,7 +127,7 @@ export class Config { | |||
119 | return { | 127 | return { |
120 | engine: this.get<string>("debug.engine"), | 128 | engine: this.get<string>("debug.engine"), |
121 | engineSettings: this.get<object>("debug.engineSettings"), | 129 | engineSettings: this.get<object>("debug.engineSettings"), |
122 | openUpDebugPane: this.get<boolean>("debug.openUpDebugPane"), | 130 | openDebugPane: this.get<boolean>("debug.openDebugPane"), |
123 | sourceFileMap: sourceFileMap | 131 | sourceFileMap: sourceFileMap |
124 | }; | 132 | }; |
125 | } | 133 | } |
@@ -132,4 +140,14 @@ export class Config { | |||
132 | implementations: this.get<boolean>("lens.implementations"), | 140 | implementations: this.get<boolean>("lens.implementations"), |
133 | }; | 141 | }; |
134 | } | 142 | } |
143 | |||
144 | get hoverActions() { | ||
145 | return { | ||
146 | enable: this.get<boolean>("hoverActions.enable"), | ||
147 | implementations: this.get<boolean>("hoverActions.implementations"), | ||
148 | run: this.get<boolean>("hoverActions.run"), | ||
149 | debug: this.get<boolean>("hoverActions.debug"), | ||
150 | gotoTypeDef: this.get<boolean>("hoverActions.gotoTypeDef"), | ||
151 | }; | ||
152 | } | ||
135 | } | 153 | } |
diff --git a/editors/code/src/ctx.ts b/editors/code/src/ctx.ts index 41df11991..6e767babf 100644 --- a/editors/code/src/ctx.ts +++ b/editors/code/src/ctx.ts | |||
@@ -1,9 +1,11 @@ | |||
1 | import * as vscode from 'vscode'; | 1 | import * as vscode from 'vscode'; |
2 | import * as lc from 'vscode-languageclient'; | 2 | import * as lc from 'vscode-languageclient'; |
3 | import * as ra from './lsp_ext'; | ||
3 | 4 | ||
4 | import { Config } from './config'; | 5 | import { Config } from './config'; |
5 | import { createClient } from './client'; | 6 | import { createClient } from './client'; |
6 | import { isRustEditor, RustEditor } from './util'; | 7 | import { isRustEditor, RustEditor } from './util'; |
8 | import { Status } from './lsp_ext'; | ||
7 | 9 | ||
8 | export class Ctx { | 10 | export class Ctx { |
9 | private constructor( | 11 | private constructor( |
@@ -11,6 +13,7 @@ export class Ctx { | |||
11 | private readonly extCtx: vscode.ExtensionContext, | 13 | private readonly extCtx: vscode.ExtensionContext, |
12 | readonly client: lc.LanguageClient, | 14 | readonly client: lc.LanguageClient, |
13 | readonly serverPath: string, | 15 | readonly serverPath: string, |
16 | readonly statusBar: vscode.StatusBarItem, | ||
14 | ) { | 17 | ) { |
15 | 18 | ||
16 | } | 19 | } |
@@ -22,9 +25,18 @@ export class Ctx { | |||
22 | cwd: string, | 25 | cwd: string, |
23 | ): Promise<Ctx> { | 26 | ): Promise<Ctx> { |
24 | const client = createClient(serverPath, cwd); | 27 | const client = createClient(serverPath, cwd); |
25 | const res = new Ctx(config, extCtx, client, serverPath); | 28 | |
29 | const statusBar = vscode.window.createStatusBarItem(vscode.StatusBarAlignment.Left); | ||
30 | extCtx.subscriptions.push(statusBar); | ||
31 | statusBar.text = "rust-analyzer"; | ||
32 | statusBar.tooltip = "ready"; | ||
33 | statusBar.show(); | ||
34 | |||
35 | const res = new Ctx(config, extCtx, client, serverPath, statusBar); | ||
36 | |||
26 | res.pushCleanup(client.start()); | 37 | res.pushCleanup(client.start()); |
27 | await client.onReady(); | 38 | await client.onReady(); |
39 | client.onNotification(ra.status, (status) => res.setStatus(status)); | ||
28 | return res; | 40 | return res; |
29 | } | 41 | } |
30 | 42 | ||
@@ -54,6 +66,35 @@ export class Ctx { | |||
54 | return this.extCtx.subscriptions; | 66 | return this.extCtx.subscriptions; |
55 | } | 67 | } |
56 | 68 | ||
69 | setStatus(status: Status) { | ||
70 | switch (status) { | ||
71 | case "loading": | ||
72 | this.statusBar.text = "$(sync~spin) rust-analyzer"; | ||
73 | this.statusBar.tooltip = "Loading the project"; | ||
74 | this.statusBar.command = undefined; | ||
75 | this.statusBar.color = undefined; | ||
76 | break; | ||
77 | case "ready": | ||
78 | this.statusBar.text = "rust-analyzer"; | ||
79 | this.statusBar.tooltip = "Ready"; | ||
80 | this.statusBar.command = undefined; | ||
81 | this.statusBar.color = undefined; | ||
82 | break; | ||
83 | case "invalid": | ||
84 | this.statusBar.text = "$(error) rust-analyzer"; | ||
85 | this.statusBar.tooltip = "Failed to load the project"; | ||
86 | this.statusBar.command = undefined; | ||
87 | this.statusBar.color = new vscode.ThemeColor("notificationsErrorIcon.foreground"); | ||
88 | break; | ||
89 | case "needsReload": | ||
90 | this.statusBar.text = "$(warning) rust-analyzer"; | ||
91 | this.statusBar.tooltip = "Click to reload"; | ||
92 | this.statusBar.command = "rust-analyzer.reloadWorkspace"; | ||
93 | this.statusBar.color = new vscode.ThemeColor("notificationsWarningIcon.foreground"); | ||
94 | break; | ||
95 | } | ||
96 | } | ||
97 | |||
57 | pushCleanup(d: Disposable) { | 98 | pushCleanup(d: Disposable) { |
58 | this.extCtx.subscriptions.push(d); | 99 | this.extCtx.subscriptions.push(d); |
59 | } | 100 | } |
diff --git a/editors/code/src/debug.ts b/editors/code/src/debug.ts index 027504ecd..bd92c5b6d 100644 --- a/editors/code/src/debug.ts +++ b/editors/code/src/debug.ts | |||
@@ -3,46 +3,60 @@ import * as vscode from 'vscode'; | |||
3 | import * as path from 'path'; | 3 | import * as path from 'path'; |
4 | import * as ra from './lsp_ext'; | 4 | import * as ra from './lsp_ext'; |
5 | 5 | ||
6 | import { Cargo } from './cargo'; | 6 | import { Cargo } from './toolchain'; |
7 | import { Ctx } from "./ctx"; | 7 | import { Ctx } from "./ctx"; |
8 | import { prepareEnv } from "./run"; | ||
8 | 9 | ||
9 | const debugOutput = vscode.window.createOutputChannel("Debug"); | 10 | const debugOutput = vscode.window.createOutputChannel("Debug"); |
10 | type DebugConfigProvider = (config: ra.Runnable, executable: string, sourceFileMap?: Record<string, string>) => vscode.DebugConfiguration; | 11 | type DebugConfigProvider = (config: ra.Runnable, executable: string, env: Record<string, string>, sourceFileMap?: Record<string, string>) => vscode.DebugConfiguration; |
11 | 12 | ||
12 | function getLldbDebugConfig(config: ra.Runnable, executable: string, sourceFileMap?: Record<string, string>): vscode.DebugConfiguration { | 13 | export async function makeDebugConfig(ctx: Ctx, runnable: ra.Runnable): Promise<void> { |
13 | return { | 14 | const scope = ctx.activeRustEditor?.document.uri; |
14 | type: "lldb", | 15 | if (!scope) return; |
15 | request: "launch", | ||
16 | name: config.label, | ||
17 | program: executable, | ||
18 | args: config.extraArgs, | ||
19 | cwd: config.cwd, | ||
20 | sourceMap: sourceFileMap, | ||
21 | sourceLanguages: ["rust"] | ||
22 | }; | ||
23 | } | ||
24 | 16 | ||
25 | function getCppvsDebugConfig(config: ra.Runnable, executable: string, sourceFileMap?: Record<string, string>): vscode.DebugConfiguration { | 17 | const debugConfig = await getDebugConfiguration(ctx, runnable); |
26 | return { | 18 | if (!debugConfig) return; |
27 | type: (os.platform() === "win32") ? "cppvsdbg" : "cppdbg", | 19 | |
28 | request: "launch", | 20 | const wsLaunchSection = vscode.workspace.getConfiguration("launch", scope); |
29 | name: config.label, | 21 | const configurations = wsLaunchSection.get<any[]>("configurations") || []; |
30 | program: executable, | 22 | |
31 | args: config.extraArgs, | 23 | const index = configurations.findIndex(c => c.name === debugConfig.name); |
32 | cwd: config.cwd, | 24 | if (index !== -1) { |
33 | sourceFileMap: sourceFileMap, | 25 | const answer = await vscode.window.showErrorMessage(`Launch configuration '${debugConfig.name}' already exists!`, 'Cancel', 'Update'); |
34 | }; | 26 | if (answer === "Cancel") return; |
27 | |||
28 | configurations[index] = debugConfig; | ||
29 | } else { | ||
30 | configurations.push(debugConfig); | ||
31 | } | ||
32 | |||
33 | await wsLaunchSection.update("configurations", configurations); | ||
35 | } | 34 | } |
36 | 35 | ||
37 | async function getDebug |