Skip to content

Commit 14f2389

Browse files
committed
Fix all warnings
Fixes haskell#159.
1 parent 14e176b commit 14f2389

File tree

17 files changed

+25
-58
lines changed

17 files changed

+25
-58
lines changed

app/MainHie.hs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
2+
13
{-# LANGUAGE GADTs #-}
24
{-# LANGUAGE DataKinds #-}
35
{-# LANGUAGE TemplateHaskell #-}

hie-apply-refact/Haskell/Ide/ApplyRefactPlugin.hs

+3-4
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@ import Haskell.Ide.Engine.PluginUtils
1717
import Haskell.Ide.Engine.SemanticTypes
1818
import Language.Haskell.HLint3 as Hlint
1919
import Refact.Apply
20-
import qualified Refact.Types as R
21-
import Refact.Types hiding (SrcSpan)
2220
import System.Directory
2321
import System.IO.Extra
2422

2523
-- ---------------------------------------------------------------------
2624

27-
applyRefactDescriptor :: TaggedPluginDescriptor _
25+
applyRefactDescriptor :: TaggedPluginDescriptor '[ 'CommandType "applyOne" '[ 'CtxPoint] '[],
26+
'CommandType "applyAll" '[ 'CtxFile] '[]]
2827
applyRefactDescriptor = PluginDescriptor
2928
{
3029
pdUIShortName = "ApplyRefact"
@@ -108,7 +107,7 @@ showParseError (Hlint.ParseError loc message content) = unlines [show loc, messa
108107
makeDiffResult :: FilePath -> T.Text -> IO HieDiff
109108
makeDiffResult orig new = do
110109
origText <- T.readFile orig
111-
let (HieDiff f s d) = diffText (orig,origText) ("changed",new)
110+
let (HieDiff f _ d) = diffText (orig,origText) ("changed",new)
112111
f' <- liftIO $ makeRelativeToCurrentDirectory f
113112
-- return (HieDiff f' s' d)
114113
return (HieDiff f' "changed" d)

hie-docs-generator/src/Examples.hs

-6
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,10 @@
11
{-# LANGUAGE OverloadedStrings #-}
22
module Examples where
33

4-
import qualified Data.Aeson as A
5-
import qualified Data.ByteString.Lazy as BSL
64
import qualified Data.Map as M
75
import Data.Monoid
8-
import qualified Data.Text as T
9-
import Haskell.Ide.Engine.BasePlugin
10-
import Haskell.Ide.HaRePlugin
116
import Haskell.Ide.Engine.PluginDescriptor
127
import Haskell.Ide.Engine.Transport.JsonStdio
13-
import Options
148

159
jsonStdioExample :: PluginId -> UntaggedCommandDescriptor -> WireRequest
1610
jsonStdioExample pluginId (CommandDesc{cmdName = name,cmdContexts = contexts,cmdAdditionalParams = cmdParams}) =

hie-docs-generator/src/Main.hs

+2-8
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,7 @@ import qualified Data.Text as T
1313
import qualified Data.Text.Encoding as T
1414
import qualified Data.Text.IO as T
1515
import Examples
16-
import Haskell.Ide.ApplyRefactPlugin
17-
import Haskell.Ide.Engine.BasePlugin
1816
import Haskell.Ide.Engine.PluginDescriptor
19-
import Haskell.Ide.ExamplePlugin2
20-
import Haskell.Ide.ExamplePluginAsync
21-
import Haskell.Ide.GhcModPlugin
22-
import Haskell.Ide.HaRePlugin
2317
import qualified Options as O
2418
import Options.Applicative
2519
import System.Directory
@@ -41,11 +35,11 @@ newtype DocGenM a =
4135

4236
generateDocs :: DocGenM ()
4337
generateDocs =
44-
do path <- pluginIndexPath
38+
do indexPath <- pluginIndexPath
4539
index <- pluginIndex
4640
prefix <- asks O.prefix
4741
liftIO . createDirectoryIfMissing True $ prefix </> "plugins"
48-
liftIO $ T.writeFile path index
42+
liftIO $ T.writeFile indexPath index
4943
plugins <- asks O.plugins
5044
let pluginDocs = map pluginDoc $ M.toList plugins
5145
pluginDocPaths <- mapM pluginDocPath $ M.keys plugins

hie-eg-plugin-async/Haskell/Ide/ExamplePluginAsync.hs

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
2+
13
{-# LANGUAGE DataKinds #-}
24
{-# LANGUAGE OverloadedStrings #-}
35
{-# LANGUAGE GADTs #-}
@@ -8,13 +10,11 @@ import Control.Concurrent
810
import Control.Concurrent.STM.TChan
911
import Control.Monad.IO.Class
1012
import Control.Monad.STM
11-
import qualified Data.Map as Map
1213
import Data.Monoid
1314
import qualified Data.Text as T
1415
import Haskell.Ide.Engine.ExtensibleState
1516
import Haskell.Ide.Engine.MonadFunctions
1617
import Haskell.Ide.Engine.PluginDescriptor
17-
import Haskell.Ide.Engine.PluginUtils
1818

1919
-- ---------------------------------------------------------------------
2020

@@ -64,7 +64,7 @@ instance ExtensionClass AsyncPluginState where
6464

6565
-- | This command manages interaction with a separate process, doing stuff.
6666
longRunningCmdSync :: WorkerCmd -> CommandFunc T.Text
67-
longRunningCmdSync cmd = CmdSync $ \_ctx req -> do
67+
longRunningCmdSync cmd = CmdSync $ \_ctx _req -> do
6868
SubProcess cin cout _tid <- ensureProcessRunning
6969
liftIO $ atomically $ writeTChan cin cmd
7070
res <- liftIO $ atomically $ readTChan cout
@@ -95,6 +95,7 @@ ensureProcessRunning = do
9595
workerProc :: TChan WorkerCmd -> TChan T.Text -> IO ()
9696
workerProc cin cout = loop 1
9797
where
98+
loop :: Integer -> IO ()
9899
loop cnt = do
99100
debugm "workerProc:top of loop"
100101
req <- liftIO $ atomically $ readTChan cin
@@ -111,7 +112,7 @@ workerProc cin cout = loop 1
111112

112113
-- | This command manages interaction with a separate process, doing stuff.
113114
streamingCmdAsync :: WorkerCmdAsync -> CommandFunc T.Text
114-
streamingCmdAsync cmd = CmdAsync $ \replyFunc _ctx req -> do
115+
streamingCmdAsync cmd = CmdAsync $ \replyFunc _ctx _req -> do
115116
tid <- liftIO $ forkIO (workerProcAsync cmd replyFunc)
116117
debugm $ "streamingCmdAsync:launched worker as " ++ show tid
117118
let tidStr = T.pack (show tid ++ ":")

hie-example-plugin2/Haskell/Ide/ExamplePlugin2.hs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
2+
13
{-# LANGUAGE DataKinds #-}
24
{-# LANGUAGE PartialTypeSignatures #-}
35
{-# LANGUAGE OverloadedStrings #-}

hie-ghc-mod/Haskell/Ide/GhcModPlugin.hs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
2+
13
{-# LANGUAGE PartialTypeSignatures #-}
24
{-# LANGUAGE DataKinds #-}
35
{-# LANGUAGE FlexibleContexts #-}
@@ -8,7 +10,6 @@ module Haskell.Ide.GhcModPlugin where
810

911
import Haskell.Ide.Engine.PluginUtils
1012

11-
import Control.Exception
1213
import Control.Monad.IO.Class
1314
import Data.Aeson
1415
import Data.Either
@@ -18,7 +19,6 @@ import qualified Data.Text.Read as T
1819
import Data.Vinyl
1920
import qualified Exception as G
2021
import Haskell.Ide.Engine.PluginDescriptor
21-
import Haskell.Ide.Engine.PluginUtils
2222
import Haskell.Ide.Engine.SemanticTypes
2323
import qualified Language.Haskell.GhcMod as GM
2424
import qualified Language.Haskell.GhcMod.Monad as GM

hie-hare/Haskell/Ide/HaRePlugin.hs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
2+
13
{-# LANGUAGE PartialTypeSignatures #-}
24
{-# LANGUAGE DataKinds #-}
35
{-# LANGUAGE OverloadedStrings #-}
@@ -143,10 +145,7 @@ makeRefactorResult changedFiles = do
143145
diffOne f1 = do
144146
let (baseFileName,ext) = splitExtension f1
145147
f2 = (baseFileName ++ ".refactored" ++ ext)
146-
(HieDiff f s d) <- diffFiles f1 f2
147-
f' <- liftIO $ makeRelativeToCurrentDirectory f
148-
s' <- liftIO $ makeRelativeToCurrentDirectory s
149-
return (HieDiff f s d)
148+
diffFiles f1 f2
150149
diffs <- mapM diffOne changedFiles
151150
return (RefactorResult diffs)
152151

hie-plugin-api/Haskell/Ide/Engine/ExtensibleState.hs

+1-3
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,11 @@ module Haskell.Ide.Engine.ExtensibleState (
2424
, gets
2525
) where
2626

27-
import Control.Applicative
28-
import Data.Typeable (typeOf,Typeable,cast)
27+
import Data.Typeable (typeOf,cast)
2928
import qualified Data.Map as M
3029
import Haskell.Ide.Engine.PluginDescriptor
3130
import qualified Control.Monad.State.Strict as State
3231
import Data.Maybe (fromMaybe)
33-
import Control.Monad
3432
import Control.Monad.Trans.Class
3533

3634
-- ---------------------------------------------------------------------

hie-plugin-api/Haskell/Ide/Engine/Monad.hs

-7
Original file line numberDiff line numberDiff line change
@@ -5,19 +5,12 @@
55

66
module Haskell.Ide.Engine.Monad where
77

8-
import Control.Concurrent
9-
import Control.Concurrent.MVar
108
import Control.Exception
119
import Control.Monad.IO.Class
1210
import Control.Monad.State.Strict
13-
import Data.Char
1411
import Haskell.Ide.Engine.PluginDescriptor
1512
import qualified Language.Haskell.GhcMod.Monad as GM
1613
import qualified Language.Haskell.GhcMod.Types as GM
17-
import qualified Language.Haskell.GhcMod.Utils as GM
18-
import qualified Language.Haskell.GhcMod.Debug as GM
19-
import System.Directory
20-
import System.IO.Unsafe
2114
-- ---------------------------------------------------------------------
2215

2316
runIdeM :: IdeState -> IdeM a -> IO a

src/Haskell/Ide/Engine/BasePlugin.hs

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
{-# OPTIONS_GHC -fno-warn-partial-type-signatures #-}
2+
13
{-# LANGUAGE DataKinds #-}
24
{-# LANGUAGE PartialTypeSignatures #-}
35
{-# LANGUAGE TemplateHaskell #-}

src/Haskell/Ide/Engine/Transport/JsonHttp.hs

+2-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ newtype Greet = Greet { _msg :: T.Text }
4343
deriving (Generic, Show)
4444

4545
instance FromJSON Greet
46-
instance ToJSON Greet
46+
instance ToJSON Greet where
47+
toJSON = genericToJSON defaultOptions
4748

4849
newtype TaggedMap (tags :: [ParamDescType]) = TaggedMap ParamMap deriving (Monoid)
4950

test/ApplyRefactPluginSpec.hs

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ module ApplyRefactPluginSpec where
44
import Control.Concurrent.STM.TChan
55
import Control.Monad.STM
66
import Data.Aeson
7-
import Data.Algorithm.Diff
87
import qualified Data.Map as Map
98
import Haskell.Ide.Engine.Dispatcher
109
import Haskell.Ide.Engine.Monad

test/DispatcherSpec.hs

-2
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,6 @@ import qualified Data.HashMap.Strict as H
1212
import qualified Data.HashMap.Strict as HM
1313
import qualified Data.Map as Map
1414
import qualified Data.Text as T
15-
import qualified Data.Vinyl.Functor as Vinyl
16-
import GHC.TypeLits
1715
import Haskell.Ide.Engine.Dispatcher
1816
import Haskell.Ide.Engine.Monad
1917
import Haskell.Ide.Engine.MonadFunctions

test/ExamplePluginAsyncSpec.hs

-9
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
{-# LANGUAGE OverloadedStrings #-}
22
module ExamplePluginAsyncSpec where
33

4-
import Control.Concurrent
54
import Control.Concurrent.STM.TChan
6-
import Control.Monad.IO.Class
75
import Control.Monad.STM
86
import Data.Aeson
97
import qualified Data.HashMap.Strict as H
10-
import qualified Data.Text as T
11-
import qualified Data.HashMap.Strict as HM
128
import qualified Data.Map as Map
13-
import Data.Typeable
149
import Haskell.Ide.Engine.Dispatcher
15-
import Haskell.Ide.Engine.ExtensibleState
1610
import Haskell.Ide.Engine.Monad
1711
import Haskell.Ide.Engine.MonadFunctions
1812
import Haskell.Ide.Engine.PluginDescriptor
1913
import Haskell.Ide.Engine.Types
20-
import Haskell.Ide.Engine.Utils
21-
import Haskell.Ide.Engine.PluginDescriptor
2214
import Haskell.Ide.ExamplePluginAsync
2315

2416
import Test.Hspec
@@ -35,7 +27,6 @@ examplePluginAsyncSpec = do
3527
describe "stores and retrieves in the state" $ do
3628
it "stores the first one" $ do
3729
chan <- atomically newTChan
38-
chSync <- atomically newTChan
3930
let req1 = IdeRequest "cmd1" (Map.fromList [])
4031
cr1 = CReq "test" 1 req1 chan
4132
let req2 = IdeRequest "cmd2" (Map.fromList [])

test/ExtensibleStateSpec.hs

+1-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11
{-# LANGUAGE OverloadedStrings #-}
22
module ExtensibleStateSpec where
33

4-
import Control.Concurrent
54
import Control.Concurrent.STM.TChan
6-
import Control.Monad.IO.Class
75
import Control.Monad.STM
86
import Data.Aeson
97
import qualified Data.HashMap.Strict as H
108
import qualified Data.Text as T
11-
import qualified Data.HashMap.Strict as HM
129
import qualified Data.Map as Map
1310
import Data.Typeable
1411
import Haskell.Ide.Engine.Dispatcher
@@ -17,8 +14,6 @@ import Haskell.Ide.Engine.Monad
1714
import Haskell.Ide.Engine.MonadFunctions
1815
import Haskell.Ide.Engine.PluginDescriptor
1916
import Haskell.Ide.Engine.Types
20-
import Haskell.Ide.Engine.Utils
21-
import Haskell.Ide.Engine.PluginDescriptor
2217

2318
import Test.Hspec
2419

@@ -55,7 +50,7 @@ testPlugins :: TChan () -> Plugins
5550
testPlugins chSync = Map.fromList [("test",testDescriptor chSync)]
5651

5752
testDescriptor :: TChan () -> UntaggedPluginDescriptor
58-
testDescriptor chSync = PluginDescriptor
53+
testDescriptor _chSync = PluginDescriptor
5954
{
6055
pdUIShortName = "testDescriptor"
6156
, pdUIOverview = "PluginDescriptor for testing Dispatcher"

test/HaRePluginSpec.hs

-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ module HaRePluginSpec where
44
import Control.Concurrent.STM.TChan
55
import Control.Monad.STM
66
import Data.Aeson
7-
import Data.Algorithm.Diff
87
import qualified Data.Map as Map
98
import Haskell.Ide.Engine.Dispatcher
109
import Haskell.Ide.Engine.Monad

0 commit comments

Comments
 (0)