aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Kiryukhin <a.kiryukhin@mail.ru>2021-04-04 01:14:39 +0300
committerAlexander Kiryukhin <a.kiryukhin@mail.ru>2021-04-04 01:22:14 +0300
commitc0746565844ee0f1a82a916ac2e1ad2a13e949fd (patch)
tree9207ac3322311dca71cdff0d1daf3f8ea37ef3af
parent6c3aa1bf769f3f161e3fc60560c605c38e9f2c6b (diff)
v0.0.7 Macbook Touchbar button for error wrappingv0.0.7
-rw-r--r--package.json19
-rw-r--r--src/extension.ts6
-rw-r--r--tsconfig.json5
3 files changed, 26 insertions, 4 deletions
diff --git a/package.json b/package.json
index 7a804bb..7f5e8d0 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "gotools",
"displayName": "Golang Tools",
"description": "Tools for productive work",
- "version": "0.0.6",
+ "version": "0.0.7",
"publisher": "neonxp",
"license": "GPL-3.0-or-later",
"author": {
@@ -37,6 +37,20 @@
"language": "go",
"path": "./snippets/snippets.json"
}
+ ],
+ "menus": {
+ "touchBar": [
+ {
+ "command": "gotools.wrap-error",
+ "when": "allowWrapIferr"
+ }
+ ]
+ },
+ "commands": [
+ {
+ "command": "gotools.wrap-error",
+ "title": "if err≠nil {...}"
+ }
]
},
"scripts": {
@@ -59,5 +73,8 @@
"mocha": "^8.2.1",
"typescript": "^4.1.3",
"vscode-test": "^1.5.0"
+ },
+ "dependencies": {
+ "child_process": "^1.0.2"
}
}
diff --git a/src/extension.ts b/src/extension.ts
index 8afea4e..a60f216 100644
--- a/src/extension.ts
+++ b/src/extension.ts
@@ -1,6 +1,6 @@
import * as vscode from 'vscode';
-const fnRegex = /^\t*(.*)err\s?:=.+?$/
+const fnRegex = /^\t*(.*)err\s?:?=.+?$/
export function activate(context: vscode.ExtensionContext) {
context.subscriptions.push(
@@ -28,10 +28,13 @@ export class ErrorsWrapper implements vscode.CodeActionProvider {
if (!editor) {
return undefined;
}
+
const line = document.lineAt(editor.selection.start.line);
if (!fnRegex.test(line.text)) {
+ vscode.commands.executeCommand('setContext', 'allowWrapIferr', false);
return undefined;
}
+ vscode.commands.executeCommand('setContext', 'allowWrapIferr', true);
const action = new vscode.CodeAction('Add error checking', vscode.CodeActionKind.RefactorRewrite);
action.command = { command: 'gotools.wrap-error', title: 'Add error checking block', tooltip: '' };
return [
@@ -46,6 +49,7 @@ const wrapError = () => {
return;
}
const document = editor.document;
+
const line = document.lineAt(editor.selection.start.line);
const matches = line.text.match(fnRegex);
if (matches == null || matches.length == 0) {
diff --git a/tsconfig.json b/tsconfig.json
index df5ac7f..b140176 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -8,11 +8,12 @@
],
"sourceMap": true,
"rootDir": "src",
- "strict": true /* enable all strict type-checking options */
+ "strict": false, /* enable all strict type-checking options */
/* Additional Checks */
// "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */
// "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */
- // "noUnusedParameters": true, /* Report errors on unused parameters. */
+ // "noUnusedParameters": true, /* Report errors on unused parameters. */,
+ "allowJs": true
},
"exclude": [
"node_modules",