src/Pure/Tools/main.scala
changeset 62036 773cb226738c
parent 61512 933463440449
child 62261 74dc98bd9f51
equal deleted inserted replaced
62035:b3cda398a5b1 62036:773cb226738c
    42         }
    42         }
    43 
    43 
    44 
    44 
    45         /* args */
    45         /* args */
    46 
    46 
       
    47         val jedit_settings =
       
    48           "-settings=" + File.platform_path(Path.explode("$JEDIT_SETTINGS"))
       
    49 
       
    50         val jedit_server =
       
    51           System.getProperty("isabelle.jedit_server") match {
       
    52             case null | "" => "-noserver"
       
    53             case name => "-server=" + name
       
    54           }
       
    55 
    47         val jedit_options =
    56         val jedit_options =
    48           Isabelle_System.getenv_strict("JEDIT_OPTIONS").split(" +")
    57           Isabelle_System.getenv_strict("JEDIT_OPTIONS").split(" +")
    49 
       
    50         val jedit_settings =
       
    51           Array("-settings=" + File.platform_path(Path.explode("$JEDIT_SETTINGS")))
       
    52 
    58 
    53         val more_args =
    59         val more_args =
    54         {
    60         {
    55           args.toList.dropWhile(arg => arg.startsWith("-") && arg != "--") match {
    61           args.toList.dropWhile(arg => arg.startsWith("-") && arg != "--") match {
    56             case Nil | List("--") =>
    62             case Nil | List("--") =>
    70 
    76 
    71         val jedit =
    77         val jedit =
    72           Class.forName("org.gjt.sp.jedit.jEdit", true, ClassLoader.getSystemClassLoader)
    78           Class.forName("org.gjt.sp.jedit.jEdit", true, ClassLoader.getSystemClassLoader)
    73         val jedit_main = jedit.getMethod("main", classOf[Array[String]])
    79         val jedit_main = jedit.getMethod("main", classOf[Array[String]])
    74 
    80 
    75         () => jedit_main.invoke(null, jedit_options ++ jedit_settings ++ more_args)
    81         () => jedit_main.invoke(
       
    82           null, Array(jedit_settings, jedit_server) ++ jedit_options ++ more_args)
    76       }
    83       }
    77       catch {
    84       catch {
    78         case exn: Throwable =>
    85         case exn: Throwable =>
    79           GUI.init_laf()
    86           GUI.init_laf()
    80           GUI.dialog(null, "Isabelle", GUI.scrollable_text(Exn.message(exn)))
    87           GUI.dialog(null, "Isabelle", GUI.scrollable_text(Exn.message(exn)))