- fun find(name: String): IndexMatches do
- var results = find_by_name_prefix(name)
-
- for result in find_by_full_name_prefix(name) do
- results.add result
- end
-
- for mentity in mentities do
- if mentity isa MClassDef or mentity isa MPropDef then continue
- results.add new IndexMatch(mentity, name.levenshtein_distance(mentity.name))
- results.add new IndexMatch(mentity, name.levenshtein_distance(mentity.full_name))
- end
+ fun find(name: String, filter: nullable ModelFilter): IndexMatches do
+ var results = find_by_name_prefix(name, filter)
+ results.add_all find_by_full_name_prefix(name, filter)
+ results.add_all find_by_similarity(name, filter)