src/Pure/Isar/isar.scala
author ballarin
Fri, 19 Dec 2008 16:39:23 +0100
changeset 29249 4dc278c8dc59
parent 28305 5097b8c0f59f
child 29140 e7ac5bb20aed
permissions -rw-r--r--
All logics ported to new locales.
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
    ID:         $Id$
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     3
    Author:     Makarius
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     4
    Options:    :folding=explicit:collapseFolds=1:
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     5
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     6
Isar toplevel editor model.
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     7
*/
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     8
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
     9
package isabelle
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    10
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    11
import java.util.Properties
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    12
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    13
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    14
class Isar(args: String*) extends IsabelleProcess(args: _*) {
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    15
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    16
  /* basic editor commands */
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    17
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    18
  def create_command(props: Properties, text: String) =
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    19
    output_sync("Isar.command " + IsabelleSyntax.encode_properties(props) + " " +
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    20
      IsabelleSyntax.encode_string(text))
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    21
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    22
  def insert_command(prev: String, id: String) =
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    23
    output_sync("Isar.insert " + IsabelleSyntax.encode_string(prev) + " " +
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    24
      IsabelleSyntax.encode_string(id))
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    25
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    26
  def remove_command(id: String) =
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    27
    output_sync("Isar.remove " + IsabelleSyntax.encode_string(id))
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    28
5097b8c0f59f Isar toplevel editor model.
wenzelm
parents:
diff changeset
    29
}