Skip to content

Commit 57c68f1

Browse files
committed
Now works cross Agda version
1 parent c6aa276 commit 57c68f1

File tree

4 files changed

+19
-2
lines changed

4 files changed

+19
-2
lines changed

src/Agda/Interaction/Library/Parse/More.hs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
{-# LANGUAGE CPP #-}
12
{-# LANGUAGE ExistentialQuantification #-}
23
{-# LANGUAGE RankNTypes #-}
34
{-# LANGUAGE RecordWildCards #-}
@@ -82,12 +83,20 @@ agdaLibFields =
8283
-- Andreas, 2017-08-23, issue #2708, field "name" is optional.
8384
[ optionalField "name" (\_ -> parseName) libName,
8485
optionalField "include" (\_ -> pure . concatMap parsePaths) libIncludes,
86+
#if MIN_VERSION_Agda(2,8,0)
8587
optionalField "depend" (\_ -> pure . map parseLibName . concatMap splitCommas) libDepends,
88+
#else
89+
optionalField "depend" (\_ -> pure . concatMap splitCommas) libDepends,
90+
#endif
8691
optionalField "flags" (\r -> pure . foldMap (parseFlags r)) libPragmas
8792
]
8893
where
8994
parseName :: [String] -> P LibName
95+
#if MIN_VERSION_Agda(2,8,0)
9096
parseName [s] | [name] <- words s = pure $ parseLibName name
97+
#else
98+
parseName [s] | [name] <- words s = pure name
99+
#endif
91100
parseName ls = throwError $ BadLibraryName $ unwords ls
92101

93102
parsePaths :: String -> [FilePath]

src/Server/Filesystem.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ import Agda.Utils.IO (catchIO)
2828
import Agda.Utils.IO.UTF8 (ReadException, readTextFile)
2929
import Agda.Utils.List (nubM)
3030
import Agda.Utils.Maybe (fromMaybe, maybe)
31-
import Agda.Utils.Monad (foldM, forM)
3231
import Control.Exception (try, tryJust)
3332
import qualified Control.Exception as E
33+
import Control.Monad (foldM, forM)
3434
import Control.Monad.IO.Class (MonadIO (liftIO))
3535
import qualified Data.Strict as Strict
3636
import Data.Text (Text)

src/Server/Model/AgdaLib.hs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ import Agda.Syntax.Common.Pretty (Pretty, pretty, vcat, prettyAssign, text, psho
3939
import qualified Text.URI as ParsedUri
4040
import qualified Data.Text as Text
4141
import qualified Server.Filesystem as FS
42-
import Agda.Utils.Monad (forM)
42+
import Control.Monad (forM)
4343

4444
data AgdaLibOrigin = FromFile !FS.FileId | Defaulted
4545
deriving (Show, Eq)

test/Test/AgdaLibResolution.hs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
1+
{-# LANGUAGE CPP #-}
2+
13
module Test.AgdaLibResolution (tests) where
24

5+
#if MIN_VERSION_Agda(2,8,0)
36
import Agda.Interaction.Library (parseLibName)
7+
#endif
48
import Agda.Syntax.Common.Pretty (prettyShow)
59
import Agda.Utils.Lens ((^.))
610
import Control.Monad.IO.Class (liftIO)
@@ -49,7 +53,11 @@ tests =
4953
runServerT env $ do
5054
lib <- findAgdaLib absConstPath
5155

56+
#if MIN_VERSION_Agda(2,8,0)
5257
liftIO $ lib ^. agdaLibName @?= parseLibName "no-deps"
58+
#else
59+
liftIO $ lib ^. agdaLibName @?= "no-deps"
60+
#endif
5361
liftIO $ lib ^. agdaLibOrigin @?= FromFile (FS.LocalFilePath absAgdaLibPath)
5462
liftIO $ lib ^. agdaLibIncludes @?= [FS.LocalFilePath absSrcPath]
5563
]

0 commit comments

Comments
 (0)