mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-08-06 23:23:36 -07:00
b6fe265d0c
# Conflicts: # docs/cli/cli-reference.md # packages/cli/src/gemini.test.tsx # packages/cli/src/ui/AppContainer.tsx # packages/cli/src/ui/components/DialogManager.tsx # packages/cli/src/ui/components/SessionBrowser.tsx # packages/cli/src/ui/components/SessionSummaryDisplay.test.tsx # packages/cli/src/ui/components/SessionSummaryDisplay.tsx # packages/cli/src/ui/components/__snapshots__/SessionSummaryDisplay.test.tsx.snap # packages/cli/src/ui/hooks/useSessionBrowser.test.ts # packages/cli/src/ui/hooks/useSessionResume.test.ts # packages/cli/src/utils/sessionUtils.test.ts # packages/cli/src/utils/sessionUtils.ts # packages/core/src/services/chatRecordingService.ts
39 lines
943 B
TypeScript
39 lines
943 B
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import { formatDuration } from '../utils/formatters.js';
|
|
import { CommandKind, type SlashCommand } from './types.js';
|
|
|
|
export const quitCommand: SlashCommand = {
|
|
name: 'quit',
|
|
altNames: ['exit'],
|
|
description: 'Exit the cli',
|
|
kind: CommandKind.BUILT_IN,
|
|
autoExecute: true,
|
|
action: (context) => {
|
|
const now = Date.now();
|
|
const { sessionStartTime } = context.session.stats;
|
|
const wallDuration = now - sessionStartTime.getTime();
|
|
|
|
return {
|
|
type: 'quit',
|
|
messages: [
|
|
{
|
|
type: 'user',
|
|
text: `/quit`, // Keep it consistent, even if /exit was used
|
|
id: now - 1,
|
|
},
|
|
{
|
|
type: 'quit',
|
|
duration: formatDuration(wallDuration),
|
|
sessionId: context.services.agentContext?.config.getSessionId(),
|
|
id: now,
|
|
},
|
|
],
|
|
};
|
|
},
|
|
};
|