packages feed

multifile 0.1.0.6 → 0.1.0.7

raw patch · 3 files changed

+47/−27 lines, 3 filesdep ~base

Dependency ranges changed: base

Files

README.md view
@@ -1,4 +1,9 @@ # multifile --cat test.xml |  multifile +usage:+```+multifile <NOARGS> # extract the multifile+multifile --create (or -c) [FILES]+multifile --edit (or -e) [FILES] # open multiple files via editor+multifile --help (or -h) # show this help message+```
multifile.cabal view
@@ -1,5 +1,5 @@ name: multifile-version: 0.1.0.6+version: 0.1.0.7 cabal-version: >=1.10 build-type: Simple license: BSD3@@ -22,7 +22,7 @@ executable multifile     main-is: Main.hs     build-depends:-        base >=4.9 && <4.10,+        base <10000,         HaXml <10000,         directory <10000,         pretty <10000,
src/Main.hs view
@@ -28,6 +28,25 @@  import Options.Applicative +main = do + args <- getArgs+ case args of  +  []              -> do x <- getContents       +                        extractMultiFile x+  ("--create":xs) -> create xs+  ("-c":xs)       -> create xs+  ("--edit":xs)   -> edit xs+  ("-e":xs)       -> edit xs+  ("--help":xs)   -> help+  ("--h":xs)      -> help+  _                ->  putStr "unknown usage"+ where +  help = do putStrLn "usage:"+            putStrLn "multifile <NOARGS> # extract the multifile"+            putStrLn "multifile --create (or -c) [FILES]"+            putStrLn "multifile --edit (or -e) [FILES] # open multiple files via editor"+            putStrLn "multifile --help (or -h) # show this help message"+ isRegularPath :: FilePath -> Bool  isRegularPath f = f /= "." && f /= ".." @@ -46,6 +65,7 @@      return files'    else if properFile then do      content <- lift $ readFile filePath'+     --lift $ putStr ("{"++content++"}")      return [File (File_Attrs filePath') content ]    else        throwE filePath'@@ -53,7 +73,11 @@  create' files =runExceptT $ do     files' <- create'' [] files-   return $ (render $ htmlprint $ map myFun $ toContents $ Multifile files')+   let a  = toContents (Multifile files')+   let b = map myFun a+   let c = htmlprint2 b+   --lift $ print  c+   return $ (render $ c)   s = xmlEscapeContent  stdXmlEscaper @@ -91,19 +115,6 @@  run x = print 2 -main = do -       args <- getArgs-       case args of -         [] -> do-           x <- getContents       -           extractMultiFile x-         x -> z x- where - z ("--create":xs) = create xs- z ("-c":xs) = create xs- z ("--edit":xs) = edit xs- z ("-e":xs) = edit xs- z _             = putStr "unknown usage"  edit xs = do  dir <- getTemporaryDirectory@@ -114,10 +125,15 @@   (Right multifile) -> do     writeFile filename multifile     maybeEditor <- lookupEnv "EDITOR"+    time1 <- getModificationTime filename     let editor = fromMaybe "vim" maybeEditor     system (editor++" "++filename)-    x <- readFile filename-    extractMultiFile x+    time2 <- getModificationTime filename+    if time2 > time1 then do+      x <- readFile filename+      extractMultiFile x+    else+      return ()   (Left errorMsg) -> putStrLn ("file: "++errorMsg++" does not exist.")  return () @@ -126,12 +142,13 @@         either print processFiles p  processFiles (Multifile xs) = mapM_ processFile xs-processFile (File (File_Attrs path) content) = writeFile path content+processFile (File (File_Attrs path) content) = do +   -- putStr ("("++content++")")+   -- remove inserted newline Character+   writeFile path (drop 1 content)   -{-- htmlprint2 :: [Content i] -> Pretty.Doc htmlprint2 = Pretty.cat . map cprint . foldrefs   where@@ -143,8 +160,7 @@   ref (RefChar s) = show s    cprint (CElem e _)      = element e-  cprint (CString ws s _) = Pretty.cat (map Pretty.text (fmt 60-                                             ((if ws then id else id) s)))+  cprint (CString ws s _) = Pretty.text "\n" Pretty.<> Pretty.text s   cprint (CRef r _)       = Pretty.text ("&"++ref r++";")   cprint (CMisc _ _)      = Pretty.empty @@ -165,7 +181,7 @@                                         Pretty.text (printableName n) Pretty.<>                                         attrs as                      Pretty.<>                                         Pretty.text ">")-                                    , Pretty.nest 4 (htmlprint cs)+                                    , Pretty.nest 0 (htmlprint2 cs)                                     , ( Pretty.text "</"              Pretty.<>                                         Pretty.text (printableName n) Pretty.<>                                         Pretty.text ">" )@@ -199,4 +215,3 @@                                  | otherwise = select q (y:ls,ys)  --}