--- a/src/Tools/jEdit/plugin/actions.xml Sat Jan 10 17:33:21 2009 +0100
+++ b/src/Tools/jEdit/plugin/actions.xml Sat Jan 10 17:59:23 2009 +0100
@@ -16,7 +16,7 @@
</ACTION>
<ACTION NAME="isabelle.activate">
<CODE>
- isabelle.jedit.Isabelle.plugin().install(view);
+ isabelle.jedit.Isabelle.plugin().switch_active(view);
</CODE>
<IS_SELECTED>
return isabelle.jedit.Isabelle.plugin().is_active(view.getBuffer());
--- a/src/Tools/jEdit/src/jedit/Plugin.scala Sat Jan 10 17:33:21 2009 +0100
+++ b/src/Tools/jEdit/src/jedit/Plugin.scala Sat Jan 10 17:59:23 2009 +0100
@@ -94,8 +94,11 @@
}
}
- def prover_setup(buffer: JEditBuffer): Option[ProverSetup] = mapping.get(buffer)
- def is_active(buffer: JEditBuffer) = mapping.isDefinedAt(buffer)
+ def prover_setup (buffer : JEditBuffer) : Option[ProverSetup] = mapping.get(buffer)
+ def is_active (buffer : JEditBuffer) = mapping.isDefinedAt(buffer)
+ def switch_active (view : View) = mapping.get(view.getBuffer) match {
+ case None => install(view)
+ case _ => uninstall(view)}
// main plugin plumbing
--- a/src/Tools/jEdit/src/jedit/ProverSetup.scala Sat Jan 10 17:33:21 2009 +0100
+++ b/src/Tools/jEdit/src/jedit/ProverSetup.scala Sat Jan 10 17:59:23 2009 +0100
@@ -79,7 +79,8 @@
}
def deactivate {
- //TODO: clean up!
+ theory_view.deactivate
+ prover.stop
}
}