diff options
author | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-24 17:56:29 +0100 |
---|---|---|
committer | Robin Haberkorn <robin.haberkorn@googlemail.com> | 2012-11-24 17:56:29 +0100 |
commit | fad826dcfe095d57aa5faf6cc8a863069f65b0d6 (patch) | |
tree | 729df2493b9a56a023ac04868bb5069451e27f45 /parser.h | |
parent | 0e536bd36250419698fe884d01d5997581241d93 (diff) | |
download | sciteco-fad826dcfe095d57aa5faf6cc8a863069f65b0d6.tar.gz |
allow symbolic names (symbols) being specified for the scintilla (ES) command
* new syntax is <[lParam,[wParam,[msg]]]>ES[msg[,wParam[,lParam]]]$[lParam string]$
* symbols are matched case-insensitive, the leading SCI_ for message symbols may be omitted
* added support for more multiple string arguments (for commands in general)
* fixed "C conditional: succeeds for every alpanumeric character, dot, dollar or underscore
* added SCLEX_ and SCE_ constants as symbols
* updated teco.ini: using symbolic names is preferred since that way code does not depend on the current Scintilla version
Diffstat (limited to 'parser.h')
-rw-r--r-- | parser.h | 33 |
1 files changed, 22 insertions, 11 deletions
@@ -117,10 +117,12 @@ class StateExpectString : public State { gint nesting; bool string_building; + bool last; public: - StateExpectString(bool _building = true) - : State(), nesting(1), string_building(_building) {} + StateExpectString(bool _building = true, bool _last = true) + : State(), nesting(1), + string_building(_building), last(_last) {} private: gchar *machine_input(gchar key) throw (Error); @@ -202,7 +204,15 @@ private: State *custom(gchar chr) throw (Error); }; -class StateScintilla : public StateExpectString { +class StateScintilla_symbols : public StateExpectString { +public: + StateScintilla_symbols() : StateExpectString(true, false) {} + +private: + State *done(const gchar *str) throw (Error); +}; + +class StateScintilla_lParam : public StateExpectString { private: State *done(const gchar *str) throw (Error); }; @@ -241,14 +251,15 @@ private: }; namespace States { - extern StateStart start; - extern StateControl control; - extern StateFlowCommand flowcommand; - extern StateCondCommand condcommand; - extern StateECommand ecommand; - extern StateScintilla scintilla; - extern StateInsert insert; - extern StateSearch search; + extern StateStart start; + extern StateControl control; + extern StateFlowCommand flowcommand; + extern StateCondCommand condcommand; + extern StateECommand ecommand; + extern StateScintilla_symbols scintilla_symbols; + extern StateScintilla_lParam scintilla_lparam; + extern StateInsert insert; + extern StateSearch search; extern State *current; } |