Skip to content

Commit ddb3aaa

Browse files
committed
eval-plugin for GHC 9.2: find all comments
1 parent edc7160 commit ddb3aaa

File tree

1 file changed

+13
-3
lines changed
  • plugins/hls-eval-plugin/src/Ide/Plugin/Eval

1 file changed

+13
-3
lines changed

plugins/hls-eval-plugin/src/Ide/Plugin/Eval/Rules.hs

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,12 +58,22 @@ queueForEvaluation ide nfp = do
5858

5959
#if MIN_VERSION_ghc(9,2,0)
6060
getAnnotations :: Development.IDE.GHC.Compat.Located HsModule -> [LEpaComment]
61-
getAnnotations (L _ (HsModule { hsmodAnn = anns'})) = priorComments $ epAnnComments anns'
61+
getAnnotations (L _ m@(HsModule { hsmodAnn = anns'})) =
62+
priorComments annComments <> getFollowingComments annComments
63+
<> concatMap getCommentsForDecl (hsmodImports m)
64+
<> concatMap getCommentsForDecl (hsmodDecls m)
65+
where
66+
annComments = epAnnComments anns'
67+
68+
getCommentsForDecl :: GenLocated (SrcSpanAnn' (EpAnn ann)) e
69+
-> [LEpaComment]
70+
getCommentsForDecl (L (SrcSpanAnn (EpAnn _ _ cs) _) _) = priorComments cs <> getFollowingComments cs
71+
getCommentsForDecl (L (SrcSpanAnn (EpAnnNotUsed) _) _) = []
6272

6373
apiAnnComments' :: ParsedModule -> [SrcLoc.RealLocated EpaCommentTok]
6474
apiAnnComments' pm = do
65-
L span' (EpaComment c span) <- getAnnotations $ pm_parsed_source pm
66-
pure (L (anchor span') c)
75+
L span (EpaComment c _) <- getAnnotations $ pm_parsed_source pm
76+
pure (L (anchor span) c)
6777

6878
pattern RealSrcSpanAlready :: SrcLoc.RealSrcSpan -> SrcLoc.RealSrcSpan
6979
pattern RealSrcSpanAlready x = x

0 commit comments

Comments
 (0)