Skip to content

Commit 0405631

Browse files
committed
Use xFlags, instead of enumerating possible language extensions
1 parent 90de2b3 commit 0405631

File tree

1 file changed

+3
-61
lines changed

1 file changed

+3
-61
lines changed

plugins/default/src/Ide/Plugin/Pragmas.hs

Lines changed: 3 additions & 61 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE ViewPatterns #-}
12
{-# LANGUAGE DeriveAnyClass #-}
23
{-# LANGUAGE DeriveGeneric #-}
34
{-# LANGUAGE DuplicateRecordFields #-}
@@ -113,68 +114,9 @@ findPragma str = concatMap check possiblePragmas
113114
-- ---------------------------------------------------------------------
114115

115116
-- | Possible Pragma names.
116-
-- Is non-exhaustive, and may be extended.
117+
-- See discussion at https://github.com/digital-asset/ghcide/pull/638
117118
possiblePragmas :: [T.Text]
118-
possiblePragmas =
119-
[
120-
"ConstraintKinds"
121-
, "DefaultSignatures"
122-
, "DeriveAnyClass"
123-
, "DeriveDataTypeable"
124-
, "DeriveFoldable"
125-
, "DeriveFunctor"
126-
, "DeriveGeneric"
127-
, "DeriveLift"
128-
, "DeriveTraversable"
129-
, "DerivingStrategies"
130-
, "DerivingVia"
131-
, "EmptyCase"
132-
, "EmptyDataDecls"
133-
, "EmptyDataDeriving"
134-
, "FlexibleContexts"
135-
, "FlexibleInstances"
136-
, "GADTs"
137-
, "GHCForeignImportPrim"
138-
, "GeneralizedNewtypeDeriving"
139-
, "IncoherentInstances"
140-
, "InstanceSigs"
141-
, "KindSignatures"
142-
, "MultiParamTypeClasses"
143-
, "MultiWayIf"
144-
, "NamedFieldPuns"
145-
, "NamedWildCards"
146-
, "OverloadedStrings"
147-
, "ParallelListComp"
148-
, "PartialTypeSignatures"
149-
, "PatternGuards"
150-
, "PatternSignatures"
151-
, "PatternSynonyms"
152-
, "QuasiQuotes"
153-
, "Rank2Types"
154-
, "RankNTypes"
155-
, "RecordPuns"
156-
, "RecordWildCards"
157-
, "RecursiveDo"
158-
, "RelaxedPolyRec"
159-
, "RoleAnnotations"
160-
, "ScopedTypeVariables"
161-
, "StandaloneDeriving"
162-
, "StaticPointers"
163-
, "TemplateHaskell"
164-
, "TemplateHaskellQuotes"
165-
, "TransformListComp"
166-
, "TupleSections"
167-
, "TypeApplications"
168-
, "TypeFamilies"
169-
, "TypeFamilyDependencies"
170-
, "TypeInType"
171-
, "TypeOperators"
172-
, "TypeSynonymInstances"
173-
, "UnboxedSums"
174-
, "UndecidableInstances"
175-
, "UndecidableSuperClasses"
176-
, "ViewPatterns"
177-
]
119+
possiblePragmas = [name | FlagSpec{flagSpecName = T.pack -> name} <- xFlags, "Strict" /= name]
178120

179121
-- ---------------------------------------------------------------------
180122

0 commit comments

Comments
 (0)