src/Pure/Isar/isar.scala
author wenzelm
Sat, 29 Aug 2009 10:50:04 +0200
changeset 32448 a89f876731c5
parent 31797 203d5e61e3bc
child 32474 0818e6b1c8a6
permissions -rw-r--r--
moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala; renamed object IsabelleSyntax to Isabelle_Syntax;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
28305
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     1
/*  Title:      Pure/Isar/isar.scala
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     2
    Author:     Makarius
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     3
29313
6852248da4b4 Isar.command: plain Position.id;
wenzelm
parents: 29192
diff changeset
     4
Isar document model.
28305
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     5
*/
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     6
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     7
package isabelle
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     8
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     9
31797
203d5e61e3bc renamed IsabelleProcess to Isabelle_Process;
wenzelm
parents: 29313
diff changeset
    10
class Isar(isabelle_system: Isabelle_System,
203d5e61e3bc renamed IsabelleProcess to Isabelle_Process;
wenzelm
parents: 29313
diff changeset
    11
    results: EventBus[Isabelle_Process.Result], args: String*)
203d5e61e3bc renamed IsabelleProcess to Isabelle_Process;
wenzelm
parents: 29313
diff changeset
    12
  extends Isabelle_Process(isabelle_system, results, args: _*)
29192
082ee2a01a6d explicit EventBus for results;
wenzelm
parents: 29174
diff changeset
    13
{
28305
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    14
  /* basic editor commands */
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    15
29313
6852248da4b4 Isar.command: plain Position.id;
wenzelm
parents: 29192
diff changeset
    16
  def create_command(id: String, text: String) =
32448
a89f876731c5 moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala;
wenzelm
parents: 31797
diff changeset
    17
    output_sync("Isar.command " + Isabelle_Syntax.encode_string(id) + " " +
a89f876731c5 moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala;
wenzelm
parents: 31797
diff changeset
    18
      Isabelle_Syntax.encode_string(text))
28305
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    19
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    20
  def insert_command(prev: String, id: String) =
32448
a89f876731c5 moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala;
wenzelm
parents: 31797
diff changeset
    21
    output_sync("Isar.insert " + Isabelle_Syntax.encode_string(prev) + " " +
a89f876731c5 moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala;
wenzelm
parents: 31797
diff changeset
    22
      Isabelle_Syntax.encode_string(id))
28305
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    23
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    24
  def remove_command(id: String) =
32448
a89f876731c5 moved Pure/Tools/isabelle_syntax.scala to Pure/System/isabelle_syntax.scala;
wenzelm
parents: 31797
diff changeset
    25
    output_sync("Isar.remove " + Isabelle_Syntax.encode_string(id))
28305
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    26
}