diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-11 10:23:39 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-11 10:23:39 +0100 |
commit | 8c6c6afe144adca0635edd0438b9889b3c3df6e4 (patch) | |
tree | 09d486b60b130861211e5cb42a4d7c8d9b9514f1 /parser.h | |
parent | 54c58efbcdef773475508d982431a0a8ae215e3d (diff) | |
download | sciteco-8c6c6afe144adca0635edd0438b9889b3c3df6e4.tar.gz |
automatic support for string building characters
* also improved <n>I...$ insertion of chars from stack
Diffstat (limited to 'parser.h')
-rw-r--r-- | parser.h | 24 |
1 files changed, 24 insertions, 0 deletions
@@ -45,10 +45,34 @@ protected: * string building commands and accumulation into a string */ class StateExpectString : public State { + struct Machine { + enum State { + STATE_START, + STATE_ESCAPED, + STATE_LOWER, + STATE_UPPER, + STATE_CTL_E, + STATE_CTL_EQ, + STATE_CTL_EU + } state; + + enum Mode { + MODE_NORMAL, + MODE_UPPER, + MODE_LOWER + } mode; + + bool toctl; + + Machine() : state(STATE_START), + mode(MODE_NORMAL), toctl(false) {} + } machine; + public: StateExpectString() : State() {} private: + gchar *machine_input(gchar key); State *custom(gchar chr); protected: |