UNPKG

els-addon-typed-templates

Version:
54 lines 1.99 kB
import { TextDocuments, Location, TextDocumentIdentifier, Position, CompletionItem } from 'vscode-languageserver'; import { LSRegistry } from './lib/ts-service'; import { Project } from '@lifeart/ember-language-server'; interface Registry extends LSRegistry { component: { [componentName: string]: string[]; }; service: { [serviceName: string]: string[]; }; routePath: { [routePath: string]: string[]; }; } interface Command { command: string; arguments: any[]; } export interface Server { getRegistry(projectRoot: string): Registry; onExecute(command: Command): any; getUsages(normalizedName: string): string[]; documents: TextDocuments<any>; } interface BaseAPIParams { server: Server; textDocument: TextDocumentIdentifier; position: Position; } interface ExtendedAPIParams extends BaseAPIParams { focusPath: any; type: 'script' | 'template'; } interface ReferenceFunctionParams extends BaseAPIParams { results: Location[]; } export interface CompletionFunctionParams extends ExtendedAPIParams { results: CompletionItem[]; } export interface DefinitionFunctionParams extends ExtendedAPIParams { results: Location[]; } declare type ReferenceResolveFunction = (root: string, params: ReferenceFunctionParams) => Promise<Location[]>; declare type CompletionResolveFunction = (root: string, params: CompletionFunctionParams) => Promise<CompletionItem[] | null>; declare type DefinitionResolveFunction = (root: string, params: DefinitionFunctionParams) => Promise<Location[]>; declare type InitCallback = (server: Server, project: Project) => void; export interface AddonAPI { onReference?: undefined | ReferenceResolveFunction; onComplete: undefined | CompletionResolveFunction; onDefinition: undefined | DefinitionResolveFunction; onInit: undefined | InitCallback; } export {}; //# sourceMappingURL=interfaces.d.ts.map