src/Pure/Admin/other_isabelle.scala
changeset 69168 68816d1c73a7
parent 69166 5c553c48c0e5
child 69355 cdc2de88d657
--- a/src/Pure/Admin/other_isabelle.scala	Sun Oct 21 14:35:46 2018 +0200
+++ b/src/Pure/Admin/other_isabelle.scala	Sun Oct 21 18:32:33 2018 +0200
@@ -61,12 +61,22 @@
   val etc_settings: Path = etc + Path.explode("settings")
   val etc_preferences: Path = etc + Path.explode("preferences")
 
+  def fonts(html: Boolean = false): List[Path] =
+    Isabelle_System.fonts(html = html, get = getenv(_))
 
-  /* init settings */
+
+  /* settings */
+
+  def clean_settings(): Boolean =
+    if (!etc_settings.is_file) true
+    else if (File.read(etc_settings).startsWith("# generated by Isabelle")) {
+      etc_settings.file.delete; true
+    }
+    else false
 
   def init_settings(components_base: String, nonfree: Boolean, more_settings: List[String])
   {
-    if (etc_settings.is_file && !File.read(etc_settings).startsWith("# generated by Isabelle"))
+    if (!clean_settings())
       error("Cannot proceed with existing user settings file: " + etc_settings)
 
     Isabelle_System.mkdirs(etc_settings.dir)
@@ -94,4 +104,14 @@
 
     File.append(etc_settings, "\n" + cat_lines(settings.map(terminate_lines(_))))
   }
+
+
+  /* cleanup */
+
+  def cleanup()
+  {
+    clean_settings()
+    etc.file.delete
+    isabelle_home_user.file.delete
+  }
 }