Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Commit 34be1b1

Browse files
committed
CPP imports + stack-8.8.1.yaml + ignore hie.yaml
1 parent a9f9422 commit 34be1b1

17 files changed

+99
-22
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,3 +77,4 @@ shake.yaml.lock
7777

7878
# ignore hie.yaml's for testdata
7979
test/**/*.yaml
80+
/hie.yaml

app/MainHie.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE OverloadedStrings #-}
23
{-# LANGUAGE RankNTypes #-}
34
module Main where
45

56
import Control.Monad
7+
#if __GLASGOW_HASKELL__ < 808
68
import Data.Monoid ((<>))
9+
#endif
710
import Data.Version (showVersion)
811
import Haskell.Ide.Engine.MonadFunctions
912
import Haskell.Ide.Engine.MonadTypes

haskell-ide-engine.cabal

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ build-type: Simple
1414
cabal-version: >=2.0
1515

1616
flag pedantic
17-
Description: Enable -Werror -Wwarn=unused-imports
17+
Description: Enable -Werror
1818
Default: False
1919

2020
library
@@ -103,7 +103,7 @@ library
103103

104104
ghc-options: -Wall -Wredundant-constraints
105105
if flag(pedantic)
106-
ghc-options: -Werror -Wwarn=unused-imports
106+
ghc-options: -Werror
107107
default-language: Haskell2010
108108

109109
executable hie
@@ -122,7 +122,7 @@ executable hie
122122
ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Wredundant-constraints
123123
-with-rtsopts=-T
124124
if flag(pedantic)
125-
ghc-options: -Werror -Wwarn=unused-imports
125+
ghc-options: -Werror
126126
default-language: Haskell2010
127127

128128

@@ -143,7 +143,7 @@ executable hie-wrapper
143143
ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Wredundant-constraints
144144
-with-rtsopts=-T
145145
if flag(pedantic)
146-
ghc-options: -Werror -Wwarn=unused-imports
146+
ghc-options: -Werror
147147
default-language: Haskell2010
148148

149149
library hie-test-utils
@@ -169,7 +169,7 @@ library hie-test-utils
169169
, yaml
170170
ghc-options: -Wall -Wredundant-constraints
171171
if flag(pedantic)
172-
ghc-options: -Werror -Wwarn=unused-imports
172+
ghc-options: -Werror
173173
default-language: Haskell2010
174174

175175
test-suite unit-test
@@ -213,7 +213,7 @@ test-suite unit-test
213213

214214
ghc-options: -Wall -Wredundant-constraints
215215
if flag(pedantic)
216-
ghc-options: -Werror -Wwarn=unused-imports
216+
ghc-options: -Werror
217217
default-language: Haskell2010
218218

219219
test-suite dispatcher-test
@@ -237,7 +237,7 @@ test-suite dispatcher-test
237237

238238
ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Wredundant-constraints
239239
if flag(pedantic)
240-
ghc-options: -Werror -Wwarn=unused-imports
240+
ghc-options: -Werror
241241
default-language: Haskell2010
242242
build-tool-depends: hspec-discover:hspec-discover
243243

@@ -257,7 +257,7 @@ test-suite plugin-dispatcher-test
257257

258258
ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Wredundant-constraints
259259
if flag(pedantic)
260-
ghc-options: -Werror -Wwarn=unused-imports
260+
ghc-options: -Werror
261261
default-language: Haskell2010
262262

263263
test-suite func-test
@@ -302,7 +302,7 @@ test-suite func-test
302302
, containers
303303
ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Wredundant-constraints
304304
if flag(pedantic)
305-
ghc-options: -Werror -Wwarn=unused-imports
305+
ghc-options: -Werror
306306
default-language: Haskell2010
307307
build-tool-depends: hspec-discover:hspec-discover
308308
, haskell-ide-engine:hie
@@ -321,7 +321,7 @@ test-suite wrapper-test
321321
, hie-plugin-api
322322
ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall -Wredundant-constraints
323323
if flag(pedantic)
324-
ghc-options: -Werror -Wwarn=unused-imports
324+
ghc-options: -Werror
325325
default-language: Haskell2010
326326

327327

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import Control.Monad ( when )
2323
import Data.IORef
2424
import qualified Data.Map.Strict as Map
2525
import qualified Data.IntMap.Strict as IM
26-
import Data.Semigroup ((<>), Semigroup)
2726
import qualified Data.Set as Set
2827
import qualified Data.Text as T
2928
import qualified Data.Aeson
@@ -37,7 +36,12 @@ import Haskell.Ide.Engine.PluginUtils
3736
import DynFlags
3837
import GHC
3938
import qualified HscTypes
39+
40+
#if __GLASGOW_HASKELL__ < 808
41+
import Data.Semigroup ((<>), Semigroup)
4042
import Outputable (renderWithStyle)
43+
#endif
44+
4145
import Language.Haskell.LSP.Types ( NormalizedUri(..), toNormalizedUri )
4246

4347
import Haskell.Ide.Engine.GhcUtils

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE DeriveGeneric #-}
23
{-# LANGUAGE DeriveFunctor #-}
34
{-# LANGUAGE DeriveAnyClass #-}
@@ -112,12 +113,16 @@ import qualified Data.List as List
112113
import Data.Dynamic ( Dynamic )
113114
import qualified Data.Map as Map
114115
import Data.Maybe
115-
import Data.Monoid ( (<>) )
116+
116117
import qualified Data.Set as S
117118
import qualified Data.Text as T
118-
import Data.Typeable ( TypeRep
119-
, Typeable
120-
)
119+
import Data.Typeable ( TypeRep )
120+
121+
#if __GLASGOW_HASKELL__ < 808
122+
import Data.Monoid ( (<>) )
123+
import Data.Typeable ( Typeable )
124+
#endif
125+
121126
import System.Directory
122127
import GhcMonad
123128
import qualified HIE.Bios.Ghc.Api as BIOS

src/Haskell/Ide/Engine/LSP/Completions.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE DeriveGeneric #-}
23
{-# LANGUAGE NamedFieldPuns #-}
34
{-# LANGUAGE OverloadedStrings #-}
@@ -23,7 +24,9 @@ import qualified Data.List as List
2324
import qualified Data.Text as T
2425
import qualified Data.Map as Map
2526
import Data.Maybe
27+
#if __GLASGOW_HASKELL__ < 808
2628
import Data.Semigroup (Semigroup(..))
29+
#endif
2730
import Data.Typeable
2831
import GHC.Generics ( Generic )
2932

src/Haskell/Ide/Engine/Plugin/ApplyRefact.hs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE DeriveAnyClass #-}
23
{-# LANGUAGE DeriveGeneric #-}
34
{-# LANGUAGE DuplicateRecordFields #-}
@@ -16,7 +17,11 @@ import Control.Monad.IO.Class
1617
import Control.Monad.Trans.Except
1718
import Data.Aeson hiding (Error)
1819
import Data.Maybe
20+
21+
#if __GLASGOW_HASKELL__ < 808
1922
import Data.Monoid ((<>))
23+
#endif
24+
2025
import qualified Data.Text as T
2126
import GHC.Generics
2227
import Haskell.Ide.Engine.MonadFunctions

src/Haskell/Ide/Engine/Plugin/Brittany.hs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,8 @@ import Haskell.Ide.Engine.PluginUtils
1414
import Language.Haskell.Brittany
1515
import qualified Language.Haskell.LSP.Types as J
1616
import qualified Language.Haskell.LSP.Types.Lens as J
17-
import System.FilePath (FilePath, takeDirectory)
17+
18+
import System.FilePath
1819
import Data.Maybe (maybeToList)
1920

2021
brittanyDescriptor :: PluginId -> PluginDescriptor

src/Haskell/Ide/Engine/Plugin/Generic.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ import Data.Function
1414
import qualified Data.HashMap.Strict as HM
1515
import Data.List
1616
import Data.Maybe
17+
#if __GLASGOW_HASKELL__ < 808
1718
import Data.Monoid ((<>))
19+
#endif
1820
import qualified Data.Text as T
1921
import Name
2022
import GHC.Generics

src/Haskell/Ide/Engine/Plugin/HsImport.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE OverloadedStrings #-}
23
{-# LANGUAGE DeriveGeneric #-}
34
{-# LANGUAGE DeriveAnyClass #-}
@@ -10,7 +11,9 @@ import Control.Monad
1011
import Data.Aeson
1112
import Data.Foldable
1213
import Data.Maybe
14+
#if __GLASGOW_HASKELL__ < 808
1315
import Data.Monoid ( (<>) )
16+
#endif
1417
import qualified Data.Text as T
1518
import qualified Data.Text.IO as T
1619
import qualified GHC.Generics as Generics

src/Haskell/Ide/Engine/Plugin/Package.hs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ import qualified Data.Set as S
2323
import qualified Data.Text as T
2424
import qualified Data.Text.Encoding as T
2525
import Data.Maybe
26+
#if __GLASGOW_HASKELL__ < 808
2627
import Data.Monoid ((<>))
28+
#endif
2729
#if MIN_VERSION_Cabal(2,2,0)
2830
import Distribution.PackageDescription.Parsec
2931
import Distribution.Types.VersionRange

src/Haskell/Ide/Engine/Plugin/Pragmas.hs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE DeriveAnyClass #-}
23
{-# LANGUAGE DeriveGeneric #-}
34
{-# LANGUAGE OverloadedStrings #-}
@@ -6,7 +7,9 @@ module Haskell.Ide.Engine.Plugin.Pragmas where
67
import Control.Lens
78
import Data.Aeson
89
import qualified Data.HashMap.Strict as H
10+
#if __GLASGOW_HASKELL__ < 808
911
import Data.Monoid ((<>))
12+
#endif
1013
import qualified Data.Text as T
1114
import qualified GHC.Generics as Generics
1215
import Haskell.Ide.Engine.MonadTypes hiding (_range)

src/Haskell/Ide/Engine/Scheduler.hs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE FlexibleContexts #-}
23
{-# LANGUAGE MultiParamTypeClasses #-}
34
{-# LANGUAGE ExistentialQuantification #-}
@@ -25,9 +26,11 @@ where
2526
import Control.Concurrent.Async
2627
import GHC.Conc
2728
import qualified Control.Concurrent.STM as STM
28-
import Control.Monad.IO.Class ( liftIO
29-
, MonadIO
30-
)
29+
import Control.Monad.IO.Class ( MonadIO )
30+
#if __GLASGOW_HASKELL__ < 808
31+
import Control.Monad.IO.Class ( liftIO )
32+
#endif
33+
3134
import Control.Monad.Reader.Class ( ask
3235
, MonadReader
3336
)

src/Haskell/Ide/Engine/Support/HieExtras.hs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,11 @@ module Haskell.Ide.Engine.Support.HieExtras
2626
, getFormattingPlugin
2727
) where
2828

29+
#if __GLASGOW_HASKELL__ < 808
2930
import Data.Semigroup (Semigroup(..))
31+
import Var
32+
#endif
33+
3034
import ConLike
3135
import Control.Monad.Reader
3236
import Control.Monad.Except
@@ -63,7 +67,6 @@ import Packages
6367
import SrcLoc
6468
import TcEnv
6569
import Type
66-
import Var
6770
import Module hiding (getModule)
6871

6972
-- ---------------------------------------------------------------------

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE DuplicateRecordFields #-}
23
{-# LANGUAGE GADTs #-}
34
{-# LANGUAGE RankNTypes #-}
@@ -32,7 +33,10 @@ import Data.Default
3233
import Data.Foldable
3334
import qualified Data.Map as Map
3435
import Data.Maybe
35-
import Data.Semigroup (Semigroup(..), Option(..), option)
36+
import Data.Semigroup (Option(..), option)
37+
#if __GLASGOW_HASKELL__ < 808
38+
import Data.Semigroup (Semigroup(..), )
39+
#endif
3640
import qualified Data.Set as S
3741
import qualified Data.SortedList as SL
3842
import qualified Data.Text as T

stack-8.6.5.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
resolver: lts-14.17
1+
resolver: lts-14.16
22
packages:
33
- .
44
- hie-plugin-api

stack-8.8.1.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
resolver: nightly-2019-12-18
2+
packages:
3+
- .
4+
- hie-plugin-api
5+
6+
extra-deps:
7+
# - ./submodules/HaRe
8+
- ./submodules/cabal-helper
9+
- ./submodules/ghc-mod/ghc-project-types
10+
- ./submodules/apply-refact
11+
- hie-bios-0.3.2
12+
- bytestring-trie-0.2.5.0
13+
- constrained-dynamic-0.1.0.0
14+
- fclabels-2.0.3.3
15+
- floskell-0.10.2
16+
- fold-debounce-0.2.0.9
17+
- haddock-api-2.23.0
18+
- haddock-library-1.8.0
19+
- hoogle-5.0.17.13
20+
- hsimport-0.11.0
21+
- monad-dijkstra-0.1.1.2
22+
23+
flags:
24+
haskell-ide-engine:
25+
pedantic: true
26+
hie-plugin-api:
27+
pedantic: true
28+
29+
30+
# allow-newer: true
31+
32+
nix:
33+
packages: [ icu libcxx zlib ]
34+
35+
concurrent-tests: false

0 commit comments

Comments
 (0)