clarified signature;
authorwenzelm
Fri, 27 Jun 2025 13:37:36 +0200
changeset 82778 803731b62180
parent 82777 86a9aaa92877
child 82779 ec6eb16e4692
clarified signature; clarified modules;
src/Pure/Build/resources.scala
src/Pure/PIDE/session.scala
src/Tools/VSCode/src/language_server.scala
src/Tools/jEdit/src/jedit_editor.scala
src/Tools/jEdit/src/jedit_options.scala
src/Tools/jEdit/src/jedit_resources.scala
src/Tools/jEdit/src/jedit_session.scala
src/Tools/jEdit/src/main_plugin.scala
--- a/src/Pure/Build/resources.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Pure/Build/resources.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -252,8 +252,6 @@
       consolidate: List[Document.Node.Name]): Session.Change =
     Thy_Syntax.parse_change(resources, reparse_limit, previous, doc_blobs, edits, consolidate)
 
-  def commit(change: Session.Change): Unit = {}
-
 
   /* theory and file dependencies */
 
--- a/src/Pure/PIDE/session.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Pure/PIDE/session.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -273,6 +273,14 @@
       true
   }
 
+  def auto_resolve: Boolean = true
+  def deps_changed(): Unit = {}
+
+  def commit_change(change: Session.Change): Unit =
+    if (change.deps_changed || auto_resolve && resources.undefined_blobs(change.version).nonEmpty) {
+      deps_changed()
+    }
+
 
   /* buffered changes */
 
@@ -462,7 +470,7 @@
       global_state.change(_.define_version(change.version, assignment))
 
       prover.get.update(change.previous.id, change.version.id, change.doc_edits, change.consolidate)
-      resources.commit(change)
+      commit_change(change)
     //}}}
     }
 
--- a/src/Tools/VSCode/src/language_server.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Tools/VSCode/src/language_server.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -274,15 +274,12 @@
           if (!build().ok) { progress.echo(fail_msg); error(fail_msg) }
         }
 
-        val session_resources =
-          new VSCode_Resources(options, session_background, log) {
-            override def commit(change: Session.Change): Unit =
-              if (change.deps_changed || undefined_blobs(change.version).nonEmpty) {
-                delay_load.invoke()
-              }
+        val session_resources = new VSCode_Resources(options, session_background, log)
+        val session_options = options.bool.update("editor_output_state", true)
+        val session =
+          new VSCode_Session(session_options, session_resources) {
+            override def deps_changed(): Unit = delay_load.invoke()
           }
-        val session_options = options.bool.update("editor_output_state", true)
-        val session = new VSCode_Session(session_options, session_resources)
 
         Some((session_background, session))
       }
--- a/src/Tools/jEdit/src/jedit_editor.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Tools/jEdit/src/jedit_editor.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -60,7 +60,7 @@
 
   def state_changed(): Unit = {
     GUI_Thread.later { flush() }
-    PIDE.plugin.deps_changed()
+    PIDE.session.deps_changed()
     session.global_options.post(Session.Global_Options(PIDE.options.value))
   }
 
--- a/src/Tools/jEdit/src/jedit_options.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Tools/jEdit/src/jedit_options.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -53,7 +53,7 @@
   object continuous_checking extends Bool_Access("editor_continuous_checking") {
     override def changed(): Unit = {
       super.changed()
-      PIDE.plugin.deps_changed()
+      PIDE.session.deps_changed()
     }
 
     class GUI extends Bool_GUI(this, "Continuous checking") {
--- a/src/Tools/jEdit/src/jedit_resources.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Tools/jEdit/src/jedit_resources.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -129,18 +129,4 @@
   }
 
   def make_file_content(buffer: Buffer): Bytes = (new File_Content_Request(buffer)).content()
-
-
-  /* theory text edits */
-
-  def auto_resolve: Boolean = PIDE.options.bool("jedit_auto_resolve")
-
-  override def commit(change: Session.Change): Unit = {
-    if (change.syntax_changed.nonEmpty) {
-      GUI_Thread.later { Document_Model.syntax_changed(change.syntax_changed) }
-    }
-    if (change.deps_changed || auto_resolve && undefined_blobs(change.version).nonEmpty) {
-      PIDE.plugin.deps_changed()
-    }
-  }
 }
--- a/src/Tools/jEdit/src/jedit_session.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Tools/jEdit/src/jedit_session.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -164,4 +164,6 @@
 class JEdit_Session(_session_options: => Options) extends Session(_session_options) {
   override val resources: JEdit_Resources = JEdit_Resources(_session_options)
   override val store: Store = Store(JEdit_Session.session_options(_session_options))
+
+  override def auto_resolve: Boolean = session_options.bool("jedit_auto_resolve")
 }
--- a/src/Tools/jEdit/src/main_plugin.scala	Fri Jun 27 13:24:05 2025 +0200
+++ b/src/Tools/jEdit/src/main_plugin.scala	Fri Jun 27 13:37:36 2025 +0200
@@ -78,7 +78,12 @@
   /* session */
 
   private var _session: JEdit_Session = null
-  private def init_session(): Unit = { _session = new JEdit_Session(options.value) }
+  private def init_session(): Unit = {
+    _session =
+      new JEdit_Session(options.value) {
+        override def deps_changed(): Unit = delay_load.invoke()
+      }
+  }
   def session: JEdit_Session = _session
 
 
@@ -104,8 +109,6 @@
       }
     }
 
-  def deps_changed(): Unit = delay_load.invoke()
-
   private val delay_load_active = Synchronized(false)
   private def delay_load_finished(): Unit = delay_load_active.change(_ => false)
   private def delay_load_activated(): Boolean =
@@ -119,7 +122,7 @@
         session.resources.resolve_dependencies(models.values, PIDE.editor.document_required())
 
       val aux_files =
-        if (session.resources.auto_resolve) {
+        if (session.auto_resolve) {
           session.stable_tip_version(models.values) match {
             case Some(version) => session.resources.undefined_blobs(version)
             case None => delay_load.invoke(); Nil