20 lines
788 B
TypeScript
20 lines
788 B
TypeScript
|
|
import * as vscode from 'vscode';
|
||
|
|
import { TplQuickFix } from './TplQuickFix';
|
||
|
|
|
||
|
|
export class TabFix implements TplQuickFix {
|
||
|
|
public readonly diagnosticCode = 'invalid_tab';
|
||
|
|
|
||
|
|
public provideFix(document: vscode.TextDocument, diagnostic: vscode.Diagnostic): vscode.CodeAction[] {
|
||
|
|
const fix = new vscode.CodeAction("Tabs in 4 Spaces umwandeln", vscode.CodeActionKind.QuickFix);
|
||
|
|
fix.edit = new vscode.WorkspaceEdit();
|
||
|
|
|
||
|
|
const line = document.lineAt(diagnostic.range.start.line);
|
||
|
|
const newText = line.text.replace(/\t/g, ' ');
|
||
|
|
|
||
|
|
fix.edit.replace(document.uri, line.range, newText);
|
||
|
|
fix.diagnostics = [diagnostic];
|
||
|
|
fix.isPreferred = true; // Setzt dies als Standard-Vorschlag
|
||
|
|
|
||
|
|
return [fix];
|
||
|
|
}
|
||
|
|
}
|