equal
deleted
inserted
replaced
1 /* Title: Tools/jEdit/src/jedit/plugin.scala |
1 /* Title: Tools/jEdit/src/jedit/plugin.scala |
2 Author: Johannes Hölzl, TU Munich |
|
3 Author: Fabian Immler, TU Munich |
|
4 Author: Makarius |
2 Author: Makarius |
5 |
3 |
6 Main Isabelle/jEdit plugin setup. |
4 Main Isabelle/jEdit plugin setup. |
7 */ |
5 */ |
8 |
6 |
28 { |
26 { |
29 /* plugin instance */ |
27 /* plugin instance */ |
30 |
28 |
31 var system: Isabelle_System = null |
29 var system: Isabelle_System = null |
32 var session: Session = null |
30 var session: Session = null |
33 |
|
34 |
|
35 /* name */ |
|
36 |
|
37 val NAME = "Isabelle" |
|
38 |
31 |
39 |
32 |
40 /* properties */ |
33 /* properties */ |
41 |
34 |
42 val OPTION_PREFIX = "options.isabelle." |
35 val OPTION_PREFIX = "options.isabelle." |
108 } |
101 } |
109 modes ++ List(logic) |
102 modes ++ List(logic) |
110 } |
103 } |
111 |
104 |
112 |
105 |
113 /* main jEdit components */ // FIXME ownership!? |
106 /* main jEdit components */ |
114 |
107 |
115 def jedit_buffers(): Iterator[Buffer] = jEdit.getBuffers().iterator |
108 def jedit_buffers(): Iterator[Buffer] = jEdit.getBuffers().iterator |
116 |
109 |
117 def jedit_views(): Iterator[View] = jEdit.getViews().iterator |
110 def jedit_views(): Iterator[View] = jEdit.getViews().iterator |
118 |
111 |
147 case dockable: Protocol_Dockable => Some(dockable) |
140 case dockable: Protocol_Dockable => Some(dockable) |
148 case _ => None |
141 case _ => None |
149 } |
142 } |
150 |
143 |
151 |
144 |
152 /* manage prover */ |
145 /* manage prover */ // FIXME async!? |
153 |
146 |
154 private def prover_started(view: View): Boolean = |
147 private def prover_started(view: View): Boolean = |
155 { |
148 { |
156 val timeout = Int_Property("startup-timeout") max 1000 |
149 val timeout = Int_Property("startup-timeout") max 1000 |
157 session.start(timeout, Isabelle.isabelle_args()) match { |
150 session.started(timeout, Isabelle.isabelle_args()) match { |
158 case Some(err) => |
151 case Some(err) => |
159 val text = new JTextArea(err); text.setEditable(false) |
152 val text = new JTextArea(err); text.setEditable(false) |
160 Library.error_dialog(view, null, "Failed to start Isabelle process", text) |
153 Library.error_dialog(view, null, "Failed to start Isabelle process", text) |
161 false |
154 false |
162 case None => true |
155 case None => true |