import { createRequire } from "module"; import type { CompletionContext, CompletionItem } from "@intentius/chant/lsp/types"; import { LexiconIndex, lexiconCompletions, type LexiconEntry } from "@intentius/chant/lsp/lexicon-providers"; const require = createRequire(import.meta.url); let cachedIndex: LexiconIndex | null = null; function getIndex(): LexiconIndex { if (cachedIndex) return cachedIndex; const data = require("../generated/lexicon-docker.json") as Record; cachedIndex = new LexiconIndex(data); return cachedIndex; } /** * Provide Docker entity completions based on context. */ export function dockerCompletions(ctx: CompletionContext): CompletionItem[] { return lexiconCompletions(ctx, getIndex(), "Docker entity"); }