11{-# LANGUAGE BlockArguments #-}
2+ {-# LANGUAGE CPP #-}
23{-# LANGUAGE DataKinds #-}
34{-# LANGUAGE DerivingStrategies #-}
45{-# LANGUAGE ImpredicativeTypes #-}
@@ -47,7 +48,6 @@ import Development.IDE (Action,
4748 cmapWithPrio , define ,
4849 hieKind ,
4950 srcSpanToRange ,
50- toNormalizedUri ,
5151 useWithStale )
5252import Development.IDE.Core.PluginUtils (runActionE , useE ,
5353 useWithStaleE )
@@ -195,11 +195,11 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
195195 let toks = astTraversalWith pm_parsed_source \ node -> mconcat
196196 [ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node
197197 -- FIXME: probably needs to be commented out for ghc > 9.10
198- , maybeToList $ mkFromLocatable TKeyword . (\ x k -> k x) =<< extractTy @ AddEpAnn node
199- , do
200- EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @ EpAnnImportDecl node
198+ -- , maybeToList $ mkFromLocatable TKeyword . (\x k -> k x) =<< extractTy node
199+ -- , do
200+ -- EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @EpAnnImportDecl node
201201
202- mapMaybe (mkFromLocatable TKeyword . (\ x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\ (l, l') -> [Just l, Just l']) p
202+ -- mapMaybe (mkFromLocatable TKeyword . (\x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\(l, l') -> [Just l, Just l']) p
203203 , maybeToList $ mkFromLocatable TComment . (\ x k -> k x) =<< extractTy @ LEpaComment node
204204 , do
205205 L loc expr <- maybeToList $ extractTy @ (LHsExpr GhcPs ) node
@@ -212,29 +212,36 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
212212
213213 HsIsString {} -> TStringLit
214214 HsLit _ lit -> fromSimple case lit of
215- HsChar {} -> TCharLit
216- HsCharPrim {} -> TCharLit
215+ HsChar {} -> TCharLit
216+ HsCharPrim {} -> TCharLit
217217
218- HsInt {} -> TNumberLit
219- HsInteger {} -> TNumberLit
220- HsIntPrim {} -> TNumberLit
221- HsWordPrim {} -> TNumberLit
222- HsWord8Prim {} -> TNumberLit
223- HsWord16Prim {} -> TNumberLit
224- HsWord32Prim {} -> TNumberLit
225- HsWord64Prim {} -> TNumberLit
226- HsInt8Prim {} -> TNumberLit
227- HsInt16Prim {} -> TNumberLit
228- HsInt32Prim {} -> TNumberLit
229- HsInt64Prim {} -> TNumberLit
230- HsFloatPrim {} -> TNumberLit
231- HsDoublePrim {} -> TNumberLit
232- HsRat {} -> TNumberLit
218+ HsInt {} -> TNumberLit
219+ HsInteger {} -> TNumberLit
220+ HsIntPrim {} -> TNumberLit
221+ HsWordPrim {} -> TNumberLit
222+ HsWord8Prim {} -> TNumberLit
223+ HsWord16Prim {} -> TNumberLit
224+ HsWord32Prim {} -> TNumberLit
225+ HsWord64Prim {} -> TNumberLit
226+ HsInt8Prim {} -> TNumberLit
227+ HsInt16Prim {} -> TNumberLit
228+ HsInt32Prim {} -> TNumberLit
229+ HsInt64Prim {} -> TNumberLit
230+ HsFloatPrim {} -> TNumberLit
231+ HsDoublePrim {} -> TNumberLit
232+ HsRat {} -> TNumberLit
233233
234- HsString {} -> TStringLit
235- HsStringPrim {} -> TStringLit
234+ HsString {} -> TStringLit
235+ HsStringPrim {} -> TStringLit
236+ #if MIN_VERSION_ghc(9,11,0)
237+ HsMultilineString {} -> TStringLit
238+ #endif
236239 HsGetField _ _ field -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k field
240+ #if MIN_VERSION_ghc(9,11,0)
241+ HsProjection _ projs -> foldMap (\ dotFieldOcc -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k dotFieldOcc. dfoLabel) projs
242+ #else
237243 HsProjection _ projs -> foldMap (\ proj -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k proj) projs
244+ #endif
238245 _ -> []
239246 ]
240247 in RangeHsSyntacticTokenTypes toks
0 commit comments