Merge branch 'main' into dev/mjbvz/ts-51

This commit is contained in:
Matt Bierner
2023-06-05 14:36:09 -07:00
8 changed files with 409 additions and 155 deletions

View File

@ -13,9 +13,9 @@
"@types/vscode": "^1.74.0",
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"@vscode/dts": "^0.4.0",
"eslint": "^8.26.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.3"
"typescript": "^5.1.3"
},
"engines": {
"vscode": "^1.67.0"
@ -323,6 +323,20 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@vscode/dts": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@vscode/dts/-/dts-0.4.0.tgz",
"integrity": "sha512-m28fZnyS9PlzVvYHppyC3Q98U2RFIZO2srnBMvyupPBY5QkSxoNIjTV9roLaU7kE+gc+HXczH8XHPETUkt9IAA==",
"dev": true,
"dependencies": {
"https-proxy-agent": "^7.0.0",
"minimist": "^1.2.8",
"prompts": "^2.4.2"
},
"bin": {
"dts": "index.js"
}
},
"node_modules/acorn": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
@ -344,6 +358,18 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -952,6 +978,19 @@
"node": ">=8"
}
},
"node_modules/https-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz",
"integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==",
"dev": true,
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@ -1167,10 +1206,13 @@
}
},
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/ms": {
"version": "2.1.2",
@ -1598,20 +1640,6 @@
"punycode": "^2.1.0"
}
},
"node_modules/vscode-dts": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/vscode-dts/-/vscode-dts-0.3.3.tgz",
"integrity": "sha512-JfOsWL0NvfVw0UF9bcTjlv1Onz3Ted7cgpPWKWMnHGB+72t/tn8WFDeKLZO42l2k9KJq/NGS9rFC5gZbyI4FTg==",
"dev": true,
"dependencies": {
"minimist": "^1.2.0",
"prompts": "^2.1.0",
"rimraf": "^3.0.0"
},
"bin": {
"vscode-dts": "index.js"
}
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@ -1850,6 +1878,17 @@
"eslint-visitor-keys": "^3.3.0"
}
},
"@vscode/dts": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@vscode/dts/-/dts-0.4.0.tgz",
"integrity": "sha512-m28fZnyS9PlzVvYHppyC3Q98U2RFIZO2srnBMvyupPBY5QkSxoNIjTV9roLaU7kE+gc+HXczH8XHPETUkt9IAA==",
"dev": true,
"requires": {
"https-proxy-agent": "^7.0.0",
"minimist": "^1.2.8",
"prompts": "^2.4.2"
}
},
"acorn": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
@ -1863,6 +1902,15 @@
"dev": true,
"requires": {}
},
"agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dev": true,
"requires": {
"debug": "^4.3.4"
}
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -2328,6 +2376,16 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"https-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz",
"integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==",
"dev": true,
"requires": {
"agent-base": "^7.0.2",
"debug": "4"
}
},
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@ -2492,9 +2550,9 @@
}
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true
},
"ms": {
@ -2779,17 +2837,6 @@
"punycode": "^2.1.0"
}
},
"vscode-dts": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/vscode-dts/-/vscode-dts-0.3.3.tgz",
"integrity": "sha512-JfOsWL0NvfVw0UF9bcTjlv1Onz3Ted7cgpPWKWMnHGB+72t/tn8WFDeKLZO42l2k9KJq/NGS9rFC5gZbyI4FTg==",
"dev": true,
"requires": {
"minimist": "^1.2.0",
"prompts": "^2.1.0",
"rimraf": "^3.0.0"
}
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",

View File

@ -38,7 +38,7 @@
"compile": "tsc -p ./",
"lint": "eslint \"src/**/*.ts\"",
"watch": "tsc -watch -p ./",
"download-api": "vscode-dts dev",
"download-api": "dts dev",
"postinstall": "npm run download-api"
},
"devDependencies": {
@ -47,7 +47,7 @@
"@typescript-eslint/parser": "^5.42.0",
"eslint": "^8.26.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.3",
"@vscode/dts": "^0.4.0",
"@types/vscode": "^1.74.0"
}
}

View File

@ -13,9 +13,9 @@
"@types/node": "^16.18.34",
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"@vscode/dts": "^0.4.0",
"eslint": "^8.26.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.2"
"typescript": "^5.1.3"
},
"engines": {
"vscode": "^1.74.0"
@ -317,6 +317,20 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@vscode/dts": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@vscode/dts/-/dts-0.4.0.tgz",
"integrity": "sha512-m28fZnyS9PlzVvYHppyC3Q98U2RFIZO2srnBMvyupPBY5QkSxoNIjTV9roLaU7kE+gc+HXczH8XHPETUkt9IAA==",
"dev": true,
"dependencies": {
"https-proxy-agent": "^7.0.0",
"minimist": "^1.2.8",
"prompts": "^2.4.2"
},
"bin": {
"dts": "index.js"
}
},
"node_modules/acorn": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
@ -338,6 +352,18 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -946,6 +972,19 @@
"node": ">=8"
}
},
"node_modules/https-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz",
"integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==",
"dev": true,
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@ -1161,10 +1200,13 @@
}
},
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/ms": {
"version": "2.1.2",
@ -1310,13 +1352,13 @@
}
},
"node_modules/prompts": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz",
"integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==",
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
"integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"dev": true,
"dependencies": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.3"
"sisteransi": "^1.0.5"
},
"engines": {
"node": ">= 6"
@ -1457,9 +1499,9 @@
}
},
"node_modules/sisteransi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz",
"integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"dev": true
},
"node_modules/slash": {
@ -1592,20 +1634,6 @@
"punycode": "^2.1.0"
}
},
"node_modules/vscode-dts": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/vscode-dts/-/vscode-dts-0.3.2.tgz",
"integrity": "sha512-vL6p3MYuRgyvztEyK/X+7KH8JqMrqzxSvZZi8e0eMubCj2v0POmypitJ93EcHSkZbULA2mCK6mdp5bZ5Re/bZw==",
"dev": true,
"dependencies": {
"minimist": "^1.2.0",
"prompts": "^2.1.0",
"rimraf": "^3.0.0"
},
"bin": {
"vscode-dts": "index.js"
}
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@ -1838,6 +1866,17 @@
"eslint-visitor-keys": "^3.3.0"
}
},
"@vscode/dts": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@vscode/dts/-/dts-0.4.0.tgz",
"integrity": "sha512-m28fZnyS9PlzVvYHppyC3Q98U2RFIZO2srnBMvyupPBY5QkSxoNIjTV9roLaU7kE+gc+HXczH8XHPETUkt9IAA==",
"dev": true,
"requires": {
"https-proxy-agent": "^7.0.0",
"minimist": "^1.2.8",
"prompts": "^2.4.2"
}
},
"acorn": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
@ -1851,6 +1890,15 @@
"dev": true,
"requires": {}
},
"agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dev": true,
"requires": {
"debug": "^4.3.4"
}
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -2316,6 +2364,16 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"https-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz",
"integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==",
"dev": true,
"requires": {
"agent-base": "^7.0.2",
"debug": "4"
}
},
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@ -2480,9 +2538,9 @@
}
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true
},
"ms": {
@ -2590,13 +2648,13 @@
"dev": true
},
"prompts": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.2.1.tgz",
"integrity": "sha512-VObPvJiWPhpZI6C5m60XOzTfnYg/xc/an+r9VYymj9WJW3B/DIH+REzjpAACPf8brwPeP+7vz3bIim3S+AaMjw==",
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
"integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
"dev": true,
"requires": {
"kleur": "^3.0.3",
"sisteransi": "^1.0.3"
"sisteransi": "^1.0.5"
}
},
"punycode": {
@ -2672,9 +2730,9 @@
"dev": true
},
"sisteransi": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.3.tgz",
"integrity": "sha512-SbEG75TzH8G7eVXFSN5f9EExILKfly7SUvVY5DhhYLvfhKqhDFY0OzevWa/zwak0RLRfWS5AvfMWpd9gJvr5Yg==",
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
"integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
"dev": true
},
"slash": {
@ -2767,17 +2825,6 @@
"punycode": "^2.1.0"
}
},
"vscode-dts": {
"version": "0.3.2",
"resolved": "https://registry.npmjs.org/vscode-dts/-/vscode-dts-0.3.2.tgz",
"integrity": "sha512-vL6p3MYuRgyvztEyK/X+7KH8JqMrqzxSvZZi8e0eMubCj2v0POmypitJ93EcHSkZbULA2mCK6mdp5bZ5Re/bZw==",
"dev": true,
"requires": {
"minimist": "^1.2.0",
"prompts": "^2.1.0",
"rimraf": "^3.0.0"
}
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",

View File

@ -29,8 +29,8 @@
"compile": "tsc -p ./",
"lint": "eslint \"src/**/*.ts\"",
"watch": "tsc -watch -p ./",
"download-api": "vscode-dts dev",
"postdownload-api": "vscode-dts main",
"download-api": "dts dev",
"postdownload-api": "dts main",
"postinstall": "npm run download-api"
},
"devDependencies": {
@ -39,6 +39,6 @@
"@typescript-eslint/parser": "^5.42.0",
"eslint": "^8.26.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.2"
"@vscode/dts": "^0.4.0"
}
}
}

View File

@ -31,8 +31,8 @@
"compile": "tsc -p ./",
"lint": "eslint . --ext .ts,.tsx",
"watch": "tsc -watch -p ./",
"download-api": "vscode-dts dev",
"postdownload-api": "vscode-dts main",
"download-api": "dts dev",
"postdownload-api": "dts main",
"postinstall": "npm run download-api"
},
"devDependencies": {
@ -41,6 +41,6 @@
"@typescript-eslint/parser": "^5.40.1",
"eslint": "^8.25.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.3"
"@vscode/dts": "^0.4.0"
}
}

View File

@ -733,7 +733,7 @@ declare module 'vscode' {
*/
OpenOpen = 0,
/**
* The decoration's range will not widen when edits occur at the start of end.
* The decoration's range will not widen when edits occur at the start or end.
*/
ClosedClosed = 1,
/**
@ -3710,7 +3710,18 @@ declare module 'vscode' {
* the file is being created with.
* @param metadata Optional metadata for the entry.
*/
createFile(uri: Uri, options?: { readonly overwrite?: boolean; readonly ignoreIfExists?: boolean; readonly contents?: Uint8Array }, metadata?: WorkspaceEditEntryMetadata): void;
createFile(uri: Uri, options?: {
readonly overwrite?: boolean;
readonly ignoreIfExists?: boolean;
/**
* The initial contents of the new file.
*
* If creating a file from a {@link DocumentDropEditProvider drop operation}, you can
* pass in a {@link DataTransferFile} to improve performance by avoiding extra data copying.
*/
readonly contents?: Uint8Array | DataTransferFile;
}, metadata?: WorkspaceEditEntryMetadata): void;
/**
* Delete a file or folder.
@ -6499,7 +6510,7 @@ declare module 'vscode' {
/**
* Outputs the given trace message to the channel. Use this method to log verbose information.
*
* The message is only loggeed if the channel is configured to display {@link LogLevel.Trace trace} log level.
* The message is only logged if the channel is configured to display {@link LogLevel.Trace trace} log level.
*
* @param message trace message to log
*/
@ -6508,7 +6519,7 @@ declare module 'vscode' {
/**
* Outputs the given debug message to the channel.
*
* The message is only loggeed if the channel is configured to display {@link LogLevel.Debug debug} log level or lower.
* The message is only logged if the channel is configured to display {@link LogLevel.Debug debug} log level or lower.
*
* @param message debug message to log
*/
@ -6517,7 +6528,7 @@ declare module 'vscode' {
/**
* Outputs the given information message to the channel.
*
* The message is only loggeed if the channel is configured to display {@link LogLevel.Info info} log level or lower.
* The message is only logged if the channel is configured to display {@link LogLevel.Info info} log level or lower.
*
* @param message info message to log
*/
@ -6526,7 +6537,7 @@ declare module 'vscode' {
/**
* Outputs the given warning message to the channel.
*
* The message is only loggeed if the channel is configured to display {@link LogLevel.Warning warning} log level or lower.
* The message is only logged if the channel is configured to display {@link LogLevel.Warning warning} log level or lower.
*
* @param message warning message to log
*/
@ -6535,7 +6546,7 @@ declare module 'vscode' {
/**
* Outputs the given error or error message to the channel.
*
* The message is only loggeed if the channel is configured to display {@link LogLevel.Error error} log level or lower.
* The message is only logged if the channel is configured to display {@link LogLevel.Error error} log level or lower.
*
* @param error Error or error message to log
*/
@ -7432,6 +7443,11 @@ declare module 'vscode' {
* Controls whether the terminal is cleared before executing the task.
*/
clear?: boolean;
/**
* Controls whether the terminal is closed after executing the task.
*/
close?: boolean;
}
/**
@ -10142,22 +10158,23 @@ declare module 'vscode' {
/**
* Creates a status bar {@link StatusBarItem item}.
*
* @param alignment The alignment of the item.
* @param priority The priority of the item. Higher values mean the item should be shown more to the left.
* @return A new status bar item.
*/
export function createStatusBarItem(alignment?: StatusBarAlignment, priority?: number): StatusBarItem;
/**
* Creates a status bar {@link StatusBarItem item}.
*
* @param id The unique identifier of the item.
* @param id The identifier of the item. Must be unique within the extension.
* @param alignment The alignment of the item.
* @param priority The priority of the item. Higher values mean the item should be shown more to the left.
* @return A new status bar item.
*/
export function createStatusBarItem(id: string, alignment?: StatusBarAlignment, priority?: number): StatusBarItem;
/**
* Creates a status bar {@link StatusBarItem item}.
*
* @see {@link createStatusBarItem} for creating a status bar item with an identifier.
* @param alignment The alignment of the item.
* @param priority The priority of the item. Higher values mean the item should be shown more to the left.
* @return A new status bar item.
*/
export function createStatusBarItem(alignment?: StatusBarAlignment, priority?: number): StatusBarItem;
/**
* Creates a {@link Terminal} with a backing shell process. The cwd of the terminal will be the workspace
* directory if it exists.
@ -10414,6 +10431,8 @@ declare module 'vscode' {
/**
* A file associated with a {@linkcode DataTransferItem}.
*
* Instances of this type can only be created by the editor and not by extensions.
*/
export interface DataTransferFile {
/**
@ -11045,7 +11064,7 @@ declare module 'vscode' {
* **Example:** Exit the terminal when "y" is pressed, otherwise show a notification.
* ```typescript
* const writeEmitter = new vscode.EventEmitter<string>();
* const closeEmitter = new vscode.EventEmitter<vscode.TerminalDimensions>();
* const closeEmitter = new vscode.EventEmitter<void>();
* const pty: vscode.Pseudoterminal = {
* onDidWrite: writeEmitter.event,
* onDidClose: closeEmitter.event,
@ -11058,7 +11077,8 @@ declare module 'vscode' {
* closeEmitter.fire();
* }
* };
* vscode.window.createTerminal({ name: 'Exit example', pty });
* const terminal = vscode.window.createTerminal({ name: 'Exit example', pty });
* terminal.show(true);
* ```
*/
onDidClose?: Event<void | number>;
@ -12489,6 +12509,21 @@ declare module 'vscode' {
*/
export const onDidChangeNotebookDocument: Event<NotebookDocumentChangeEvent>;
/**
* An event that is emitted when a {@link NotebookDocument notebook document} will be saved to disk.
*
* *Note 1:* Subscribers can delay saving by registering asynchronous work. For the sake of data integrity the editor
* might save without firing this event. For instance when shutting down with dirty files.
*
* *Note 2:* Subscribers are called sequentially and they can {@link NotebookDocumentWillSaveEvent.waitUntil delay} saving
* by registering asynchronous work. Protection against misbehaving listeners is implemented as such:
* * there is an overall time budget that all listeners share and if that is exhausted no further listener is called
* * listeners that take a long time or produce errors frequently will not be called anymore
*
* The current thresholds are 1.5 seconds as overall time budget and a listener can misbehave 3 times before being ignored.
*/
export const onWillSaveNotebookDocument: Event<NotebookDocumentWillSaveEvent>;
/**
* An event that is emitted when a {@link NotebookDocument notebook} is saved.
*/
@ -13558,6 +13593,61 @@ declare module 'vscode' {
readonly cellChanges: readonly NotebookDocumentCellChange[];
}
/**
* An event that is fired when a {@link NotebookDocument notebook document} will be saved.
*
* To make modifications to the document before it is being saved, call the
* {@linkcode NotebookDocumentWillSaveEvent.waitUntil waitUntil}-function with a thenable
* that resolves to a {@link WorkspaceEdit workspace edit}.
*/
export interface NotebookDocumentWillSaveEvent {
/**
* A cancellation token.
*/
readonly token: CancellationToken;
/**
* The {@link NotebookDocument notebook document} that will be saved.
*/
readonly notebook: NotebookDocument;
/**
* The reason why save was triggered.
*/
readonly reason: TextDocumentSaveReason;
/**
* Allows to pause the event loop and to apply {@link WorkspaceEdit workspace edit}.
* Edits of subsequent calls to this function will be applied in order. The
* edits will be *ignored* if concurrent modifications of the notebook document happened.
*
* *Note:* This function can only be called during event dispatch and not
* in an asynchronous manner:
*
* ```ts
* workspace.onWillSaveNotebookDocument(event => {
* // async, will *throw* an error
* setTimeout(() => event.waitUntil(promise));
*
* // sync, OK
* event.waitUntil(promise);
* })
* ```
*
* @param thenable A thenable that resolves to {@link WorkspaceEdit workspace edit}.
*/
waitUntil(thenable: Thenable<WorkspaceEdit>): void;
/**
* Allows to pause the event loop until the provided thenable resolved.
*
* *Note:* This function can only be called during event dispatch.
*
* @param thenable A thenable that delays saving.
*/
waitUntil(thenable: Thenable<any>): void;
}
/**
* The summary of a notebook cell execution.
*/
@ -15564,18 +15654,35 @@ declare module 'vscode' {
readonly label: string;
}
/**
* Optional options to be used when calling {@link authentication.getSession} with the flag `forceNewSession`.
*/
export interface AuthenticationForceNewSessionOptions {
/**
* An optional message that will be displayed to the user when we ask to re-authenticate. Providing additional context
* as to why you are asking a user to re-authenticate can help increase the odds that they will accept.
*/
detail?: string;
}
/**
* Options to be used when getting an {@link AuthenticationSession} from an {@link AuthenticationProvider}.
*/
export interface AuthenticationGetSessionOptions {
/**
* Whether the existing user session preference should be cleared.
* Whether the existing session preference should be cleared.
*
* For authentication providers that support being signed into multiple accounts at once, the user will be
* prompted to select an account to use when {@link authentication.getSession getSession} is called. This preference
* is remembered until {@link authentication.getSession getSession} is called with this flag.
*
* Note:
* The preference is extension specific. So if one extension calls {@link authentication.getSession getSession}, it will not
* affect the session preference for another extension calling {@link authentication.getSession getSession}. Additionally,
* the preference is set for the current workspace and also globally. This means that new workspaces will use the "global"
* value at first and then when this flag is provided, a new value can be set for that workspace. This also means
* that pre-existing workspaces will not lose their preference if a new workspace sets this flag.
*
* Defaults to false.
*/
clearSessionPreference?: boolean;
@ -15607,7 +15714,7 @@ declare module 'vscode' {
*
* This defaults to false.
*/
forceNewSession?: boolean | { detail: string };
forceNewSession?: boolean | AuthenticationForceNewSessionOptions;
/**
* Whether we should show the indication to sign in in the Accounts menu.
@ -15757,7 +15864,7 @@ declare module 'vscode' {
* @param options The {@link AuthenticationGetSessionOptions} to use
* @returns A thenable that resolves to an authentication session
*/
export function getSession(providerId: string, scopes: readonly string[], options: AuthenticationGetSessionOptions & { forceNewSession: true | { detail: string } }): Thenable<AuthenticationSession>;
export function getSession(providerId: string, scopes: readonly string[], options: AuthenticationGetSessionOptions & { forceNewSession: true | AuthenticationForceNewSessionOptions }): Thenable<AuthenticationSession>;
/**
* Get an authentication session matching the desired scopes. Rejects if a provider with providerId is not
@ -15810,12 +15917,15 @@ declare module 'vscode' {
* Marks a string for localization. If a localized bundle is available for the language specified by
* {@link env.language} and the bundle has a localized value for this message, then that localized
* value will be returned (with injected {@link args} values for any templated values).
*
* @param message - The message to localize. Supports index templating where strings like `{0}` and `{1}` are
* replaced by the item at that index in the {@link args} array.
* @param args - The arguments to be used in the localized string. The index of the argument is used to
* match the template placeholder in the localized string.
* @returns localized string with injected arguments.
* @example `l10n.t('Hello {0}!', 'World');`
*
* @example
* l10n.t('Hello {0}!', 'World');
*/
export function t(message: string, ...args: Array<string | number | boolean>): string;
@ -15823,18 +15933,22 @@ declare module 'vscode' {
* Marks a string for localization. If a localized bundle is available for the language specified by
* {@link env.language} and the bundle has a localized value for this message, then that localized
* value will be returned (with injected {@link args} values for any templated values).
*
* @param message The message to localize. Supports named templating where strings like `{foo}` and `{bar}` are
* replaced by the value in the Record for that key (foo, bar, etc).
* @param args The arguments to be used in the localized string. The name of the key in the record is used to
* match the template placeholder in the localized string.
* @returns localized string with injected arguments.
* @example `l10n.t('Hello {name}', { name: 'Erich' });`
*
* @example
* l10n.t('Hello {name}', { name: 'Erich' });
*/
export function t(message: string, args: Record<string, any>): string;
/**
* Marks a string for localization. If a localized bundle is available for the language specified by
* {@link env.language} and the bundle has a localized value for this message, then that localized
* value will be returned (with injected args values for any templated values).
*
* @param options The options to use when localizing the message.
* @returns localized string with injected arguments.
*/
@ -16248,7 +16362,7 @@ declare module 'vscode' {
appendOutput(output: string, location?: Location, test?: TestItem): void;
/**
* Signals that the end of the test run. Any tests included in the run whose
* Signals the end of the test run. Any tests included in the run whose
* states have not been updated will have their state reset.
*/
end(): void;
@ -16674,7 +16788,7 @@ declare module 'vscode' {
}
/**
* Represents the main editor area which consists of multple groups which contain tabs.
* Represents the main editor area which consists of multiple groups which contain tabs.
*/
export interface TabGroups {
/**

View File

@ -13,9 +13,9 @@
"@types/node": "^16.18.34",
"@typescript-eslint/eslint-plugin": "^5.42.0",
"@typescript-eslint/parser": "^5.42.0",
"@vscode/dts": "^0.4.0",
"eslint": "^8.26.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.3"
"typescript": "^5.1.3"
},
"engines": {
"vscode": "^1.68.0"
@ -317,6 +317,20 @@
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@vscode/dts": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@vscode/dts/-/dts-0.4.0.tgz",
"integrity": "sha512-m28fZnyS9PlzVvYHppyC3Q98U2RFIZO2srnBMvyupPBY5QkSxoNIjTV9roLaU7kE+gc+HXczH8XHPETUkt9IAA==",
"dev": true,
"dependencies": {
"https-proxy-agent": "^7.0.0",
"minimist": "^1.2.8",
"prompts": "^2.4.2"
},
"bin": {
"dts": "index.js"
}
},
"node_modules/acorn": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
@ -338,6 +352,18 @@
"acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dev": true,
"dependencies": {
"debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -946,6 +972,19 @@
"node": ">=8"
}
},
"node_modules/https-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz",
"integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==",
"dev": true,
"dependencies": {
"agent-base": "^7.0.2",
"debug": "4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@ -1161,10 +1200,13 @@
}
},
"node_modules/minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"dev": true
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/ms": {
"version": "2.1.2",
@ -1592,20 +1634,6 @@
"punycode": "^2.1.0"
}
},
"node_modules/vscode-dts": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/vscode-dts/-/vscode-dts-0.3.3.tgz",
"integrity": "sha512-JfOsWL0NvfVw0UF9bcTjlv1Onz3Ted7cgpPWKWMnHGB+72t/tn8WFDeKLZO42l2k9KJq/NGS9rFC5gZbyI4FTg==",
"dev": true,
"dependencies": {
"minimist": "^1.2.0",
"prompts": "^2.1.0",
"rimraf": "^3.0.0"
},
"bin": {
"vscode-dts": "index.js"
}
},
"node_modules/which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
@ -1838,6 +1866,17 @@
"eslint-visitor-keys": "^3.3.0"
}
},
"@vscode/dts": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/@vscode/dts/-/dts-0.4.0.tgz",
"integrity": "sha512-m28fZnyS9PlzVvYHppyC3Q98U2RFIZO2srnBMvyupPBY5QkSxoNIjTV9roLaU7kE+gc+HXczH8XHPETUkt9IAA==",
"dev": true,
"requires": {
"https-proxy-agent": "^7.0.0",
"minimist": "^1.2.8",
"prompts": "^2.4.2"
}
},
"acorn": {
"version": "8.8.1",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
@ -1851,6 +1890,15 @@
"dev": true,
"requires": {}
},
"agent-base": {
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
"integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
"dev": true,
"requires": {
"debug": "^4.3.4"
}
},
"ajv": {
"version": "6.12.6",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
@ -2316,6 +2364,16 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true
},
"https-proxy-agent": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.0.tgz",
"integrity": "sha512-0euwPCRyAPSgGdzD1IVN9nJYHtBhJwb6XPfbpQcYbPCwrBidX6GzxmchnaF4sfF/jPb74Ojx5g4yTg3sixlyPw==",
"dev": true,
"requires": {
"agent-base": "^7.0.2",
"debug": "4"
}
},
"ignore": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
@ -2480,9 +2538,9 @@
}
},
"minimist": {
"version": "1.2.6",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
"integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
"dev": true
},
"ms": {
@ -2767,17 +2825,6 @@
"punycode": "^2.1.0"
}
},
"vscode-dts": {
"version": "0.3.3",
"resolved": "https://registry.npmjs.org/vscode-dts/-/vscode-dts-0.3.3.tgz",
"integrity": "sha512-JfOsWL0NvfVw0UF9bcTjlv1Onz3Ted7cgpPWKWMnHGB+72t/tn8WFDeKLZO42l2k9KJq/NGS9rFC5gZbyI4FTg==",
"dev": true,
"requires": {
"minimist": "^1.2.0",
"prompts": "^2.1.0",
"rimraf": "^3.0.0"
}
},
"which": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",

View File

@ -8,8 +8,7 @@
"license": "MIT",
"repository": "https://github.com/Microsoft/vscode-extension-samples",
"enabledApiProposals": [
"testCoverage",
"testContinuousRun"
"testCoverage"
],
"engines": {
"vscode": "^1.68.0"
@ -26,7 +25,7 @@
"compile": "tsc -p ./",
"lint": "eslint \"src/**/*.ts\"",
"watch": "tsc -watch -p ./",
"download-api": "vscode-dts main && vscode-dts dev",
"download-api": "dts main && dts dev",
"postinstall": "npm run download-api"
},
"devDependencies": {
@ -35,6 +34,6 @@
"@typescript-eslint/parser": "^5.42.0",
"eslint": "^8.26.0",
"typescript": "^5.1.3",
"vscode-dts": "^0.3.3"
"@vscode/dts": "^0.4.0"
}
}