aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/goto.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2013-03-01 03:46:37 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2013-03-16 18:07:31 +0100
commitedfeae5fa832f68ce40eb098b22b1ebd6ba7e449 (patch)
tree6cbc45eda92c8c0402c6a3b3e7b562ceb3e81317 /src/goto.cpp
parent9fe89a6544eb3dd9b8950abf5421620ec55d18f7 (diff)
downloadsciteco-edfeae5fa832f68ce40eb098b22b1ebd6ba7e449.tar.gz
documented remaining commands
* flow control and other structures have not been documented this ways. I have not yet decided whether they should be documented in separate sections or use the documentation tool.
Diffstat (limited to 'src/goto.cpp')
-rw-r--r--src/goto.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/goto.cpp b/src/goto.cpp
index 4fed38b..4996122 100644
--- a/src/goto.cpp
+++ b/src/goto.cpp
@@ -139,6 +139,32 @@ StateLabel::custom(gchar chr) throw (Error)
return this;
}
+/*$
+ * Olabel$ -- Go to label
+ * [n]Olabel1[,label2,...]$
+ *
+ * Go to <label>.
+ * The simple go-to command is a special case of the
+ * computed go-to command.
+ * A comma-separated list of labels may be specified
+ * in the string argument.
+ * The label to jump to is selected by <n> (1 is <label1>,
+ * 2 is <label2>, etc.).
+ * If <n> is omitted, the sign prefix is implied.
+ *
+ * If the label selected by <n> is does not exist in the
+ * list of labels, the command does nothing.
+ * Label definitions are cached in a table, so that
+ * if the label to go to has already been defined, the
+ * go-to command will jump immediately.
+ * Otherwise, parsing continues until the <label>
+ * is defined.
+ * The command will yield an error if a label has
+ * not been defined when the macro or command-line
+ * is terminated.
+ * In the latter case, the user will not be able to
+ * terminate the command-line.
+ */
State *
StateGotoCmd::done(const gchar *str) throw (Error)
{