!7 sclass Entry { S time, text; SS mapping; S wordsChanged; } cmodule ELEMatchWithPastInput > DynObjectTable { start { doEvery(1.0, r grab); } void grab enter { if (!ele_on()) ret; S input = ele_currentInput(); if (empty(input)) ret with clear(); int wordCount = countCodeTokens(javaTokWithBrackets_cached(input)); Cl l = ele_pastInputs(); setData(sortedByField_alphaNum wordsChanged(mapNonNulls(l, e -> { SS mapping = gazelle_zip(getString text(e), input); if (mapping == null) null; ret setAll(quickImportToClass Entry(e), +mapping, wordsChanged := l(mapping) + "/" + wordCount); }))); } }