add ':set prompt' command
[ghc-hetmet.git] / ghc / docs / users_guide / ghci.xml
index cac0e11..786815d 100644 (file)
@@ -59,11 +59,13 @@ Prelude>
    :set <option> ...          set options
    :set args <arg> ...        set the arguments returned by System.getArgs
    :set prog <progname>       set the value returned by System.getProgName
-
+   :set prompt <prompt>       set the prompt used in GHCi
    :show modules              show the currently loaded modules
    :show bindings             show the current bindings made at the prompt
 
-   :tags -e|-c                create tags file for Vi (-c) or Emacs (-e)
+   :ctags [<file>]            create tags file for Vi (default: "tags")
+   :etags [<file>]            create tags file for Emacs (defauilt: "TAGS")
    :type <expr>               show the type of <expr>
    :kind <type>               show the kind of <type>
    :undef <cmd>               undefine user-defined command :<cmd>
@@ -707,7 +709,8 @@ Wed Mar 14 12:23:13 GMT 2001
    At the GHCi prompt, the second and third rules are relaxed as follows
    (differences italicised):
        <itemizedlist>
-           <listitem><para> <emphasis>Any</emphasis> of the classes <literal>Ci</literal> is standard.</para></listitem>
+           <listitem><para> <emphasis>All</emphasis> of the classes
+           <literal>Ci</literal> are single-parameter type classes.</para></listitem>
            <listitem><para> At least one of the classes <literal>Ci</literal> is
            numeric, <emphasis>or is <literal>Show</literal>, 
                <literal>Eq</literal>, or <literal>Ord</literal></emphasis>.</para></listitem>
@@ -1094,7 +1097,7 @@ Prelude> :. cmds.ghci
       <varlistentry>
        <term>
           <literal>:set</literal> <literal>args</literal> <replaceable>arg</replaceable> ...
-          <indexterm><primary><literal>:set</literal></primary></indexterm>
+          <indexterm><primary><literal>:set args</literal></primary></indexterm>
         </term>
        <listitem>
          <para>Sets the list of arguments which are returned when the
@@ -1106,7 +1109,7 @@ Prelude> :. cmds.ghci
       <varlistentry>
        <term>
            <literal>:set</literal> <literal>prog</literal> <replaceable>prog</replaceable>
-           <indexterm><primary><literal>:set</literal></primary></indexterm>
+           <indexterm><primary><literal>:set prog</literal></primary></indexterm>
         </term>
        <listitem>
          <para>Sets the string to be returned when the program calls
@@ -1117,6 +1120,19 @@ Prelude> :. cmds.ghci
 
       <varlistentry>
        <term>
+           <literal>:set</literal> <literal>prompt</literal> <replaceable>prompt</replaceable>
+        </term>
+       <listitem>
+         <para>Sets the string to be used as the prompt in GHCi.
+         Inside <replaceable>prompt</replaceable>, the sequence
+         <literal>%s</literal> is replaced by the names of the
+         modules currently in scope, and <literal>%%</literal> is
+         replaced by <literal>%</literal>.</para>
+        </listitem>
+      </varlistentry>
+
+      <varlistentry>
+       <term>
           <literal>:show bindings</literal>
           <indexterm><primary><literal>:show bindings</literal></primary></indexterm>
         </term>
@@ -1138,17 +1154,21 @@ Prelude> :. cmds.ghci
 
       <varlistentry>
        <term>
-         <literal>:tags -c|-e</literal>
-         <indexterm><primary><literal>:tags</literal></primary>
+         <literal>:ctags</literal> <optional><replaceable>filename</replaceable></optional>
+         <literal>:etags</literal> <optional><replaceable>filename</replaceable></optional>
+         <indexterm><primary><literal>:etags</literal></primary>
+         </indexterm>
+         <indexterm><primary><literal>:etags</literal></primary>
          </indexterm>
        </term>
        <listitem>
-         <para>Generates a &ldquo;tags&rdquo; file for either Vi-style editors
-           (<literal>-c</literal>) or Emacs-style editors
-           (<literal>-e</literal>).  The file generated will be called
-           <filename>tags</filename> or <filename>TAGS</filename>
-           respectively.</para>
-
+         <para>Generates a &ldquo;tags&rdquo; file for Vi-style editors
+           (<literal>:ctags</literal>) or Emacs-style editors (<literal>etags</literal>).  If
+           no filename is specified, the defaulit <filename>tags</filename> or
+           <filename>TAGS</filename> is
+           used, respectively.  Tags for all the functions, constructors and
+           types in the currently loaded modules are created.  All modules must
+           be interpreted for these commands to work.</para>
           <para>See also <xref linkend="hasktags" />.</para>
        </listitem>
       </varlistentry>