import { listEvents } from "@plugos/plugos-syscall/event"; import { matchBefore } from "@silverbulletmd/plugos-silverbullet-syscall/editor"; import { listPages } from "@silverbulletmd/plugos-silverbullet-syscall/space"; export async function queryComplete() { let prefix = await matchBefore("#query [\\w\\-_]*"); if (prefix) { let allEvents = await listEvents(); // console.log("All events", allEvents); return { from: prefix.from + "#query ".length, options: allEvents .filter((eventName) => eventName.startsWith("query:")) .map((source) => ({ label: source.substring("query:".length), })), }; } prefix = await matchBefore('render "[^"]*'); if (prefix) { let allPages = await listPages(); return { from: prefix.from + 'render "'.length, options: allPages.map((pageMeta) => ({ label: pageMeta.name, })), }; } prefix = await matchBefore('#template "[^"]*'); if (prefix) { let allPages = await listPages(); return { from: prefix.from + '#template "'.length, options: allPages.map((pageMeta) => ({ label: pageMeta.name, })), }; } prefix = await matchBefore('#include "[^"]*'); if (prefix) { let allPages = await listPages(); return { from: prefix.from + '#include "'.length, options: allPages.map((pageMeta) => ({ label: pageMeta.name, })), }; } }