src/Tools/jEdit/src/jedit_sessions.scala
changeset 73367 77ef8bef0593
parent 73340 0ffcad1f6130
child 73802 8d9ac6cfc270
equal deleted inserted replaced
73366:5f388e514ab8 73367:77ef8bef0593
    16 
    16 
    17 object JEdit_Sessions
    17 object JEdit_Sessions
    18 {
    18 {
    19   /* session options */
    19   /* session options */
    20 
    20 
    21   def session_dirs(): List[Path] =
    21   def session_dirs: List[Path] =
    22     Path.split(Isabelle_System.getenv("JEDIT_SESSION_DIRS")).filterNot(p => p.implode == "-")
    22     Path.split(Isabelle_System.getenv("JEDIT_SESSION_DIRS")).filterNot(p => p.implode == "-")
    23 
    23 
    24   def session_no_build(): Boolean =
    24   def session_no_build: Boolean =
    25     Isabelle_System.getenv("JEDIT_NO_BUILD") == "true"
    25     Isabelle_System.getenv("JEDIT_NO_BUILD") == "true"
    26 
    26 
    27   def session_options(options: Options): Options =
    27   def session_options(options: Options): Options =
    28   {
    28   {
    29     val options1 =
    29     val options1 =
    39       }
    39       }
    40 
    40 
    41     options2
    41     options2
    42   }
    42   }
    43 
    43 
    44   def sessions_structure(options: Options, dirs: List[Path] = session_dirs()): Sessions.Structure =
    44   def sessions_structure(options: Options, dirs: List[Path] = session_dirs): Sessions.Structure =
    45     Sessions.load_structure(session_options(options), dirs = dirs)
    45     Sessions.load_structure(session_options(options), dirs = dirs)
    46 
    46 
    47 
    47 
    48   /* raw logic info */
    48   /* raw logic info */
    49 
    49 
   117 
   117 
   118   /* session build process */
   118   /* session build process */
   119 
   119 
   120   def session_base_info(options: Options): Sessions.Base_Info =
   120   def session_base_info(options: Options): Sessions.Base_Info =
   121     Sessions.base_info(options,
   121     Sessions.base_info(options,
   122       dirs = JEdit_Sessions.session_dirs(),
   122       dirs = JEdit_Sessions.session_dirs,
   123       include_sessions = logic_include_sessions,
   123       include_sessions = logic_include_sessions,
   124       session = logic_name(options),
   124       session = logic_name(options),
   125       session_ancestor = logic_ancestor,
   125       session_ancestor = logic_ancestor,
   126       session_requirements = logic_requirements)
   126       session_requirements = logic_requirements)
   127 
   127 
   128   def session_build(
   128   def session_build(
   129     options: Options, progress: Progress = new Progress, no_build: Boolean = false): Int =
   129     options: Options, progress: Progress = new Progress, no_build: Boolean = false): Int =
   130   {
   130   {
   131     Build.build(session_options(options),
   131     Build.build(session_options(options),
   132       selection = Sessions.Selection.session(PIDE.resources.session_name),
   132       selection = Sessions.Selection.session(PIDE.resources.session_name),
   133       progress = progress, build_heap = true, no_build = no_build, dirs = session_dirs(),
   133       progress = progress, build_heap = true, no_build = no_build, dirs = session_dirs,
   134       infos = PIDE.resources.session_base_info.infos).rc
   134       infos = PIDE.resources.session_base_info.infos).rc
   135   }
   135   }
   136 
   136 
   137   def session_start(options0: Options): Unit =
   137   def session_start(options0: Options): Unit =
   138   {
   138   {