equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Main Isabelle/jEdit plugin setup |
2 * Main Isabelle/jEdit plugin setup |
3 * |
3 * |
4 * @author Johannes Hölzl, TU Munich |
4 * @author Johannes Hölzl, TU Munich |
5 * @author Fabian Immler, TU Munich |
5 * @author Fabian Immler, TU Munich |
|
6 * @author Makarius |
6 */ |
7 */ |
7 |
8 |
8 package isabelle.jedit |
9 package isabelle.jedit |
9 |
10 |
10 |
11 |
12 import java.awt.Font |
13 import java.awt.Font |
13 import javax.swing.JScrollPane |
14 import javax.swing.JScrollPane |
14 |
15 |
15 import scala.collection.mutable |
16 import scala.collection.mutable |
16 |
17 |
17 import isabelle.prover.{Prover, Command} |
18 import isabelle.proofdocument.{Command, Proof_Document, Prover} |
18 import isabelle.proofdocument.ProofDocument |
|
19 import isabelle.Isabelle_System |
19 import isabelle.Isabelle_System |
20 |
20 |
21 import org.gjt.sp.jedit.{jEdit, EBMessage, EBPlugin, Buffer, EditPane, ServiceManager, View} |
21 import org.gjt.sp.jedit.{jEdit, EBMessage, EBPlugin, Buffer, EditPane, ServiceManager, View} |
22 import org.gjt.sp.jedit.buffer.JEditBuffer |
22 import org.gjt.sp.jedit.buffer.JEditBuffer |
23 import org.gjt.sp.jedit.textarea.JEditTextArea |
23 import org.gjt.sp.jedit.textarea.JEditTextArea |
96 def selected_state_=(state: Command) { _selected_state = state; state_update.event(state) } |
96 def selected_state_=(state: Command) { _selected_state = state; state_update.event(state) } |
97 |
97 |
98 |
98 |
99 /* mapping buffer <-> prover */ |
99 /* mapping buffer <-> prover */ |
100 |
100 |
101 private val mapping = new mutable.HashMap[JEditBuffer, ProverSetup] |
101 private val mapping = new mutable.HashMap[JEditBuffer, Prover_Setup] |
102 |
102 |
103 private def install(view: View) |
103 private def install(view: View) |
104 { |
104 { |
105 val buffer = view.getBuffer |
105 val buffer = view.getBuffer |
106 val prover_setup = new ProverSetup(buffer) |
106 val prover_setup = new Prover_Setup(buffer) |
107 mapping.update(buffer, prover_setup) |
107 mapping.update(buffer, prover_setup) |
108 prover_setup.activate(view) |
108 prover_setup.activate(view) |
109 } |
109 } |
110 |
110 |
111 private def uninstall(view: View) = |
111 private def uninstall(view: View) = |
113 |
113 |
114 def switch_active (view: View) = |
114 def switch_active (view: View) = |
115 if (mapping.isDefinedAt(view.getBuffer)) uninstall(view) |
115 if (mapping.isDefinedAt(view.getBuffer)) uninstall(view) |
116 else install(view) |
116 else install(view) |
117 |
117 |
118 def prover_setup(buffer: JEditBuffer): Option[ProverSetup] = mapping.get(buffer) |
118 def prover_setup(buffer: JEditBuffer): Option[Prover_Setup] = mapping.get(buffer) |
119 def is_active (buffer: JEditBuffer) = mapping.isDefinedAt(buffer) |
119 def is_active (buffer: JEditBuffer) = mapping.isDefinedAt(buffer) |
120 |
120 |
121 |
121 |
122 /* main plugin plumbing */ |
122 /* main plugin plumbing */ |
123 |
123 |