@@ -21,7 +21,6 @@ import Control.Monad.Trans.Maybe
21
21
import Data.Aeson
22
22
import Data.Coerce
23
23
import qualified Data.Foldable as F
24
- import qualified Data.List as L
25
24
import qualified Data.Map as M
26
25
import Data.Maybe
27
26
import qualified Data.Set as S
@@ -38,7 +37,7 @@ import Development.Shake (Action)
38
37
import DynFlags (xopt )
39
38
import qualified FastString
40
39
import GHC.Generics (Generic )
41
- import GHC.LanguageExtensions.Type (Extension (LambdaCase , MagicHash ))
40
+ import GHC.LanguageExtensions.Type (Extension (LambdaCase ))
42
41
import Ide.Plugin (mkLspCommand )
43
42
import Ide.Plugin.Tactic.Context
44
43
import Ide.Plugin.Tactic.GHC
@@ -95,10 +94,9 @@ commandProvider Intros =
95
94
filterGoalType isFunction $
96
95
provide Intros " "
97
96
commandProvider Split =
98
- foldMapGoalType (F. fold . tyDataCons) $ \ dc ->
99
- let cname = occNameString $ getOccName dc
100
- in requireExtensionWhen MagicHash (" #" `L.isSuffixOf` cname) $
101
- provide Split $ T. pack cname
97
+ filterGoalType (isJust . algebraicTyCon) $
98
+ foldMapGoalType (F. fold . tyDataCons) $ \ dc ->
99
+ provide Split $ T. pack $ occNameString $ getOccName dc
102
100
commandProvider Destruct =
103
101
filterBindingType destructFilter $ \ occ _ ->
104
102
provide Destruct $ T. pack $ occNameString occ
@@ -193,13 +191,6 @@ requireExtension ext tp dflags plId uri range jdg =
193
191
False -> pure []
194
192
195
193
196
- ------------------------------------------------------------------------------
197
- -- | Like 'requireExtension' but only check if the bool is @True@.
198
- requireExtensionWhen :: Extension -> Bool -> TacticProvider -> TacticProvider
199
- requireExtensionWhen ext True = requireExtension ext
200
- requireExtensionWhen _ False = id
201
-
202
-
203
194
------------------------------------------------------------------------------
204
195
-- | Create a 'TacticProvider' for each occurance of an 'a' in the foldable container
205
196
-- extracted from the goal type. Useful instantiations for 't' include 'Maybe' or '[]'.
0 commit comments