Skip to content

Commit f4faed5

Browse files
committed
Sort local/in-scope completions first
1 parent 8f68b90 commit f4faed5

File tree

1 file changed

+10
-4
lines changed
  • ghcide/src/Development/IDE/Plugin/Completions

1 file changed

+10
-4
lines changed

ghcide/src/Development/IDE/Plugin/Completions/Logic.hs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -653,10 +653,16 @@ getCompletions plId ideOpts CC {allModNamesAsNS, anyQualCompls, unqualCompls, qu
653653
-- all the previously applied ordering sources. These are:
654654
-- 1. Qualified suggestions go first
655655
-- 2. Fuzzy score ranks next
656-
-- 3. label alphabetical ordering next
657-
-- 4. module alphabetical ordering
658-
lexicographicOrdering Fuzzy.Scored{score_, original=(isQual, CompletionItem{_label,_detail})} =
659-
(Down isQual, Down score_, _label, _detail)
656+
-- 3. In-scope completions rank next
657+
-- 4. label alphabetical ordering next
658+
-- 4. detail alphabetical ordering (proxy for module)
659+
lexicographicOrdering Fuzzy.Scored{score_, original} =
660+
case original of
661+
(isQual, CompletionItem{_label,_detail}) -> do
662+
let isLocal = maybe False (":" `T.isPrefixOf`) _detail
663+
(Down isQual, Down score_, Down isLocal, _label, _detail)
664+
665+
660666

661667
uniqueCompl :: CompItem -> CompItem -> Ordering
662668
uniqueCompl candidate unique =

0 commit comments

Comments
 (0)