summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Brown <greg.brown01@ed.ac.uk>2022-12-17 15:09:15 +0000
committerGreg Brown <greg.brown01@ed.ac.uk>2022-12-17 15:10:17 +0000
commitd3f005bd8ba07b9b6d73e8eba9df4b9d9167cbd6 (patch)
tree22d4f9b90450472be2599f6744c44792cd1cddc1
parent5a707861fe52e4c969350664beb206daa0e7fd56 (diff)
Create executable.
For now, this is a reformatter.
-rw-r--r--obs.ipkg6
-rw-r--r--src/Obs/Main.idr21
2 files changed, 26 insertions, 1 deletions
diff --git a/obs.ipkg b/obs.ipkg
index 5e7f3d6..d637613 100644
--- a/obs.ipkg
+++ b/obs.ipkg
@@ -4,7 +4,11 @@ sourcedir = "src"
depends = contrib
+executable = obs
+main = Obs.Main
+
modules
- = Obs.Parser
+ = Obs.Main
+ , Obs.Parser
, Obs.Sort
, Obs.Syntax
diff --git a/src/Obs/Main.idr b/src/Obs/Main.idr
new file mode 100644
index 0000000..0ff1d70
--- /dev/null
+++ b/src/Obs/Main.idr
@@ -0,0 +1,21 @@
+module Obs.Main
+
+import Obs.Parser
+import Obs.Syntax
+
+import System
+
+import Text.PrettyPrint.Prettyprinter
+import Text.PrettyPrint.Prettyprinter.Render.Terminal
+
+usage : IO ()
+usage = do
+ () <- putStrLn "usage: obs <file>"
+ exitFailure
+
+main : IO ()
+main = do
+ [_, file] <- getArgs
+ | _ => usage
+ defs <- parseFile file
+ putDoc $ concatWith (\x, y => x <+> hardline <+> hardline <+> y) (map pretty defs)