From ff9bbe0d97bfe8e40886866634ea26b40c50717d Mon Sep 17 00:00:00 2001 From: b3nj4m1n Date: Tue, 28 Jun 2022 12:39:13 +0200 Subject: [PATCH] Create ./programs/ directory if missing --- lib/Program.hs | 2 ++ xdg-ninja.cabal | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/Program.hs b/lib/Program.hs index 9674147..9826152 100644 --- a/lib/Program.hs +++ b/lib/Program.hs @@ -8,6 +8,7 @@ import Data.Aeson.Encode.Pretty import qualified Data.ByteString.Lazy as B import qualified Data.Text as T import GHC.Generics +import System.Directory instance FromJSON File where parseJSON (Object v) = File @@ -54,6 +55,7 @@ makeFilename s = T.pack ( "./programs/" ++ T.unpack s ++ ".json" ) save :: T.Text -> Program -> IO () save filename program = do + createDirectoryIfMissing False "./programs/" B.writeFile (T.unpack filename) (encodePretty program) readProgram :: String -> IO ( Maybe Program ) diff --git a/xdg-ninja.cabal b/xdg-ninja.cabal index ad83bf8..4155460 100644 --- a/xdg-ninja.cabal +++ b/xdg-ninja.cabal @@ -1,6 +1,6 @@ cabal-version: 2.4 name: xdg-ninja -version: 0.2.0.0 +version: 0.2.0.1 -- A short (one-line) description of the package. -- synopsis: @@ -35,6 +35,7 @@ library aeson-pretty ^>=0.8.9, text-replace ^>=0.1, filepath ^>=1.4.2.1, + directory ^>= 1.3.6.2, hs-source-dirs: lib default-language: Haskell2010 exposed-modules: AddProgram, Program, Prompts, EditProgram, Output, PreviewProgram, Checks -- 2.47.3