From 2bf7980dd563df1aee229ba06b8520f816945369 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Wed, 13 Sep 2023 13:00:05 -0700 Subject: [PATCH] Update paste sample for latest api --- document-paste/package-lock.json | 37 +++++++++++--------------------- document-paste/package.json | 1 - document-paste/src/extension.ts | 16 ++++++++++---- 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/document-paste/package-lock.json b/document-paste/package-lock.json index 397b2000..69c87e36 100644 --- a/document-paste/package-lock.json +++ b/document-paste/package-lock.json @@ -11,7 +11,6 @@ "license": "MIT", "devDependencies": { "@types/node": "^16.18.34", - "@types/vscode": "^1.77.0", "@typescript-eslint/eslint-plugin": "^5.42.0", "@typescript-eslint/parser": "^5.42.0", "eslint": "^8.26.0", @@ -131,12 +130,6 @@ "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, - "node_modules/@types/vscode": { - "version": "1.78.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.78.0.tgz", - "integrity": "sha512-LJZIJpPvKJ0HVQDqfOy6W4sNKUBBwyDu1Bs8chHBZOe9MNuKTJtidgZ2bqjhmmWpUb0TIIqv47BFUcVmAsgaVA==", - "dev": true - }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.42.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz", @@ -1434,9 +1427,9 @@ } }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1635,9 +1628,9 @@ } }, "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1753,12 +1746,6 @@ "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", "dev": true }, - "@types/vscode": { - "version": "1.78.0", - "resolved": "https://registry.npmjs.org/@types/vscode/-/vscode-1.78.0.tgz", - "integrity": "sha512-LJZIJpPvKJ0HVQDqfOy6W4sNKUBBwyDu1Bs8chHBZOe9MNuKTJtidgZ2bqjhmmWpUb0TIIqv47BFUcVmAsgaVA==", - "dev": true - }, "@typescript-eslint/eslint-plugin": { "version": "5.42.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.42.0.tgz", @@ -2667,9 +2654,9 @@ } }, "semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" @@ -2807,9 +2794,9 @@ } }, "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true }, "wrappy": { diff --git a/document-paste/package.json b/document-paste/package.json index 3369f4b1..c951c376 100644 --- a/document-paste/package.json +++ b/document-paste/package.json @@ -34,7 +34,6 @@ }, "devDependencies": { "@types/node": "^16.18.34", - "@types/vscode": "^1.77.0", "@typescript-eslint/eslint-plugin": "^5.42.0", "@typescript-eslint/parser": "^5.42.0", "eslint": "^8.26.0", diff --git a/document-paste/src/extension.ts b/document-paste/src/extension.ts index ce61e5c3..7da21688 100644 --- a/document-paste/src/extension.ts +++ b/document-paste/src/extension.ts @@ -23,26 +23,33 @@ class CopyCountPasteEditProvider implements vscode.DocumentPasteEditProvider { _document: vscode.TextDocument, _ranges: readonly vscode.Range[], dataTransfer: vscode.DataTransfer, - _token: vscode.CancellationToken + token: vscode.CancellationToken ): Promise { const countDataTransferItem = dataTransfer.get(this.countMimeTypes); if (!countDataTransferItem) { - return undefined; + return; } const textDataTransferItem = dataTransfer.get('text/plain'); if (!textDataTransferItem) { - return undefined; + return; } const count = await countDataTransferItem.asString(); + if (token.isCancellationRequested) { + return; + } + const text = await textDataTransferItem.asString(); + if (token.isCancellationRequested) { + return; + } // Build a snippet to insert const snippet = new vscode.SnippetString(); snippet.appendText(`(copy #${count}) ${text}`); - return new vscode.DocumentPasteEdit(snippet, 'copyCount', "Insert with copy count sample"); + return new vscode.DocumentPasteEdit(snippet, "Insert with copy count sample"); } } @@ -52,6 +59,7 @@ export function activate(context: vscode.ExtensionContext) { // Register our provider context.subscriptions.push(vscode.languages.registerDocumentPasteEditProvider(selector, new CopyCountPasteEditProvider(), { + id: 'copyCount', pasteMimeTypes: ['text/plain'], })); }