diff options
| -rw-r--r-- | lexers/LexRuby.cxx | 7 | 
1 files changed, 6 insertions, 1 deletions
| diff --git a/lexers/LexRuby.cxx b/lexers/LexRuby.cxx index b0b52fd77..e9b3cfb0e 100644 --- a/lexers/LexRuby.cxx +++ b/lexers/LexRuby.cxx @@ -1285,7 +1285,12 @@ static void ColouriseRbDoc(unsigned int startPos, int length, int initStyle,          } else if (state == SCE_RB_CLASS_VAR                     || state == SCE_RB_INSTANCE_VAR                     || state == SCE_RB_SYMBOL) { -            if (state == SCE_RB_SYMBOL && (ch == '!' || ch == '?') && chNext != '=') { +            if (state == SCE_RB_SYMBOL && +                 // FIDs suffices '?' and '!' +                (((ch == '!' || ch == '?') && chNext != '=') || +                 // identifier suffix '=' +                 (ch == '=' && (chNext != '~' && chNext != '>' && +                               (chNext != '=' || chNext2 == '>'))))) {                  styler.ColourTo(i, state);                  state = SCE_RB_DEFAULT;                  preferRE = false; | 
