summaryrefslogtreecommitdiff
path: root/src-3.0/GF/Grammar
diff options
context:
space:
mode:
Diffstat (limited to 'src-3.0/GF/Grammar')
-rw-r--r--src-3.0/GF/Grammar/API.hs21
-rw-r--r--src-3.0/GF/Grammar/PrGrammar.hs2
2 files changed, 15 insertions, 8 deletions
diff --git a/src-3.0/GF/Grammar/API.hs b/src-3.0/GF/Grammar/API.hs
index bfbfb3d14..6d14fbf3c 100644
--- a/src-3.0/GF/Grammar/API.hs
+++ b/src-3.0/GF/Grammar/API.hs
@@ -5,7 +5,8 @@ module GF.Grammar.API (
prTerm,
checkTerm,
computeTerm,
- showTerm
+ showTerm,
+ TermPrintStyle(..)
) where
import GF.Source.ParGF
@@ -52,9 +53,15 @@ checkTermAny gr m t = do
computeTerm :: Grammar -> Term -> Err Term
computeTerm = computeConcrete
-showTerm :: Options -> Term -> String
-showTerm opts t
- | oElem (iOpt "table") opts = unlines [p +++ s | (p,s) <- prTermTabular t]
- | oElem (iOpt "all") opts = unlines [ s | (p,s) <- prTermTabular t]
- | oElem (iOpt "unqual") opts = prt_ t
- | otherwise = prt t
+showTerm :: TermPrintStyle -> Term -> String
+showTerm style t =
+ case style of
+ TermPrintTable -> unlines [p +++ s | (p,s) <- prTermTabular t]
+ TermPrintAll -> unlines [ s | (p,s) <- prTermTabular t]
+ TermPrintUnqual -> prt_ t
+ TermPrintDefault -> prt t
+
+
+data TermPrintStyle = TermPrintTable | TermPrintAll | TermPrintUnqual | TermPrintDefault
+ deriving (Show,Eq)
+
diff --git a/src-3.0/GF/Grammar/PrGrammar.hs b/src-3.0/GF/Grammar/PrGrammar.hs
index f605a8de7..9867aaef5 100644
--- a/src-3.0/GF/Grammar/PrGrammar.hs
+++ b/src-3.0/GF/Grammar/PrGrammar.hs
@@ -233,7 +233,7 @@ prExp e = case e of
-- | option @-strip@ strips qualifications
prTermOpt :: Options -> Term -> String
-prTermOpt opts = if oElem nostripQualif opts then prt else prExp
+prTermOpt opts = if PrinterStrip `elem` flag optPrinter opts then prt else prExp
-- | to get rid of brackets in the editor
prRefinement :: Term -> String