bmc-tpl-code-all-around/src/providers/actions/LogFix.ts

23 lines
983 B
TypeScript
Raw Normal View History

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];
}
}