X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/xdg-ninja.git/blobdiff_plain/4f758de596c79f81bd3e8466478492102a6c9192..refs/heads/arch_wiki_scrape:/src/xdgnj.hs diff --git a/src/xdgnj.hs b/src/xdgnj.hs index a379bf4..f3adf7c 100644 --- a/src/xdgnj.hs +++ b/src/xdgnj.hs @@ -2,12 +2,14 @@ module Main where import qualified AddProgram as PA +import qualified Checks as C import Data.Semigroup ((<>)) import qualified EditProgram as PE -import qualified PreviewProgram as PP import Options.Applicative +import qualified PreviewProgram as PP -data Args = AddProgram +data Args = RunChecks + | AddProgram | EditProgram String | PreviewProgram String | LintProgram String @@ -25,7 +27,8 @@ lintProgram = LintProgram <$> argument str (metavar "PROGRAM") argsParser :: Parser Args argsParser = subparser - (command "add" (info (pure AddProgram) (progDesc "Add program")) + (command "run" (info (pure RunChecks) (progDesc "Run checks")) + <> command "add" (info (pure AddProgram) (progDesc "Add program")) <> command "edit" (info editProgram (progDesc "Edit program config")) <> command "prev" (info previewProgram (progDesc "Preview program config")) <> command "lintp" (info lintProgram (progDesc "Lint program config")) @@ -40,7 +43,8 @@ main :: IO () main = do args <- execParser args case args of - AddProgram -> PA.saveProgram - EditProgram filename -> PE.editProgram filename + RunChecks -> C.checkDir "./programs" + AddProgram -> PA.saveProgram + EditProgram filename -> PE.editProgram filename PreviewProgram filename -> PP.previewProgramFile filename - _ -> print args + _ -> print args