setupTerminal function

Future<String> setupTerminal()

Run terminal setup for the detected terminal.

Dispatches to the appropriate installer based on the terminal type. Returns a user-facing message describing what was done.

Implementation

Future<String> setupTerminal() async {
  final terminal = detectTerminal();

  String result = '';
  switch (terminal) {
    case 'Apple_Terminal':
      result = await enableOptionAsMetaForTerminal();
      break;
    case 'vscode':
      result = await installBindingsForVSCodeTerminal(editor: 'VSCode');
      break;
    case 'cursor':
      result = await installBindingsForVSCodeTerminal(editor: 'Cursor');
      break;
    case 'windsurf':
      result = await installBindingsForVSCodeTerminal(editor: 'Windsurf');
      break;
    case 'alacritty':
      result = await installBindingsForAlacritty();
      break;
    case 'zed':
      result = await installBindingsForZed();
      break;
    default:
      break;
  }

  return result;
}