equal
deleted
inserted
replaced
1 /* |
|
2 * IsabelleSKParser.scala |
|
3 * |
|
4 * To change this template, choose Tools | Template Manager |
|
5 * and open the template in the editor. |
|
6 */ |
|
7 |
|
8 package isabelle.prover |
|
9 |
|
10 import isabelle.jedit.{Plugin} |
|
11 import sidekick.{SideKickParser, SideKickParsedData, IAsset} |
|
12 import org.gjt.sp.jedit.{Buffer, ServiceManager} |
|
13 import javax.swing.tree.DefaultMutableTreeNode |
|
14 import errorlist.DefaultErrorSource; |
|
15 |
|
16 class IsabelleSKParser extends SideKickParser("isabelle") { |
|
17 |
|
18 override def parse(b : Buffer, |
|
19 errorSource : DefaultErrorSource) |
|
20 : SideKickParsedData = { |
|
21 Plugin.plugin.prover_setup(b) match { |
|
22 case None => |
|
23 val data = new SideKickParsedData("WARNING:") |
|
24 data.root.add(new DefaultMutableTreeNode("can only parse buffer which is activated via IsabellePlugin -> activate")) |
|
25 data |
|
26 case Some(prover_setup) => |
|
27 val prover = prover_setup.prover |
|
28 val document = prover.document |
|
29 val data = new SideKickParsedData(b.getPath) |
|
30 |
|
31 for(command <- document.commands){ |
|
32 data.root.add(command.root_node.swing_node) |
|
33 } |
|
34 data |
|
35 } |
|
36 } |
|
37 |
|
38 } |
|