!7 module ProcessMetaInfo > DynPrintLogAndEnabled { start { dm_requireQuickSearchManager(); dm_useLocalMechListCopies(); dm_onTopInput_q(voidfunc(S s) { doSearch(s) }); } void doSearch(S s) { new LPair results; new Matches m; for (S mod : dm_listModuleIDs()) { LS keywords = tok_splitAtComma(getColonProperty("Keywords", mL("Meta info for module " + dm_programID(mod)))); if (empty(keywords)) continue; new Set remainingTerms; for (S keyword : keywords) { if (matchStart(keyword, s, m)) remainingTerms.add(m.rest()); if (matchEnd(keyword, s, m)) remainingTerms.add(m.rest()); } for (S rt : remainingTerms) results.add(dm_moduleIDToQuickSearchPair(mod)); }); dm_call(dm_quickSearchManager(), 'setResultsForModule, dm_moduleID(), "", s, results, new O[] {}); } }