mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-04-22 19:14:33 -07:00
Add ExtensionLoader interface, use that on Config object (#12116)
This commit is contained in:
@@ -23,8 +23,9 @@ export function handleDisable(args: DisableArgs) {
|
||||
workspaceDir,
|
||||
requestConsent: requestConsentNonInteractive,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workspaceDir),
|
||||
settings: loadSettings(workspaceDir).merged,
|
||||
});
|
||||
extensionManager.loadExtensions();
|
||||
|
||||
try {
|
||||
if (args.scope?.toLowerCase() === 'workspace') {
|
||||
|
||||
@@ -26,8 +26,10 @@ export function handleEnable(args: EnableArgs) {
|
||||
workspaceDir: workingDir,
|
||||
requestConsent: requestConsentNonInteractive,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workingDir),
|
||||
settings: loadSettings(workingDir).merged,
|
||||
});
|
||||
extensionManager.loadExtensions();
|
||||
|
||||
try {
|
||||
if (args.scope?.toLowerCase() === 'workspace') {
|
||||
extensionManager.enableExtension(args.name, SettingScope.Workspace);
|
||||
|
||||
@@ -23,6 +23,7 @@ vi.mock('../../config/extension-manager.ts', async (importOriginal) => {
|
||||
...actual,
|
||||
ExtensionManager: vi.fn().mockImplementation(() => ({
|
||||
installOrUpdateExtension: mockInstallOrUpdateExtension,
|
||||
loadExtensions: vi.fn(),
|
||||
})),
|
||||
};
|
||||
});
|
||||
|
||||
@@ -74,8 +74,9 @@ export async function handleInstall(args: InstallArgs) {
|
||||
workspaceDir,
|
||||
requestConsent,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workspaceDir),
|
||||
settings: loadSettings(workspaceDir).merged,
|
||||
});
|
||||
extensionManager.loadExtensions();
|
||||
const name =
|
||||
await extensionManager.installOrUpdateExtension(installMetadata);
|
||||
debugLogger.log(`Extension "${name}" installed successfully and enabled.`);
|
||||
|
||||
@@ -31,8 +31,9 @@ export async function handleLink(args: InstallArgs) {
|
||||
workspaceDir,
|
||||
requestConsent: requestConsentNonInteractive,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workspaceDir),
|
||||
settings: loadSettings(workspaceDir).merged,
|
||||
});
|
||||
extensionManager.loadExtensions();
|
||||
const extensionName =
|
||||
await extensionManager.installOrUpdateExtension(installMetadata);
|
||||
debugLogger.log(
|
||||
|
||||
@@ -19,7 +19,7 @@ export async function handleList() {
|
||||
workspaceDir,
|
||||
requestConsent: requestConsentNonInteractive,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workspaceDir),
|
||||
settings: loadSettings(workspaceDir).merged,
|
||||
});
|
||||
const extensions = extensionManager.loadExtensions();
|
||||
if (extensions.length === 0) {
|
||||
|
||||
@@ -23,8 +23,9 @@ export async function handleUninstall(args: UninstallArgs) {
|
||||
workspaceDir,
|
||||
requestConsent: requestConsentNonInteractive,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workspaceDir),
|
||||
settings: loadSettings(workspaceDir).merged,
|
||||
});
|
||||
extensionManager.loadExtensions();
|
||||
await extensionManager.uninstallExtension(args.name, false);
|
||||
debugLogger.log(`Extension "${args.name}" successfully uninstalled.`);
|
||||
} catch (error) {
|
||||
|
||||
@@ -34,7 +34,7 @@ export async function handleUpdate(args: UpdateArgs) {
|
||||
workspaceDir,
|
||||
requestConsent: requestConsentNonInteractive,
|
||||
requestSetting: promptForSetting,
|
||||
loadedSettings: loadSettings(workspaceDir),
|
||||
settings: loadSettings(workspaceDir).merged,
|
||||
});
|
||||
|
||||
const extensions = extensionManager.loadExtensions();
|
||||
|
||||
Reference in New Issue
Block a user