execute method

  1. @override
Future<ToolResult> execute(
  1. Map<String, dynamic> input
)
override

Execute the tool with the given input.

Implementation

@override
Future<ToolResult> execute(Map<String, dynamic> input) async {
  final validation = validateInput(input);
  if (!validation.isValid) return ToolResult.error(validation.error!);

  final parsed = LspToolInput.fromJson(input);
  if (lspClient != null) {
    return lspClient!(parsed);
  }
  return ToolResult.error(
    'No LSP client configured. Wire up an LSP server to use this tool.',
  );
}