!7 module ProcessMetaInfo > DynPrintLogAndEnabled { start { dm_requireQuickSearchManager(); dm_useLocalMechListCopies(); dm_onTopInputChanged_q(voidfunc(S s) { doSearch(s) }); } void doSearch(S s) { new L results; new Matches m; for (S mod : dm_listModuleIDs()) { LS keywords = tok_splitAtComma_emptyOnNull(getColonProperty("Keywords", mL("Meta info for module " + dm_programID(mod)))); if (empty(keywords)) continue; new Set remainingTerms; print("Got keywords: " + keywords); for (S keyword : keywords) { if (matchStart(keyword, s, m)) remainingTerms.add(m.rest()); if (matchEnd(keyword, s, m)) remainingTerms.add(m.rest()); } if (empty(remainingTerms)) continue; print("Got rt: " + remainingTerms); //for (S rt : remainingTerms) results.add(litmap( a := dm_moduleIDAndNameForQuickSearch(mod), b := litmap(defaultAction := r { infoBox("Test") }))); } dm_call(dm_quickSearchManager(), 'setResultsForModule, dm_moduleID(), "", s, results, new O[] {}); } }