UNPKG

1.64 kBTypeScriptView Raw
1import { Unsubscribable } from 'rxjs';
2import { Controller } from 'sourcegraph/module/client/controller';
3import { ActionContributionClientCommandUpdateConfiguration, ConfigurationUpdateParams } from 'sourcegraph/module/protocol';
4import { Context } from '../context';
5import { ConfiguredExtension } from '../extensions/extension';
6import { ConfigurationCascade, ConfigurationSubject, Settings } from '../settings';
7/**
8 * Registers the builtin client commands that are required for Sourcegraph extensions. See
9 * {@link module:sourcegraph.module/protocol/contribution.ActionContribution#command} for
10 * documentation.
11 */
12export declare function registerBuiltinClientCommands<S extends ConfigurationSubject, C extends Settings>(context: Pick<Context<S, C>, 'configurationCascade' | 'updateExtensionSettings' | 'queryGraphQL' | 'queryLSP'>, controller: Controller<ConfiguredExtension, ConfigurationCascade<S, C>>): Unsubscribable;
13/**
14 * Applies an edit to the configuration settings of the highest-precedence subject.
15 */
16export declare function updateConfiguration<S extends ConfigurationSubject, C extends Settings>(context: Pick<Context<S, C>, 'configurationCascade' | 'updateExtensionSettings'>, params: ConfigurationUpdateParams): Promise<void>;
17/**
18 * Converts the arguments for the `updateConfiguration` client command (as documented in
19 * {@link ActionContributionClientCommandUpdateConfiguration#commandArguments})
20 * to {@link ConfigurationUpdateParams}.
21 */
22export declare function convertUpdateConfigurationCommandArgs(args: ActionContributionClientCommandUpdateConfiguration['commandArguments']): ConfigurationUpdateParams;