diff options
Diffstat (limited to 'lisp/progmodes/ruby-mode.el')
-rw-r--r-- | lisp/progmodes/ruby-mode.el | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 09338860c75..df07083eaef 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -2193,8 +2193,9 @@ See `font-lock-syntax-table'.") ;; Constants. ("\\(?:\\_<\\|::\\)\\([A-Z]+\\(\\w\\|_\\)*\\)" 1 (unless (eq ?\( (char-after)) font-lock-type-face)) - ("\\(^\\s *\\|[[{(,]\\s *\\|\\sw\\s +\\)\\(\\(\\sw\\|_\\)+\\):[^:]" - (2 font-lock-constant-face)) + ;; Ruby 1.9-style symbol hash keys. + ("\\(?:^\\s *\\|[[{(,]\\s *\\|\\sw\\s +\\)\\(\\(\\sw\\|_\\)+:\\)[^:]" + (1 (progn (forward-char -1) font-lock-constant-face))) ;; Conversion methods on Kernel. (,(concat ruby-font-lock-keyword-beg-re (regexp-opt '("Array" "Complex" "Float" "Hash" @@ -2257,9 +2258,10 @@ See `font-lock-syntax-table'.") ;;;###autoload (add-to-list 'auto-mode-alist - (cons (purecopy (concat "\\(?:\\." - "rb\\|ru\\|rake\\|thor" + (cons (purecopy (concat "\\(?:\\.\\(?:" + "rbw?\\|ru\\|rake\\|thor" "\\|jbuilder\\|rabl\\|gemspec\\|podspec" + "\\)" "\\|/" "\\(?:Gem\\|Rake\\|Cap\\|Thor" "\\|Puppet\\|Berks" |