// Copyright (c) Jupyter Development Team.
// Distributed under the terms of the Modified BSD License.

/* eslint-disable */

/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run jlpm build:schema to regenerate this file.
 */

/**
 * Enable or disable the language server services.
 */
export type Activate = 'off' | 'on';
/**
 * When multiple servers match specific document/language, the server with the highest rank will be used
 */
export type RankOfTheServer = number;
/**
 * Whether to ask server to send logs with execution trace (for debugging). Accepted values are: "off", "messages", "verbose". Servers are allowed to ignore this request.
 */
export type AskServersToSendTraceNotifications = 'off' | 'messages' | 'verbose';
/**
 * Enable or disable the logging feature of the language servers.
 */
export type LogCommunication = boolean;

/**
 * Language Server Protocol settings.
 */
export interface LanguageServersExperimental {
  activate?: Activate;
  languageServers?: LanguageServer;
  setTrace?: AskServersToSendTraceNotifications;
  logAllCommunication?: LogCommunication;
  [k: string]: any;
}
/**
 * Language-server specific configuration, keyed by implementation
 */
export interface LanguageServer {
  [k: string]: LanguageServer1;
}
/**
 * This interface was referenced by `LanguageServer`'s JSON-Schema definition
 * via the `patternProperty` ".*".
 *
 * This interface was referenced by `LanguageServersExperimental`'s JSON-Schema
 * via the `definition` "languageServer".
 */
export interface LanguageServer1 {
  configuration?: LanguageServerConfigurations;
  rank?: RankOfTheServer;
  [k: string]: any;
}
/**
 * Configuration to be sent to language server over LSP when initialized: see the specific language server's documentation for more
 */
export interface LanguageServerConfigurations {
  [k: string]: any;
}
