Merge: src/doc/commands: clean commands hierarchy
[nit.git] / src / doc / commands / commands_catalog.nit
index d7a5a43..f7bce8e 100644 (file)
@@ -45,10 +45,11 @@ class CmdCatalogSearch
                if query == null then return new ErrorNoQuery
                sorter = null
 
+               var filter = self.filter
                var index = model.index
 
                # lookup by name prefix
-               var matches = index.find_by_name_prefix(query).uniq.
+               var matches = index.find_by_name_prefix(query, filter).uniq.
                        sort(lname_sorter, name_sorter, kind_sorter)
                matches = matches.rerank.sort(vis_sorter, score_sorter)
 
@@ -56,6 +57,7 @@ class CmdCatalogSearch
                var malus = matches.length
                if catalog.tag2proj.has_key(query) then
                        for mpackage in catalog.tag2proj[query] do
+                               if filter != null and not filter.accept_mentity(mpackage) then continue
                                matches.add new IndexMatch(mpackage, malus)
                                malus += 1
                        end
@@ -65,7 +67,7 @@ class CmdCatalogSearch
                # lookup by full_name prefix
                malus = matches.length
                var full_matches = new IndexMatches
-               for match in index.find_by_full_name_prefix(query).
+               for match in index.find_by_full_name_prefix(query, filter).
                        sort(lfname_sorter, fname_sorter) do
                        match.score += 1
                        full_matches.add match
@@ -75,7 +77,7 @@ class CmdCatalogSearch
                # lookup by similarity
                malus = matches.length
                var sim_matches = new IndexMatches
-               for match in index.find_by_similarity(query).sort(score_sorter, lname_sorter, name_sorter) do
+               for match in index.find_by_similarity(query, filter).sort(score_sorter, kind_sorter, lname_sorter, name_sorter) do
                        if match.score > query.length then break
                        match.score += 1
                        sim_matches.add match