generalized show_dependencies to take a list of constants as its argument

This commit is contained in:
aarne
2011-09-25 08:43:23 +00:00
parent 9db9c49bd6
commit 7e7927216b

View File

@@ -35,7 +35,7 @@ import PGF.Macros
import Data.Char import Data.Char
import Data.Maybe import Data.Maybe
import Data.List(isPrefixOf,isInfixOf,partition) import Data.List(nub,isPrefixOf,isInfixOf,partition)
import qualified Data.Map as Map import qualified Data.Map as Map
import qualified Data.ByteString.Char8 as BS import qualified Data.ByteString.Char8 as BS
import qualified Text.ParserCombinators.ReadP as RP import qualified Text.ParserCombinators.ReadP as RP
@@ -187,12 +187,12 @@ execute1 opts gfenv0 s0 =
continue gfenv continue gfenv
show_deps ws = do show_deps ws = do
let (os,ts) = partition (isPrefixOf "-") ws let (os,xs) = partition (isPrefixOf "-") ws
ops <- case ts of ops <- case xs of
_:_ -> do _:_ -> do
let Right t = runP pExp (encodeUnicode utf8 (unwords ts)) let ts = [t | Right t <- map (runP pExp . encodeUnicode utf8) xs]
err error (return . (t:)) $ constantDepsTerm sgr t err error (return . nub . (ts ++) . concat) $ mapM (constantDepsTerm sgr) ts
_ -> error "give a term as argument" _ -> error "expected one or more qualified constants as argument"
let prTerm = showTerm sgr TermPrintDefault Qualified let prTerm = showTerm sgr TermPrintDefault Qualified
let size = sizeConstant sgr let size = sizeConstant sgr
let printed let printed