summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/components/AutoAcceptIndicator.tsx
diff options
context:
space:
mode:
authorTolik Malibroda <[email protected]>2025-06-02 22:05:45 +0200
committerGitHub <[email protected]>2025-06-02 22:05:45 +0200
commit0795e55f0e7d2f2822bcd83eaf066eb99c67f858 (patch)
tree3fd259976c8cfc5df79bba2d37f0a17fa3f683a4 /packages/cli/src/ui/components/AutoAcceptIndicator.tsx
parent42bedbc3d39265932cbd6c9b818b6a7fbcbdd022 (diff)
feat: Add --yolo mode that automatically accepts all tools executions (#695)
Co-authored-by: N. Taylor Mullen <[email protected]>
Diffstat (limited to 'packages/cli/src/ui/components/AutoAcceptIndicator.tsx')
-rw-r--r--packages/cli/src/ui/components/AutoAcceptIndicator.tsx45
1 files changed, 37 insertions, 8 deletions
diff --git a/packages/cli/src/ui/components/AutoAcceptIndicator.tsx b/packages/cli/src/ui/components/AutoAcceptIndicator.tsx
index dc23d5e2..dbdb3e9a 100644
--- a/packages/cli/src/ui/components/AutoAcceptIndicator.tsx
+++ b/packages/cli/src/ui/components/AutoAcceptIndicator.tsx
@@ -7,12 +7,41 @@
import React from 'react';
import { Box, Text } from 'ink';
import { Colors } from '../colors.js';
+import { ApprovalMode } from '@gemini-code/core';
-export const AutoAcceptIndicator: React.FC = () => (
- <Box>
- <Text color={Colors.AccentGreen}>
- accepting edits
- <Text color={Colors.SubtleComment}> (shift + tab to disable)</Text>
- </Text>
- </Box>
-);
+interface AutoAcceptIndicatorProps {
+ approvalMode: ApprovalMode;
+}
+
+export const AutoAcceptIndicator: React.FC<AutoAcceptIndicatorProps> = ({
+ approvalMode,
+}) => {
+ let textColor = '';
+ let textContent = '';
+ let subText = '';
+
+ switch (approvalMode) {
+ case ApprovalMode.AUTO_EDIT:
+ textColor = Colors.AccentGreen;
+ textContent = 'accepting edits';
+ subText = ' (shift + tab to toggle)';
+ break;
+ case ApprovalMode.YOLO:
+ textColor = Colors.AccentRed;
+ textContent = 'YOLO mode';
+ subText = ' (ctrl + y to toggle)';
+ break;
+ case ApprovalMode.DEFAULT:
+ default:
+ break;
+ }
+
+ return (
+ <Box>
+ <Text color={textColor}>
+ {textContent}
+ {subText && <Text color={Colors.SubtleComment}>{subText}</Text>}
+ </Text>
+ </Box>
+ );
+};