blob: 0e1b8cc8d4d0ac425a13b924a18f9851b2a17962 [file] [log] [blame]
/* eslint-disable @typescript-eslint/no-unused-vars */
/*---------------------------------------------------------
* Copyright (C) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See LICENSE in the project root for license information.
*--------------------------------------------------------*/
'use strict';
import vscode = require('vscode');
export class GoRefactorProvider implements vscode.CodeActionProvider {
public provideCodeActions(
document: vscode.TextDocument,
range: vscode.Range,
context: vscode.CodeActionContext,
token: vscode.CancellationToken
): vscode.ProviderResult<vscode.CodeAction[]> {
if (range.isEmpty) {
return [];
}
const extractFunction = new vscode.CodeAction(
'Extract to function in package scope',
vscode.CodeActionKind.RefactorExtract
);
const extractVar = new vscode.CodeAction(
'Extract to variable in local scope',
vscode.CodeActionKind.RefactorExtract
);
extractFunction.command = {
title: 'Extract to function in package scope',
command: 'go.godoctor.extract'
};
extractVar.command = {
title: 'Extract to variable in local scope',
command: 'go.godoctor.var'
};
return [extractFunction, extractVar];
}
}