Skip to content
Open
11 changes: 6 additions & 5 deletions bench/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -59,21 +59,22 @@ import Development.Benchmark.Rules hiding (parallelism)
import Development.Shake (Action,
Change (ChangeModtimeAndDigestInput),
CmdOption (Cwd, StdinBS),
RuleResult, Rules,
Rules,
ShakeOptions (shakeChange, shakeThreads),
actionBracket, addOracle,
askOracle, command, command_,
getDirectoryFiles, liftIO, need,
newCache, shakeArgsWith,
shakeOptions, versioned, want)
import qualified Development.Shake as Shake
import Development.Shake.Classes
import Experiments.Types (Example (exampleName),
exampleToOptions)
import GHC.Exts (toList)
import GHC.Generics (Generic)
import HlsPlugins (idePlugins)
import qualified Ide.Plugin.Config as Plugin
import Ide.Types hiding (Config)
import Ide.Types hiding (Config, Rules)
import Numeric.Natural (Natural)
import System.Console.GetOpt
import System.Directory
Expand All @@ -94,8 +95,8 @@ readConfigIO :: FilePath -> IO (Config BuildSystem)
readConfigIO = decodeFileThrow

instance IsExample Example where getExampleName = exampleName
type instance RuleResult GetExample = Maybe Example
type instance RuleResult GetExamples = [Example]
type instance Shake.RuleResult GetExample = Maybe Example
type instance Shake.RuleResult GetExamples = [Example]

shakeOpts :: ShakeOptions
shakeOpts =
Expand Down Expand Up @@ -185,7 +186,7 @@ disableAllPluginsBut pred = def {Plugin.plugins = pluginsMap} where
IdePlugins plugins = idePlugins mempty

newtype GetSamples = GetSamples () deriving newtype (Binary, Eq, Hashable, NFData, Show)
type instance RuleResult GetSamples = Natural
type instance Shake.RuleResult GetSamples = Natural

--------------------------------------------------------------------------------

Expand Down
7 changes: 7 additions & 0 deletions ghcide-test/data/dependency-autogen/Dependency.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
module Dependency where

import Data.Version (Version)
import Paths_minimal_autogen (version)

v :: Version
v = version
6 changes: 6 additions & 0 deletions ghcide-test/data/dependency-autogen/cabal.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
packages: .
minimal-autogen
package *
ghc-options: -fwrite-ide-info
package minimal-autogen
ghc-options: -fwrite-ide-info
10 changes: 10 additions & 0 deletions ghcide-test/data/dependency-autogen/dependency-autogen.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: dependency-autogen
version: 0.1.0.0
cabal-version: 2.0
build-type: Simple

library
exposed-modules: Dependency
default-language: Haskell2010
build-depends: base
, minimal-autogen
2 changes: 2 additions & 0 deletions ghcide-test/data/dependency-autogen/hie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cradle:
cabal:
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
module MinimalAutogen where

minimalAutogen :: ()
minimalAutogen = ()
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Paths_minimal_autogen where

import Data.Version (Version, makeVersion)

version :: Version
version = makeVersion [0, 1, 0, 0]
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: minimal-autogen
version: 0.1.0.0
cabal-version: 2.0
build-type: Simple

library
exposed-modules: MinimalAutogen
, Paths_minimal_autogen
default-language: Haskell2010
build-depends: base
6 changes: 6 additions & 0 deletions ghcide-test/data/dependency-boot/Dependency.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Dependency where

import Data.Set (Set, empty)

emptySet :: Set Int
emptySet = empty
5 changes: 5 additions & 0 deletions ghcide-test/data/dependency-boot/cabal.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
packages: .
package *
ghc-options: -fwrite-ide-info
package containers
ghc-options: -fwrite-ide-info
10 changes: 10 additions & 0 deletions ghcide-test/data/dependency-boot/dependency-boot.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: dependency-boot
version: 0.1.0.0
cabal-version: 2.0
build-type: Simple

library
exposed-modules: Dependency
default-language: Haskell2010
build-depends: base
, containers
2 changes: 2 additions & 0 deletions ghcide-test/data/dependency-boot/hie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cradle:
cabal:
6 changes: 6 additions & 0 deletions ghcide-test/data/dependency-where/Dependency.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Dependency where

import Data.Scientific (Scientific(base10Exponent))

b :: Scientific -> Int
b = base10Exponent
5 changes: 5 additions & 0 deletions ghcide-test/data/dependency-where/cabal.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
packages: .
package *
ghc-options: -fwrite-ide-info
package scientific
ghc-options: -fwrite-ide-info
10 changes: 10 additions & 0 deletions ghcide-test/data/dependency-where/dependency-where.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: dependency
version: 0.1.0.0
cabal-version: 2.0
build-type: Simple

library
exposed-modules: Dependency
default-language: Haskell2010
build-depends: base
, scientific >= 0.3.8.1
2 changes: 2 additions & 0 deletions ghcide-test/data/dependency-where/hie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cradle:
cabal:
6 changes: 6 additions & 0 deletions ghcide-test/data/dependency/Dependency.hs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
module Dependency where

import Control.Concurrent.Async (AsyncCancelled (..))

asyncCancelled :: AsyncCancelled
asyncCancelled = AsyncCancelled
7 changes: 7 additions & 0 deletions ghcide-test/data/dependency/cabal.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
packages: .
package *
ghc-options: -fwrite-ide-info
package async
ghc-options: -fwrite-ide-info
package hashable
ghc-options: -fwrite-ide-info
10 changes: 10 additions & 0 deletions ghcide-test/data/dependency/dependency.cabal
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: dependency
version: 0.1.0.0
cabal-version: 2.0
build-type: Simple

library
exposed-modules: Dependency
default-language: Haskell2010
build-depends: base
, async >= 2.2.6
2 changes: 2 additions & 0 deletions ghcide-test/data/dependency/hie.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
cradle:
cabal:
Loading
Loading