-
Notifications
You must be signed in to change notification settings - Fork 129
Expand file tree
/
Copy pathjsonContributions.ts
More file actions
24 lines (21 loc) · 1.33 KB
/
jsonContributions.ts
File metadata and controls
24 lines (21 loc) · 1.33 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import { MarkedString, CompletionItem } from './jsonLanguageService.js';
export interface JSONWorkerContribution {
getInfoContribution(uri: string, location: JSONPath): PromiseLike<MarkedString[]>;
collectPropertyCompletions(uri: string, location: JSONPath, currentWord: string, addValue: boolean, isLast: boolean, result: CompletionsCollector): PromiseLike<any>;
collectValueCompletions(uri: string, location: JSONPath, propertyKey: string, result: CompletionsCollector): PromiseLike<any>;
collectDefaultCompletions(uri: string, result: CompletionsCollector): PromiseLike<any>;
resolveCompletion?(item: CompletionItem): PromiseLike<CompletionItem>;
}
export type Segment = string | number;
export type JSONPath = Segment[];
export type JSONCompletionItem = CompletionItem & { insertText: string };
export interface CompletionsCollector {
add(suggestion: JSONCompletionItem & { insertText: string}): void;
error(message: string): void;
setAsIncomplete(): void;
getNumberOfProposals(): number;
}