PGF service & minibar: only show dependency diagrams if the labels are known

+ The PGF service now reads and caches dependency label configuration files.
+ The grammar info returned by command=grammar has a new boolean field 
  'hasDependencyLabels' to indicate if dependency labels were found for
  the grammar. Also, command=deptree will now fail if no labels are present.
+ The minibar only shows word dependency trees if labels are present.
+ Also changed the type of getDepLabels from [String] -> Labels to
  String -> Labels, since all uses were in the form "getDepLabels . lines".
This commit is contained in:
hallgren
2016-06-09 13:12:14 +00:00
parent 617624e2a8
commit 096b4cfcee
6 changed files with 61 additions and 44 deletions

View File

@@ -16,7 +16,7 @@ module PGF.VisualizeTree
, graphvizParseTree
, graphvizParseTreeDep
, graphvizDependencyTree
, getDepLabels
, Labels, getDepLabels
, graphvizBracketedString
, graphvizAlignment
, gizaAlignment
@@ -232,8 +232,8 @@ graphvizDependencyTree format debug mlab ms pgf lang t =
-- | Prepare lines obtained from a configuration file for labels for
-- use with 'graphvizDependencyTree'. Format per line /fun/ /label/@*@.
getDepLabels :: [String] -> Labels
getDepLabels ss = Map.fromList [(mkCId f,ls) | f:ls <- map words ss]
getDepLabels :: String -> Labels
getDepLabels s = Map.fromList [(mkCId f,ls) | f:ls <- map words (lines s)]
-- the old function, without dependencies
graphvizParseTree :: PGF -> Language -> GraphvizOptions -> Tree -> String