src/Tools/jEdit/README.html
author wenzelm
Wed, 08 Jun 2011 22:06:05 +0200
changeset 43287 acc680ab6204
parent 41628 src/Tools/jEdit/dist-template/README.html@ed4d793f0c26
child 43470 3d42dea16357
permissions -rw-r--r--
simplified directory structure; recovered README.html;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
41628
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
     1
<?xml version="1.0" encoding="UTF-8" ?>
39591
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     2
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     3
<html xmlns="http://www.w3.org/1999/xhtml">
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     4
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     5
<head>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     6
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
39738
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
     7
<title>Notes on the Isabelle/jEdit Prover IDE</title>
39591
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     8
</head>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
     9
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    10
<body>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    11
41628
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    12
<h2>The Isabelle/jEdit Prover IDE</h2>
39591
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    13
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    14
<ul>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    15
39738
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    16
<li>The original jEdit look-and-feel is generally preserved, although
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    17
  some default properties have been changed to accommodate Isabelle
40894
a0f7ebe8f7a7 tuned README;
wenzelm
parents: 39815
diff changeset
    18
  (e.g. the text area font).</li>
39736
e19cece7d18a tuned README;
wenzelm
parents: 39591
diff changeset
    19
39738
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    20
<li>Formal Isabelle/Isar text is checked asynchronously while editing.
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    21
  The user is in full command of the editor, and the prover refrains
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    22
  from locking portions of the buffer etc.</li>
39591
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    23
39738
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    24
<li>Prover feedback works via tooltips, syntax highlighting, colors,
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    25
  boxes etc. based on semantic markup provided by Isabelle in the
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    26
  background.</li>
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    27
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    28
<li>Using the mouse together with the modifier key <tt>C</tt>
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    29
(<tt>CONTROL</tt> on Linux or Windows,
39736
e19cece7d18a tuned README;
wenzelm
parents: 39591
diff changeset
    30
  <tt>COMMAND</tt> on Mac OS) exposes additional information.</li>
e19cece7d18a tuned README;
wenzelm
parents: 39591
diff changeset
    31
39738
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    32
<li>Dockable panels (e.g. <em>Output</em>) are managed as independent
909ee37c34c1 tuned README;
wenzelm
parents: 39736
diff changeset
    33
  windows by jEdit, which also allows multiple instances.</li>
39591
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    34
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    35
</ul>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
    36
41628
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    37
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    38
<h2>Isabelle symbols and fonts</h2>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    39
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    40
<ul>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    41
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    42
  <li>Isabelle supports infinitely many symbols:<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    43
    &alpha;, &beta;, &gamma;, &hellip;<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    44
    &forall;, &exist;, &or;, &and;, &#10230;, &#10231;, &hellip;<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    45
    &le;, &ge;, &#8851;, &#8852;, &hellip;<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    46
    &#8501;, &#9651;, &#8711;, &hellip;<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    47
    <tt>\&lt;foo&gt;</tt>, <tt>\&lt;bar&gt;</tt>, <tt>\&lt;baz&gt;</tt>, &hellip;<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    48
  </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    49
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    50
  <li>A default mapping relates some Isabelle symbols to Unicode points
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    51
    (see <tt>$ISABELLE_HOME/etc/symbols</tt> and <tt>$ISABELLE_HOME_USER/etc/symbols</tt>).
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    52
  </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    53
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    54
  <li>The <em>IsabelleText</em> font ensures that Unicode points are actually
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    55
    seen on the screen (or printer).
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    56
  </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    57
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    58
  <li>Input methods:
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    59
    <ul>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    60
      <li>copy/paste from decoded source files</li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    61
      <li>copy/paste from prover output</li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    62
      <li>completion provided by Isabelle plugin, e.g.<br/>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    63
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    64
      <table border="1">
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    65
      <tr><th><b>name</b></th>    <th><b>abbreviation</b></th>  <th><b>symbol</b></th></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    66
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    67
      <tr><td>lambda</td>         <td></td>                     <td>&lambda;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    68
      <tr><td>Rightarrow</td>     <td><tt>=&gt;</tt></td>       <td>&#8658;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    69
      <tr><td>Longrightarrow</td> <td><tt>==&gt;</tt></td>      <td>&#10233;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    70
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    71
      <tr><td>And</td>            <td><tt>!!</tt></td>          <td>&#8896;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    72
      <tr><td>equiv</td>          <td><tt>==</tt></td>          <td>&equiv;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    73
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    74
      <tr><td>forall</td>         <td><tt>!</tt></td>           <td>&forall;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    75
      <tr><td>exists</td>         <td><tt>?</tt></td>           <td>&exist;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    76
      <tr><td>longrightarrow</td> <td><tt>--&gt;</tt></td>      <td>&#10230;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    77
      <tr><td>and</td>            <td><tt>/\</tt></td>          <td>&and;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    78
      <tr><td>or</td>             <td><tt>\/</tt></td>          <td>&or;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    79
      <tr><td>not</td>            <td><tt>~ </tt></td>          <td>&not;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    80
      <tr><td>noteq</td>          <td><tt>~=</tt></td>          <td>&ne;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    81
      <tr><td>in</td>             <td><tt>:</tt></td>           <td>&isin;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    82
      <tr><td>notin</td>          <td><tt>~:</tt></td>          <td>&notin;</td></tr>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    83
    </table>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    84
    </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    85
  </ul>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    86
  </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    87
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    88
  <li><b>NOTE:</b> The above abbreviations refer to the input method.
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    89
    The logical notation provides ASCII alternatives that often
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    90
    coincide, but deviate occasionally.
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    91
  </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    92
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    93
  <li><b>NOTE:</b> Generic jEdit abbreviations or plugins perform similar
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    94
    source replacement operations; this works for Isabelle as long
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    95
    as the Unicode sequences coincide with the symbol mapping.
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    96
  </li>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    97
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    98
</ul>
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
    99
ed4d793f0c26 improved README -- Isabelle symbols and fonts;
wenzelm
parents: 41538
diff changeset
   100
41538
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   101
<h2>Limitations and workrounds (January 2011)</h2>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   102
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   103
<ul>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   104
  <li>No way to start/stop prover or switch to a different logic.<br/>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   105
  <em>Workaround:</em> Change options and restart editor.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   106
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   107
  <li>Multiple theory buffers cannot depend on each other, imports are
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   108
  resolved via the file-system.<br/>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   109
  <em>Workaround:</em> Save/reload files manually.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   110
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   111
  <li>No reclaiming of old/unused document versions in prover or
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   112
  editor.<br/>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   113
  <em>Workaround:</em> Avoid large files; restart after a few hours of use.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   114
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   115
  <li>Incremental reparsing sometimes produces unexpected command
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   116
  spans.<br/>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   117
  <em>Workaround:</em> Cut/paste larger parts or reload buffer.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   118
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   119
  <li>Command execution sometimes gets stuck (purple background).<br/>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   120
  <em>Workaround:</em> Force reparsing as above.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   121
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   122
  <li>Odd behavior of some diagnostic commands, notably those
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   123
  starting external processes asynchronously
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   124
  (e.g. <tt>thy_deps</tt>, <tt>sledgehammer</tt>).<br/>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   125
  <em>Workaround:</em> Avoid such commands.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   126
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   127
  <li>No support for non-local markup, e.g. commands reporting on
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   128
  previous commands (proof end on proof head), or markup produced by
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   129
  loading external files.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   130
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   131
  <li>General lack of various conveniences known from Proof
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   132
  General.</li>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   133
</ul>
d060ccad02bd updated Isabelle/jEdit limitations and workarounds;
wenzelm
parents: 40894
diff changeset
   134
39591
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
   135
</body>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
   136
</html>
a43a723753e6 more content for Session_Dockable;
wenzelm
parents:
diff changeset
   137