1
1
{-# LANGUAGE BlockArguments #-}
2
+ {-# LANGUAGE CPP #-}
2
3
{-# LANGUAGE DataKinds #-}
3
4
{-# LANGUAGE DerivingStrategies #-}
4
5
{-# LANGUAGE ImpredicativeTypes #-}
@@ -47,7 +48,6 @@ import Development.IDE (Action,
47
48
cmapWithPrio , define ,
48
49
hieKind ,
49
50
srcSpanToRange ,
50
- toNormalizedUri ,
51
51
useWithStale )
52
52
import Development.IDE.Core.PluginUtils (runActionE , useE ,
53
53
useWithStaleE )
@@ -195,11 +195,11 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
195
195
let toks = astTraversalWith pm_parsed_source \ node -> mconcat
196
196
[ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node
197
197
-- 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
201
201
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
203
203
, maybeToList $ mkFromLocatable TComment . (\ x k -> k x) =<< extractTy @ LEpaComment node
204
204
, do
205
205
L loc expr <- maybeToList $ extractTy @ (LHsExpr GhcPs ) node
@@ -212,29 +212,36 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
212
212
213
213
HsIsString {} -> TStringLit
214
214
HsLit _ lit -> fromSimple case lit of
215
- HsChar {} -> TCharLit
216
- HsCharPrim {} -> TCharLit
215
+ HsChar {} -> TCharLit
216
+ HsCharPrim {} -> TCharLit
217
217
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
233
233
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
236
239
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
237
243
HsProjection _ projs -> foldMap (\ proj -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k proj) projs
244
+ #endif
238
245
_ -> []
239
246
]
240
247
in RangeHsSyntacticTokenTypes toks
0 commit comments