UNPKG

yaml-language-server

Version:
122 lines (121 loc) 4.12 kB
import type { Disposable, ClientCapabilities, WorkspaceFolder } from 'vscode-languageserver'; import { TextDocuments } from 'vscode-languageserver'; import type { CustomFormatterOptions, SchemaConfiguration } from './languageservice/yamlLanguageService'; import type { ISchemaAssociations } from './requestTypes'; import type { URI } from 'vscode-uri'; import type { JSONSchema } from './languageservice/jsonSchema'; import { TextDocument } from 'vscode-languageserver-textdocument'; import type { YamlVersion } from './languageservice/parser/yamlParser07'; export interface Settings { yaml: { format: CustomFormatterOptions; schemas: JSONSchemaSettings[]; validate: boolean; hover: boolean; hoverAnchor: boolean; completion: boolean; customTags: Array<string>; schemaStore: { url: string; enable: boolean; }; kubernetesCRDStore: { url: string; enable: boolean; }; kubernetesVersion: string; disableDefaultProperties: boolean; disableAdditionalProperties: boolean; suggest: { parentSkeletonSelectedFirst: boolean; }; style: { flowMapping: 'allow' | 'forbid'; flowSequence: 'allow' | 'forbid'; }; keyOrdering: boolean; maxItemsComputed: number; yamlVersion: YamlVersion; hoverSchemaSource: boolean; disableSchemaDetection: string | string[]; }; http: { proxy: string; proxyStrictSSL: boolean; }; yamlEditor: { 'editor.tabSize': number; 'editor.insertSpaces': boolean; 'editor.formatOnType': boolean; }; vscodeEditor: { detectIndentation: boolean; }; files: { associations: Map<string, string>; }; } export interface JSONSchemaSettings { fileMatch?: string[]; url?: string; schema?: JSONSchema; } export declare class SettingsState { yamlConfigurationSettings: JSONSchemaSettings[]; schemaAssociations: ISchemaAssociations | SchemaConfiguration[] | undefined; formatterRegistration: PromiseLike<Disposable>; specificValidatorPaths: any[]; schemaConfigurationSettings: any[]; yamlShouldValidate: boolean; yamlFormatterSettings: CustomFormatterOptions; yamlShouldHover: boolean; yamlShouldHoverAnchor: boolean; yamlShouldCompletion: boolean; yamlHoverSchemaSource: boolean; yamlDisableSchemaDetection: string[]; schemaStoreSettings: any[]; customTags: string[]; schemaStoreEnabled: boolean; schemaStoreUrl: string; kubernetesCRDStoreEnabled: boolean; kubernetesCRDStoreUrl: string; kubernetesVersion: string | undefined; indentation: string | undefined; disableAdditionalProperties: boolean; disableDefaultProperties: boolean; suggest: { parentSkeletonSelectedFirst: boolean; }; style: { flowMapping: 'allow' | 'forbid'; flowSequence: 'allow' | 'forbid'; }; keyOrdering: boolean; maxItemsComputed: number; pendingValidationRequests: { [uri: string]: NodeJS.Timeout; }; validationDelayMs: number; documents: TextDocuments<TextDocument> | TextDocumentTestManager; capabilities: ClientCapabilities; workspaceRoot: URI; workspaceFolders: WorkspaceFolder[]; clientDynamicRegisterSupport: boolean; hierarchicalDocumentSymbolSupport: boolean; hasWorkspaceFolderCapability: boolean; hasConfigurationCapability: boolean; hasCodeLensRefreshSupport: boolean; configurationPullPromise: Promise<void>; useVSCodeContentRequest: boolean; yamlVersion: YamlVersion; useSchemaSelectionRequests: boolean; hasWsChangeWatchedFileDynamicRegistration: boolean; fileExtensions: string[]; locale: string; } export declare class TextDocumentTestManager extends TextDocuments<TextDocument> { testTextDocuments: Map<string, TextDocument>; constructor(); get(uri: string): TextDocument | undefined; set(textDocument: TextDocument): void; }