| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Nix.Parser
Description
Main module for parsing Nix expressions.
Synopsis
- parseNixFile :: MonadFile m => Path -> m (Result NExpr)
- parseNixFileLoc :: MonadFile m => Path -> m (Result NExprLoc)
- parseNixText :: Text -> Result NExpr
- parseNixTextLoc :: Text -> Result NExprLoc
- parseExpr :: MonadFail m => Text -> m NExpr
- parseFromFileEx :: MonadFile m => Parser a -> Path -> m (Result a)
- type Parser = ParsecT Void Text (State SourcePos)
- parseFromText :: Parser a -> Text -> Result a
- type Result a = Either (Doc Void) a
- reservedNames :: HashSet VarName
- data OperatorInfo = OperatorInfo {
- precedence :: Int
- associativity :: NAssoc
- operatorName :: Text
- data NSpecialOp
- data NAssoc
- data NOperatorDef
- getUnaryOperator :: NUnaryOp -> OperatorInfo
- getBinaryOperator :: NBinaryOp -> OperatorInfo
- getSpecialOperator :: NSpecialOp -> OperatorInfo
- nixExpr :: Parser NExprLoc
- nixExprAlgebra :: Parser NExprLoc
- nixSet :: Parser NExprLoc
- nixBinders :: Parser [Binding NExprLoc]
- nixSelector :: Parser (AnnUnit SrcSpan (NAttrPath NExprLoc))
- nixSym :: Parser NExprLoc
- nixPath :: Parser NExprLoc
- nixString :: Parser NExprLoc
- nixUri :: Parser NExprLoc
- nixSearchPath :: Parser NExprLoc
- nixFloat :: Parser NExprLoc
- nixInt :: Parser NExprLoc
- nixBool :: Parser NExprLoc
- nixNull :: Parser NExprLoc
- whiteSpace :: Parser ()
Documentation
data OperatorInfo Source #
Constructors
| OperatorInfo | |
Fields
| |
Instances
data NSpecialOp Source #
Constructors
| NHasAttrOp | |
| NSelectOp |
Instances
| Eq NSpecialOp Source # | |
Defined in Nix.Parser | |
| Data NSpecialOp Source # | |
Defined in Nix.Parser Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NSpecialOp -> c NSpecialOp # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NSpecialOp # toConstr :: NSpecialOp -> Constr # dataTypeOf :: NSpecialOp -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NSpecialOp) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NSpecialOp) # gmapT :: (forall b. Data b => b -> b) -> NSpecialOp -> NSpecialOp # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NSpecialOp -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NSpecialOp -> r # gmapQ :: (forall d. Data d => d -> u) -> NSpecialOp -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NSpecialOp -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NSpecialOp -> m NSpecialOp # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NSpecialOp -> m NSpecialOp # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NSpecialOp -> m NSpecialOp # | |
| Ord NSpecialOp Source # | |
Defined in Nix.Parser Methods compare :: NSpecialOp -> NSpecialOp -> Ordering # (<) :: NSpecialOp -> NSpecialOp -> Bool # (<=) :: NSpecialOp -> NSpecialOp -> Bool # (>) :: NSpecialOp -> NSpecialOp -> Bool # (>=) :: NSpecialOp -> NSpecialOp -> Bool # max :: NSpecialOp -> NSpecialOp -> NSpecialOp # min :: NSpecialOp -> NSpecialOp -> NSpecialOp # | |
| Show NSpecialOp Source # | |
Defined in Nix.Parser Methods showsPrec :: Int -> NSpecialOp -> ShowS # show :: NSpecialOp -> String # showList :: [NSpecialOp] -> ShowS # | |
| Generic NSpecialOp Source # | |
Defined in Nix.Parser Associated Types type Rep NSpecialOp :: Type -> Type # | |
| NFData NSpecialOp Source # | |
Defined in Nix.Parser Methods rnf :: NSpecialOp -> () # | |
| type Rep NSpecialOp Source # | |
Constructors
| NAssocNone | |
| NAssocLeft | |
| NAssocRight |
Instances
| Eq NAssoc Source # | |
| Data NAssoc Source # | |
Defined in Nix.Parser Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NAssoc -> c NAssoc # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NAssoc # toConstr :: NAssoc -> Constr # dataTypeOf :: NAssoc -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NAssoc) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NAssoc) # gmapT :: (forall b. Data b => b -> b) -> NAssoc -> NAssoc # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NAssoc -> r # gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NAssoc -> r # gmapQ :: (forall d. Data d => d -> u) -> NAssoc -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> NAssoc -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> NAssoc -> m NAssoc # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NAssoc -> m NAssoc # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NAssoc -> m NAssoc # | |
| Ord NAssoc Source # | |
| Show NAssoc Source # | |
| Generic NAssoc Source # | |
| NFData NAssoc Source # | |
Defined in Nix.Parser | |
| type Rep NAssoc Source # | |
Defined in Nix.Parser type Rep NAssoc = D1 ('MetaData "NAssoc" "Nix.Parser" "hnix-0.16.0-8yNt853wvoc5yRPRKlu02G" 'False) (C1 ('MetaCons "NAssocNone" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NAssocLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NAssocRight" 'PrefixI 'False) (U1 :: Type -> Type))) | |
data NOperatorDef Source #
Instances
nixExprAlgebra :: Parser NExprLoc Source #
Nix expression algebra parser.
"Expression algebra" is to explain megaparsec use of the term Expression (parser for language algebraic coperators without any statements (without let etc.)), which is essentially an algebra inside the language.
nixSearchPath :: Parser NExprLoc Source #
A path surrounded by angle brackets, indicating that it should be looked up in the NIX_PATH environment variable at evaluation.
whiteSpace :: Parser () Source #