module Language.Dhall.Lexer (
lexDhall
, getDependencies
, Token
, AlexPosn (..)
, TokenType (..)
, Keyword (..)
, Operator (..)
, Ann (..)
, alexMonadScan
, runAlex
, Alex (..)
, AlexState (..)
) where
import qualified Data.ByteString.Lazy as BSL
import qualified Data.ByteString.Lazy.Char8 as ASCII
import Language.Dhall.Lexer.Mod
import Language.Dhall.Lexer.Types
getDependencies :: BSL.ByteString -> Either String [FilePath]
getDependencies = fmap (g =<<) . lexDhall
where g (Ann _ (EmbedFile s)) | BSL.head s /= 104 = [ASCII.unpack s]
g _ = mempty