aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/parser.cpp
diff options
context:
space:
mode:
authorRobin Haberkorn <robin.haberkorn@googlemail.com>2016-02-26 02:02:50 +0100
committerRobin Haberkorn <robin.haberkorn@googlemail.com>2016-11-18 07:05:52 +0100
commite7867fb0d9979c550e6e3d7597ece73b680c4af6 (patch)
treedc7a273abc5dd75ecdd94bc62419cd966f38b6d0 /src/parser.cpp
parentc0fe49457d37e4c51cd4fd829895a60ae24bc8af (diff)
downloadsciteco-e7867fb0d9979c550e6e3d7597ece73b680c4af6.tar.gz
implemented self-documenting (online) help system
* the new "?" (help) command can be used to look up help topics. * help topics are index from $SCITECOPATH/women/*.woman.tec files. * looking up a help topic opens the corresponding "womanpage" and jumps to the position of the topic (it acts like an anchor into the document). * styling is performed by *.woman.tec files. * Setting up the Scintilla view and munging the *.tec file is performed by the new "woman.tes" lexer. On supporting UIs (Gtk), womanpages are shown in a variable-width font. * Woman pages are usually not hand-written, but generated from manpages. A special Groff post-processor grosciteco has been introduced for this purpose. It is much like grotty, but can output SciTECO macros for styling the document (ie. the *.woman.tec files). It is documented in its own man-page. * grosciteco also introduces sciteco.tmac - special Troff macros for controlling the formatting of the document in SciTECO. It also defines .SCITECO_TOPIC which can be used to mark up help topics/terms in Troff markup. * Woman pages are generated/formatted by grosciteco at compile-time, so they will work on platforms without Groff (ie. as on windows). * Groff has been added as a hard compile-time requirement. * The sciteco(1) and sciteco(7) man pages have been augmented with help topic anchors.
Diffstat (limited to 'src/parser.cpp')
-rw-r--r--src/parser.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/parser.cpp b/src/parser.cpp
index 97822e7..00ebaee 100644
--- a/src/parser.cpp
+++ b/src/parser.cpp
@@ -40,6 +40,7 @@
#include "search.h"
#include "spawn.h"
#include "glob.h"
+#include "help.h"
#include "cmdline.h"
#include "ioview.h"
#include "error.h"
@@ -687,6 +688,7 @@ StateStart::StateStart() : State()
transitions['"'] = &States::condcommand;
transitions['E'] = &States::ecommand;
transitions['I'] = &States::insert_building;
+ transitions['?'] = &States::gethelp;
transitions['S'] = &States::search;
transitions['N'] = &States::searchall;