file-command-qq 0.1.0.1 → 0.1.0.2
raw patch · 2 files changed
+15/−15 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- file-command-qq.cabal +9/−9
- src/FileCommand.hs +6/−6
file-command-qq.cabal view
@@ -2,7 +2,7 @@ -- documentation, see http://haskell.org/cabal/users-guide/ name: file-command-qq-version: 0.1.0.1+version: 0.1.0.2 synopsis: Quasiquoter for system commands involving filepaths description: file-command-qq is a simple quasiquoter for running system commands that take a filepath as an argument.@@ -38,14 +38,14 @@ There are the following options for "file parts" . .- * $path- * $root- * $directory- * $parent- * $filename- * $dirname- * $basename- * $ext+ * $path+ * $root+ * $directory+ * $parent+ * $filename+ * $dirname+ * $basename+ * $ext . Which correspond to the respective functions in <https://hackage.haskell.org/package/system-filepath-0.4.6/docs/Filesystem-Path.html#g:1> homepage: https://github.com/jfischoff/file-command-qq
src/FileCommand.hs view
@@ -43,10 +43,10 @@ <|> BaseName <$ string "basename" <|> Ext <$ string "ext" -type Cmd = String+type Fragment = String -pCmd :: Parser Cmd-pCmd = do +pFragment :: Parser Fragment+pFragment = do frag <- many $ noneOf "\\$" xs <- option [] $ try $ do slash <- char '\\'@@ -60,12 +60,12 @@ xs' -> return $ frag ++ xs' data Expr - = ECmd Cmd+ = EFragment Fragment | EFilePart FilePart deriving (Show, Eq) pExpr :: Parser Expr-pExpr = EFilePart <$> pFilePart <|> ECmd <$> pCmd +pExpr = EFilePart <$> pFilePart <|> EFragment <$> pFragment parser :: Parser [Expr] parser = many1 pExpr@@ -79,7 +79,7 @@ evalExpr :: Name -> Expr -> Q Exp evalExpr filePathName = \case- ECmd frag -> [| $(stringE frag) |]+ EFragment frag -> [| $(stringE frag) |] EFilePart filePart -> evalFilePart filePathName filePart evalFilePart :: Name -> FilePart -> Q Exp