module StaticLS.StaticEnv.Options (
    defaultStaticEnvOptions,
    defaultHieDb,
    defaultHieFiles,
    defaultSrcDirs,
    defaultHiFiles,
    StaticEnvOptions (..),
)
where

data StaticEnvOptions = StaticEnvOptions
    { StaticEnvOptions -> FilePath
optionHieDbPath :: FilePath
    -- ^ Relative path to hiedb file
    -- hiedb is required for find references and go to definition to work correctly
    , StaticEnvOptions -> FilePath
optionHieFilesPath :: FilePath
    -- ^ Relative path to hie files directory
    -- hie files are required for all functionality
    , StaticEnvOptions -> FilePath
optionHiFilesPath :: FilePath
    -- ^ Relative path to hi files directory
    , StaticEnvOptions -> [FilePath]
optionSrcDirs :: [FilePath]
    }
    deriving (Int -> StaticEnvOptions -> ShowS
[StaticEnvOptions] -> ShowS
StaticEnvOptions -> FilePath
(Int -> StaticEnvOptions -> ShowS)
-> (StaticEnvOptions -> FilePath)
-> ([StaticEnvOptions] -> ShowS)
-> Show StaticEnvOptions
forall a.
(Int -> a -> ShowS) -> (a -> FilePath) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> StaticEnvOptions -> ShowS
showsPrec :: Int -> StaticEnvOptions -> ShowS
$cshow :: StaticEnvOptions -> FilePath
show :: StaticEnvOptions -> FilePath
$cshowList :: [StaticEnvOptions] -> ShowS
showList :: [StaticEnvOptions] -> ShowS
Show, StaticEnvOptions -> StaticEnvOptions -> Bool
(StaticEnvOptions -> StaticEnvOptions -> Bool)
-> (StaticEnvOptions -> StaticEnvOptions -> Bool)
-> Eq StaticEnvOptions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: StaticEnvOptions -> StaticEnvOptions -> Bool
== :: StaticEnvOptions -> StaticEnvOptions -> Bool
$c/= :: StaticEnvOptions -> StaticEnvOptions -> Bool
/= :: StaticEnvOptions -> StaticEnvOptions -> Bool
Eq)

defaultHieDb :: FilePath
defaultHieDb :: FilePath
defaultHieDb = FilePath
".hiedb"

defaultHieFiles :: FilePath
defaultHieFiles :: FilePath
defaultHieFiles = FilePath
".hiefiles"

defaultSrcDirs :: [FilePath]
defaultSrcDirs :: [FilePath]
defaultSrcDirs = [FilePath
"src/", FilePath
"lib/", FilePath
"app/", FilePath
"test/"]

defaultHiFiles :: FilePath
defaultHiFiles :: FilePath
defaultHiFiles = FilePath
".hifiles"

defaultStaticEnvOptions :: StaticEnvOptions
defaultStaticEnvOptions :: StaticEnvOptions
defaultStaticEnvOptions =
    StaticEnvOptions
        { $sel:optionHieDbPath:StaticEnvOptions :: FilePath
optionHieDbPath = FilePath
defaultHieDb
        , $sel:optionHieFilesPath:StaticEnvOptions :: FilePath
optionHieFilesPath = FilePath
defaultHieFiles
        , $sel:optionSrcDirs:StaticEnvOptions :: [FilePath]
optionSrcDirs = [FilePath]
defaultSrcDirs
        , $sel:optionHiFilesPath:StaticEnvOptions :: FilePath
optionHiFilesPath = FilePath
defaultHiFiles
        }