23 lines
983 B
TypeScript
23 lines
983 B
TypeScript
import * as vscode from 'vscode';
|
|
import { TplQuickFix } from './TplQuickFix';
|
|
|
|
export class LogFix implements TplQuickFix {
|
|
public readonly diagnosticCode = 'missing_log_start';
|
|
|
|
public provideFix(document: vscode.TextDocument, diagnostic: vscode.Diagnostic): vscode.CodeAction[] {
|
|
const fix = new vscode.CodeAction("Fehlendes Log-Statement einfügen", vscode.CodeActionKind.QuickFix);
|
|
fix.edit = new vscode.WorkspaceEdit();
|
|
|
|
// Der Linter hat uns den exakten String in die 'source' gepackt
|
|
const expectedLog = diagnostic.source || 'log.debug("Start pattern");';
|
|
|
|
// Füge es eine Zeile unter dem 'body' Keyword ein, sauber eingerückt
|
|
const insertText = ` ${expectedLog}\n`;
|
|
fix.edit.insert(document.uri, new vscode.Position(diagnostic.range.start.line + 1, 0), insertText);
|
|
|
|
fix.diagnostics = [diagnostic];
|
|
fix.isPreferred = true;
|
|
|
|
return [fix];
|
|
}
|
|
} |