src/Pure/Tools/dump.scala
changeset 68348 2ac3a5c07dfa
parent 68347 9e6e7ab77434
child 68355 67a4db47e4f6
equal deleted inserted replaced
68347:9e6e7ab77434 68348:2ac3a5c07dfa
     1 /*  Title:      Pure/Tools/dump.scala
     1 /*  Title:      Pure/Tools/dump.scala
     2     Author:     Makarius
     2     Author:     Makarius
     3 
     3 
     4 Dump build database produced by PIDE session.
     4 Dump cumulative PIDE session database.
     5 */
     5 */
     6 
     6 
     7 package isabelle
     7 package isabelle
     8 
     8 
     9 
     9 
   133 
   133 
   134 
   134 
   135   /* Isabelle tool wrapper */
   135   /* Isabelle tool wrapper */
   136 
   136 
   137   val isabelle_tool =
   137   val isabelle_tool =
   138     Isabelle_Tool("dump", "dump build database produced by PIDE session.", args =>
   138     Isabelle_Tool("dump", "dump cumulative PIDE session database", args =>
   139     {
   139     {
   140       var aspects: List[Aspect] = known_aspects
   140       var aspects: List[Aspect] = known_aspects
   141       var base_sessions: List[String] = Nil
   141       var base_sessions: List[String] = Nil
   142       var select_dirs: List[Path] = Nil
   142       var select_dirs: List[Path] = Nil
   143       var output_dir = default_output_dir
   143       var output_dir = default_output_dir
   169     -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)
   169     -o OPTION    override Isabelle system OPTION (via NAME=VAL or NAME)
   170     -s           system build mode for logic image
   170     -s           system build mode for logic image
   171     -v           verbose
   171     -v           verbose
   172     -x NAME      exclude session NAME and all descendants
   172     -x NAME      exclude session NAME and all descendants
   173 
   173 
   174   Dump build database produced by PIDE session. The following dump aspects
   174   Dump cumulative PIDE session database, with the following aspects:
   175   are available:
       
   176 
   175 
   177 """ + Library.prefix_lines("    ", show_aspects) + "\n",
   176 """ + Library.prefix_lines("    ", show_aspects) + "\n",
   178       "A:" -> (arg => aspects = Library.distinct(space_explode(',', arg)).map(the_aspect(_))),
   177       "A:" -> (arg => aspects = Library.distinct(space_explode(',', arg)).map(the_aspect(_))),
   179       "B:" -> (arg => base_sessions = base_sessions ::: List(arg)),
   178       "B:" -> (arg => base_sessions = base_sessions ::: List(arg)),
   180       "D:" -> (arg => select_dirs = select_dirs ::: List(Path.explode(arg))),
   179       "D:" -> (arg => select_dirs = select_dirs ::: List(Path.explode(arg))),