mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-15 08:31:14 -07:00
48 lines
1.8 KiB
TypeScript
48 lines
1.8 KiB
TypeScript
/**
|
|
* @license
|
|
* Copyright 2025 Google LLC
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
import type { CommandModule } from 'yargs';
|
|
import { installCommand } from './extensions/install.js';
|
|
import { uninstallCommand } from './extensions/uninstall.js';
|
|
import { listCommand } from './extensions/list.js';
|
|
import { updateCommand } from './extensions/update.js';
|
|
import { disableCommand } from './extensions/disable.js';
|
|
import { enableCommand } from './extensions/enable.js';
|
|
import { linkCommand } from './extensions/link.js';
|
|
import { newCommand } from './extensions/new.js';
|
|
import { validateCommand } from './extensions/validate.js';
|
|
import { configureCommand } from './extensions/configure.js';
|
|
import { initializeOutputListenersAndFlush } from '../gemini.js';
|
|
import { defer } from '../deferred.js';
|
|
|
|
export const extensionsCommand: CommandModule = {
|
|
command: 'extensions <command>',
|
|
aliases: ['extension'],
|
|
describe: 'Manage Gemini CLI extensions.',
|
|
builder: (yargs) =>
|
|
yargs
|
|
.middleware((argv) => {
|
|
initializeOutputListenersAndFlush();
|
|
argv['isCommand'] = true;
|
|
})
|
|
.command(defer(installCommand, 'extensions'))
|
|
.command(defer(uninstallCommand, 'extensions'))
|
|
.command(defer(listCommand, 'extensions'))
|
|
.command(defer(updateCommand, 'extensions'))
|
|
.command(defer(disableCommand, 'extensions'))
|
|
.command(defer(enableCommand, 'extensions'))
|
|
.command(defer(linkCommand, 'extensions'))
|
|
.command(defer(newCommand, 'extensions'))
|
|
.command(defer(validateCommand, 'extensions'))
|
|
.command(defer(configureCommand, 'extensions'))
|
|
.demandCommand(1, 'You need at least one command before continuing.')
|
|
.version(false),
|
|
handler: () => {
|
|
// This handler is not called when a subcommand is provided.
|
|
// Yargs will show the help menu.
|
|
},
|
|
};
|