Skip to content

Commit c06978b

Browse files
committed
9.2 compat for Pragmas plugin
1 parent b2881bb commit c06978b

File tree

1 file changed

+33
-1
lines changed

1 file changed

+33
-1
lines changed

ghcide/src/Development/IDE/Spans/Pragmas.hs

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,13 +122,21 @@ updateParserState token range prevParserState
122122
ModeInitial ->
123123
case token of
124124
ITvarsym "#" -> defaultParserState{ isLastTokenHash = True }
125+
#if !MIN_VERSION_ghc(9,2,0)
125126
ITlineComment s
127+
#else
128+
ITlineComment s _
129+
#endif
126130
| isDownwardLineHaddock s -> defaultParserState{ mode = ModeHaddock }
127131
| otherwise ->
128132
defaultParserState
129133
{ nextPragma = NextPragmaInfo (endLine + 1) Nothing
130134
, mode = ModeComment }
135+
#if !MIN_VERSION_ghc(9,2,0)
131136
ITblockComment s
137+
#else
138+
ITblockComment s _
139+
#endif
132140
| isPragma s ->
133141
defaultParserState
134142
{ nextPragma = NextPragmaInfo (endLine + 1) Nothing
@@ -144,7 +152,11 @@ updateParserState token range prevParserState
144152
ModeComment ->
145153
case token of
146154
ITvarsym "#" -> defaultParserState{ isLastTokenHash = True }
155+
#if !MIN_VERSION_ghc(9,2,0)
147156
ITlineComment s
157+
#else
158+
ITlineComment s _
159+
#endif
148160
| hasDeleteStartedOnSameLine startLine prevLineSplitTextEdits
149161
, let currLineSplitTextEdits = updateLineSplitTextEdits range s prevLineSplitTextEdits ->
150162
defaultParserState{ nextPragma = prevNextPragma{ lineSplitTextEdits = Just currLineSplitTextEdits } }
@@ -156,7 +168,11 @@ updateParserState token range prevParserState
156168
, mode = ModeHaddock }
157169
| otherwise ->
158170
defaultParserState { nextPragma = NextPragmaInfo (endLine + 1) Nothing }
171+
#if !MIN_VERSION_ghc(9,2,0)
159172
ITblockComment s
173+
#else
174+
ITblockComment s _
175+
#endif
160176
| isPragma s ->
161177
defaultParserState
162178
{ nextPragma = NextPragmaInfo (endLine + 1) Nothing
@@ -180,13 +196,21 @@ updateParserState token range prevParserState
180196
case token of
181197
ITvarsym "#" ->
182198
defaultParserState{ isLastTokenHash = True }
199+
#if !MIN_VERSION_ghc(9,2,0)
183200
ITlineComment s
201+
#else
202+
ITlineComment s _
203+
#endif
184204
| hasDeleteStartedOnSameLine startLine prevLineSplitTextEdits
185205
, let currLineSplitTextEdits = updateLineSplitTextEdits range s prevLineSplitTextEdits ->
186206
defaultParserState{ nextPragma = prevNextPragma{ lineSplitTextEdits = Just currLineSplitTextEdits } }
187207
| otherwise ->
188208
defaultParserState
209+
#if !MIN_VERSION_ghc(9,2,0)
189210
ITblockComment s
211+
#else
212+
ITblockComment s _
213+
#endif
190214
| isPragma s ->
191215
defaultParserState{
192216
nextPragma = NextPragmaInfo (endLine + 1) Nothing,
@@ -200,7 +224,11 @@ updateParserState token range prevParserState
200224
ModePragma ->
201225
case token of
202226
ITvarsym "#" -> defaultParserState{ isLastTokenHash = True }
227+
#if !MIN_VERSION_ghc(9,2,0)
203228
ITlineComment s
229+
#else
230+
ITlineComment s _
231+
#endif
204232
| hasDeleteStartedOnSameLine startLine prevLineSplitTextEdits
205233
, let currLineSplitTextEdits = updateLineSplitTextEdits range s prevLineSplitTextEdits ->
206234
defaultParserState{ nextPragma = prevNextPragma{ lineSplitTextEdits = Just currLineSplitTextEdits } }
@@ -210,7 +238,11 @@ updateParserState token range prevParserState
210238
defaultParserState{ nextPragma = prevNextPragma{ lineSplitTextEdits = Just currLineSplitTextEdits } }
211239
| otherwise ->
212240
defaultParserState
241+
#if !MIN_VERSION_ghc(9,2,0)
213242
ITblockComment s
243+
#else
244+
ITblockComment s _
245+
#endif
214246
| isPragma s ->
215247
defaultParserState{ nextPragma = NextPragmaInfo (endLine + 1) Nothing, lastPragmaLine = endLine }
216248
| hasDeleteStartedOnSameLine startLine prevLineSplitTextEdits
@@ -390,7 +422,7 @@ mkLexerPState dynFlags stringBuffer =
390422
<*> const False
391423
finalPState = mkPStatePure (mkLexerParserFlags finalDynFlags) stringBuffer startRealSrcLoc
392424
#else
393-
pState = mkPState finalDynFlags stringBuffer startRealSrcLoc
425+
pState = initParserState (initParserOpts finalDynFlags) stringBuffer startRealSrcLoc
394426
PState{ options = pStateOptions } = pState
395427
finalExtBitsMap = setBit (pExtsBitmap pStateOptions) (fromEnum UsePosPragsBit)
396428
finalPStateOptions = pStateOptions{ pExtsBitmap = finalExtBitsMap }

0 commit comments

Comments
 (0)