import * as path from "path"; import * as fs from "fs"; import Completer from "../../interfaces/Completer"; import { CompletionItemKind, CompletionItem } from "vscode-languageserver/lib/main"; export default class UICompleter implements Completer { public projectPath: string; setPath(projectPath: string) { this.projectPath = projectPath; } getItems(): CompletionItem[] { const uiPath: string = "_eko_/ui.json"; const completionsPath = path.join(this.projectPath, uiPath); let completionJson: { gui: object[] } = { gui: [{}] }; let result: CompletionItem[] = []; fs.readFileSync(completionsPath, "utf8"); completionJson = JSON.parse( fs.readFileSync(completionsPath, "utf8") ); result = completionJson.gui.map( (uiElement: { id: string; component: string }) => { return { label: uiElement.id, kind: CompletionItemKind.Constant, detail: uiElement.component }; } ); return result; } }