The-Agency/lib/ui/widgets/chat/bubbles/tools/grep_bubble.dart

37 lines
1 KiB
Dart

import "package:provider/provider.dart";
import "package:shadcn_flutter/shadcn_flutter.dart";
import "../../../../providers/chat_provider.dart";
import "../../../../utils/path_utils.dart";
import "tool_bubble_base.dart";
class GrepBubble extends StatelessWidget {
const GrepBubble({
super.key,
required this.input,
this.result,
this.isPendingPermission = false,
});
final Map<String, dynamic> input;
final String? result;
final bool isPendingPermission;
@override
Widget build(BuildContext context) {
final projectRoot = context.read<ChatProvider>().workingDirectory;
final pattern = input["pattern"] as String? ?? "";
final searchPath = input["path"] as String?;
final detail = searchPath != null && searchPath.isNotEmpty
? "${shortenPath(searchPath, projectRoot)}$pattern"
: pattern;
return ToolBubbleBase(
toolName: "Grep",
icon: LucideIcons.search,
result: result,
isPendingPermission: isPendingPermission,
detail: detail,
);
}
}