summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Command/Commands.hs
diff options
context:
space:
mode:
authorJohn J. Camilleri <john@digitalgrammars.com>2022-06-18 21:09:23 +0200
committerJohn J. Camilleri <john@digitalgrammars.com>2022-06-18 21:09:23 +0200
commit65308861bc6cd899d0fcf3695a382e8016d40a05 (patch)
tree50bfb648eb6cd32cf6798d5700c6bfa4199665c1 /src/compiler/GF/Command/Commands.hs
parent9f2a3de7a3cc0db2db741b7f9766681a95e729ff (diff)
parentb7672b67a39fb46f3ba8dbacca96babb04fca82c (diff)
Merge branch 'master' of github.com:GrammaticalFramework/gf-core
Diffstat (limited to 'src/compiler/GF/Command/Commands.hs')
-rw-r--r--src/compiler/GF/Command/Commands.hs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/compiler/GF/Command/Commands.hs b/src/compiler/GF/Command/Commands.hs
index 2f2e802e0..a6c66594f 100644
--- a/src/compiler/GF/Command/Commands.hs
+++ b/src/compiler/GF/Command/Commands.hs
@@ -4,6 +4,7 @@ module GF.Command.Commands (
options,flags,
) where
import Prelude hiding (putStrLn,(<>)) -- GHC 8.4.1 clash with Text.PrettyPrint
+import System.Info(os)
import PGF
@@ -882,11 +883,15 @@ pgfCommands = Map.fromList [
Right ty -> ty
Nothing -> error ("Can't parse '"++str++"' as a type")
optViewFormat opts = valStrOpts "format" "png" opts
- optViewGraph opts = valStrOpts "view" "open" opts
+ optViewGraph opts = valStrOpts "view" open_cmd opts
optNum opts = valIntOpts "number" 1 opts
optNumInf opts = valIntOpts "number" 1000000000 opts ---- 10^9
takeOptNum opts = take (optNumInf opts)
+ open_cmd | os == "linux" = "xdg-open"
+ | os == "mingw32" = "start"
+ | otherwise = "open"
+
returnFromExprs es = return $ case es of
[] -> pipeMessage "no trees found"
_ -> fromExprs es
@@ -1022,4 +1027,4 @@ stanzas = map unlines . chop . lines where
#if !(MIN_VERSION_base(4,9,0))
errorWithoutStackTrace = error
-#endif \ No newline at end of file
+#endif