dhall-lex-0.2.0.0: src/Language/Dhall/Lexer.hs
-- | This module contains a dhall lexer.
module Language.Dhall.Lexer ( -- * User functions
lexDhall
, getDependencies
-- * Types
, Token
, AlexPosn (..)
, TokenType (..)
, Keyword (..)
, Operator (..)
, Ann (..)
-- * Internal
, 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