]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
authorDmitry Gutov <dgutov@yandex.ru>
Sat, 1 Mar 2014 22:04:59 +0000 (00:04 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Sat, 1 Mar 2014 22:04:59 +0000 (00:04 +0200)
regexp options.

Fixes: debbugs:16914
lisp/ChangeLog
lisp/progmodes/ruby-mode.el
test/indent/ruby.rb

index d3419412ebe34c8cce86e95a665c0cf23e4ef9c2..d25f877a644ed0efa27c9596545989cf5954ba3c 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-01  Dmitry Gutov  <dgutov@yandex.ru>
+
+       * progmodes/ruby-mode.el (ruby-font-lock-keywords): Highlight
+       regexp options.  (Bug#16914)
+
 2014-03-01  Martin Rudalics  <rudalics@gmx.at>
 
        * window.el (window--max-delta-1): Round down when calculating
index 5cd054a22a814e5f30dc6c44cca60dd868245b7e..a5d8285c98e87feaa6df85852483213936e5c123 100644 (file)
@@ -2132,6 +2132,16 @@ See `font-lock-syntax-table'.")
     ;; Character literals.
     ;; FIXME: Support longer escape sequences.
     ("\\_<\\?\\\\?\\S " 0 font-lock-string-face)
+    ;; Regexp options.
+    ("\\(?:\\s|\\|/\\)\\([imxo]+\\)"
+     1 (when (save-excursion
+               (let ((state (syntax-ppss (match-beginning 0))))
+                 (and (nth 3 state)
+                      (or (eq (char-after) ?/)
+                          (progn
+                            (goto-char (nth 8 state))
+                            (looking-at "%r"))))))
+         font-lock-preprocessor-face))
     )
   "Additional expressions to highlight in Ruby mode.")
 
index daec1c30c690cb473db9ac30656ac5fa9340b218..2ca0e48279702029357606e531b7d71cce04286c 100644 (file)
@@ -29,6 +29,10 @@ a = asub / aslb + bsub / bslb;
 # Highlight the regexp after "if".
 x = toto / foo if /do bar/ =~ "dobar"
 
+# Regexp options are highlighted.
+
+/foo/xi != %r{bar}mo.tee
+
 bar(class: XXX) do              # ruby-indent-keyword-label
   foo
 end