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 )
@@ -193,11 +193,11 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
193
193
let toks = astTraversalWith pm_parsed_source \ node -> mconcat
194
194
[ maybeToList $ mkFromLocatable TKeyword . (\ k -> k \ x k' -> k' x) =<< extractTyToTy @ EpToken node
195
195
-- FIXME: probably needs to be commented out for ghc > 9.10
196
- , maybeToList $ mkFromLocatable TKeyword . (\ x k -> k x) =<< extractTy @ AddEpAnn node
197
- , do
198
- EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @ EpAnnImportDecl node
196
+ -- , maybeToList $ mkFromLocatable TKeyword . (\x k -> k x) =<< extractTy node
197
+ -- , do
198
+ -- EpAnnImportDecl i p s q pkg a <- maybeToList $ extractTy @EpAnnImportDecl node
199
199
200
- mapMaybe (mkFromLocatable TKeyword . (\ x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\ (l, l') -> [Just l, Just l']) p
200
+ -- mapMaybe (mkFromLocatable TKeyword . (\x k -> k x)) $ catMaybes $ [Just i, s, q, pkg, a] <> foldMap (\(l, l') -> [Just l, Just l']) p
201
201
, maybeToList $ mkFromLocatable TComment . (\ x k -> k x) =<< extractTy @ LEpaComment node
202
202
, do
203
203
L loc expr <- maybeToList $ extractTy @ (LHsExpr GhcPs ) node
@@ -210,29 +210,36 @@ computeRangeHsSyntacticTokenTypeList ParsedModule {pm_parsed_source} =
210
210
211
211
HsIsString {} -> TStringLit
212
212
HsLit _ lit -> fromSimple case lit of
213
- HsChar {} -> TCharLit
214
- HsCharPrim {} -> TCharLit
213
+ HsChar {} -> TCharLit
214
+ HsCharPrim {} -> TCharLit
215
215
216
- HsInt {} -> TNumberLit
217
- HsInteger {} -> TNumberLit
218
- HsIntPrim {} -> TNumberLit
219
- HsWordPrim {} -> TNumberLit
220
- HsWord8Prim {} -> TNumberLit
221
- HsWord16Prim {} -> TNumberLit
222
- HsWord32Prim {} -> TNumberLit
223
- HsWord64Prim {} -> TNumberLit
224
- HsInt8Prim {} -> TNumberLit
225
- HsInt16Prim {} -> TNumberLit
226
- HsInt32Prim {} -> TNumberLit
227
- HsInt64Prim {} -> TNumberLit
228
- HsFloatPrim {} -> TNumberLit
229
- HsDoublePrim {} -> TNumberLit
230
- HsRat {} -> TNumberLit
216
+ HsInt {} -> TNumberLit
217
+ HsInteger {} -> TNumberLit
218
+ HsIntPrim {} -> TNumberLit
219
+ HsWordPrim {} -> TNumberLit
220
+ HsWord8Prim {} -> TNumberLit
221
+ HsWord16Prim {} -> TNumberLit
222
+ HsWord32Prim {} -> TNumberLit
223
+ HsWord64Prim {} -> TNumberLit
224
+ HsInt8Prim {} -> TNumberLit
225
+ HsInt16Prim {} -> TNumberLit
226
+ HsInt32Prim {} -> TNumberLit
227
+ HsInt64Prim {} -> TNumberLit
228
+ HsFloatPrim {} -> TNumberLit
229
+ HsDoublePrim {} -> TNumberLit
230
+ HsRat {} -> TNumberLit
231
231
232
- HsString {} -> TStringLit
233
- HsStringPrim {} -> TStringLit
232
+ HsString {} -> TStringLit
233
+ HsStringPrim {} -> TStringLit
234
+ #if MIN_VERSION_ghc(9,11,0)
235
+ HsMultilineString {} -> TStringLit
236
+ #endif
234
237
HsGetField _ _ field -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k field
238
+ #if MIN_VERSION_ghc(9,11,0)
239
+ HsProjection _ projs -> foldMap (\ dotFieldOcc -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k dotFieldOcc. dfoLabel) projs
240
+ #else
235
241
HsProjection _ projs -> foldMap (\ proj -> maybeToList $ mkFromLocatable TRecordSelector \ k -> k proj) projs
242
+ #endif
236
243
_ -> []
237
244
]
238
245
in RangeHsSyntacticTokenTypes toks
0 commit comments