20 lines
691 B
TypeScript
20 lines
691 B
TypeScript
import * as vscode from 'vscode';
|
|
|
|
export class TabFix {
|
|
public diagnosticCode = 'invalid_tab';
|
|
|
|
public provideFix(document: vscode.TextDocument, diagnostic: vscode.Diagnostic): vscode.CodeAction[] {
|
|
const action = new vscode.CodeAction("Convert tabs to 4 spaces", vscode.CodeActionKind.QuickFix);
|
|
action.edit = new vscode.WorkspaceEdit();
|
|
|
|
const line = document.lineAt(diagnostic.range.start.line);
|
|
const newText = line.text.replace(/\t/g, ' ');
|
|
|
|
action.edit.replace(document.uri, line.range, newText);
|
|
action.diagnostics = [diagnostic];
|
|
action.isPreferred = true;
|
|
|
|
return [action];
|
|
}
|
|
}
|