codemirror-json-schema
Version:
Codemirror 6 extensions that provide full JSONSchema support for `@codemirror/lang-json` and `codemirror-json5`
50 lines (49 loc) • 1.71 kB
TypeScript
import { CompletionContext, CompletionResult } from "@codemirror/autocomplete";
import { JSONMode } from "../types";
import { DocumentParser } from "../parsers";
export interface JSONCompletionOptions {
mode?: JSONMode;
jsonParser?: DocumentParser;
}
export declare class JSONCompletion {
private opts;
private originalSchema;
/**
* Inlined (expanded) top-level $ref if present.
*/
private schema;
/**
* Inlined (expanded) top-level $ref if present.
* Does not contain any required properties and allows any additional properties everywhere.
*/
private laxSchema;
private mode;
private parser;
constructor(opts: JSONCompletionOptions);
doComplete(ctx: CompletionContext): never[] | CompletionResult;
private doCompleteForSchema;
private applySnippetCompletion;
private getPropertyCompletions;
private getInsertTextForProperty;
private getInsertTextForPropertyName;
private getInsertTextForString;
private getInsertTextForGuessedValue;
private getInsertTextForPlainText;
private getInsertTextForValue;
private getValueCompletions;
private addSchemaValueCompletions;
private addDefaultValueCompletions;
private addEnumValueCompletions;
private addBooleanValueCompletion;
private addNullValueCompletion;
private collectTypes;
private getSchemas;
private getAppliedValue;
private getValueFromLabel;
private extendedRegExp;
}
/**
* provides a JSON schema enabled autocomplete extension for codemirror
* @group Codemirror Extensions
*/
export declare function jsonCompletion(opts?: JSONCompletionOptions): (ctx: CompletionContext) => never[] | CompletionResult;