bash 0.1.3 → 0.1.4
raw patch · 4 files changed
+12/−4 lines, 4 files
Files
- Language/Bash/Lib.hs +1/−1
- Language/Bash/PrettyPrinter.hs +3/−1
- Language/Bash/Syntax.hs +7/−1
- bash.cabal +1/−1
Language/Bash/Lib.hs view
@@ -49,7 +49,7 @@ seqAZ :: (Integral i) => i -> i -> Statement t seqAZ a z = SimpleCommand "seq" [lshow a, lshow z] where- lshow = literal . pack . show+ lshow = literal . pack . show . toInteger {-| A set statement that covers a few error handling options, setting
Language/Bash/PrettyPrinter.hs view
@@ -84,6 +84,7 @@ pp (Annotated t stmt) = annotate t stmt instance (Annotation t) => PP (Statement t) where pp term = case term of+ Empty -> return () SimpleCommand cmd args -> do hangMultiline cmd mapM_ breakline args outdent@@ -118,8 +119,9 @@ Until t t' -> do hangWord "until" >> pp t >> outdent >> nl inword "do" >> pp t' >> outword "done" -- BraceBrace _ -> error "[[ ]]"--- VarAssign var val -> wordcat [bytes var, "=", bytes val] VarAssign var val -> do hang (bytes var `mappend` "=")+ pp val >> outdent+ Export var val -> do hangcat ["export ", bytes var, "="] pp val >> outdent ArrayDecl var exprs -> do hangcat ["declare -a ", bytes var, "=("] array_pp pp exprs >> word ")"
Language/Bash/Syntax.hs view
@@ -44,7 +44,8 @@ It is a 'Foldable' and a 'Functor'. -} data Statement t- = SimpleCommand (Expression t) [Expression t]+ = Empty+ | SimpleCommand (Expression t) [Expression t] | NoOp ByteString | Bang (Annotated t) | AndAnd (Annotated t) (Annotated t)@@ -63,6 +64,7 @@ | Until (Annotated t) (Annotated t) -- BraceBrace (ConditionalExpression t) | VarAssign Identifier (Expression t)+ | Export Identifier (Expression t) | ArrayDecl Identifier [Expression t] | ArrayUpdate Identifier (Expression t) (Expression t) | ArrayAssign Identifier [Expression t]@@ -76,6 +78,7 @@ deriving instance (Show t) => Show (Statement t) instance Functor Statement where fmap f stmt = case stmt of+ Empty -> Empty SimpleCommand cmd args -> SimpleCommand (f' cmd) (fmap f' args) NoOp b -> NoOp b Bang ann -> Bang (f' ann)@@ -95,6 +98,7 @@ Until ann ann' -> Until (f' ann) (f' ann') -- BraceBrace (ConditionalExpression t) VarAssign ident expr -> VarAssign ident (f' expr)+ Export ident expr -> Export ident (f' expr) ArrayDecl ident assigns -> ArrayDecl ident (fmap f' assigns) ArrayUpdate ident a b -> ArrayUpdate ident (f' a) (f' b) ArrayAssign ident assigns -> ArrayAssign ident (fmap f' assigns)@@ -108,6 +112,7 @@ fmapExprFD (Right fd) = Right fd instance Foldable Statement where foldMap f stmt = case stmt of+ Empty -> mempty SimpleCommand cmd args -> f' cmd `mappend` foldMap f' args NoOp _ -> mempty Bang ann -> f' ann@@ -127,6 +132,7 @@ Until ann ann' -> f' ann `mappend` f' ann' -- BraceBrace ConditionalExpression VarAssign _ expr -> f' expr+ Export _ expr -> f' expr ArrayDecl _ assigns -> foldMap f' assigns ArrayUpdate _ a b -> f' a `mappend` f' b ArrayAssign _ assigns -> foldMap f' assigns
bash.cabal view
@@ -1,5 +1,5 @@ name : bash-version : 0.1.3+version : 0.1.4 category : Language license : BSD3 license-file : LICENSE