Hi there, Required keyword arguments (introduced in Ruby 2.1) are being highlighted in alternating colours rather than consistently. I have attached example images showing this behaviour. Note that this only occurs when the the keyword arguments are required, i.e., they don’t have a default value. So, the following method signature would result in the argument colours alternating: def foo(bar:, baz:) end While the following method signature would result in all of the arguments being coloured consistently: def foo(bar: true, baz: false) end Also note that inserting a space before the delimiting comma between the arguments results in consistent colouring: def foo(bar: , baz:) end Please let me know if you need any further information. Thanks very much, Kieran --report-emacs-bug output follows-- In GNU Emacs 24.5.1 (x86_64-apple-darwin13.4.0, NS apple-appkit-1265.21) of 2015-04-11 on builder10-9.porkrind.org Windowing system distributor `Apple', version 10.3.1348 Configured using: `configure --with-ns '--enable-locallisppath=/Library/Application Support/Emacs/${version}/site-lisp:/Library/Application Support/Emacs/site-lisp'' Important settings: value of $LC_CTYPE: value of $LANG: locale-coding-system: utf-8 Major mode: Ruby Minor modes in effect: global-git-commit-mode: t async-bytecomp-package-mode: t global-flycheck-mode: t flycheck-mode: t rspec-verifiable-mode: t subword-mode: t robe-mode: t eldoc-mode: t highlight-symbol-nav-mode: t highlight-symbol-mode: t diff-hl-mode: t diff-auto-refine-mode: t bug-reference-prog-mode: t paredit-everywhere-mode: t goto-address-prog-mode: t auto-compile-on-load-mode: t auto-compile-on-save-mode: t ipretty-mode: t global-rinari-mode: t rinari-minor-mode: t inf-ruby-minor-mode: t shell-dirtrack-mode: t guide-key-mode: t hes-mode: t global-page-break-lines-mode: t page-break-lines-mode: t delete-selection-mode: t cua-mode: t show-paren-mode: t global-undo-tree-mode: t undo-tree-mode: t global-whitespace-cleanup-mode: t whitespace-cleanup-mode: t global-auto-revert-mode: t electric-pair-mode: t savehist-mode: t desktop-save-mode: t winner-mode: t global-auto-complete-mode: t auto-complete-mode: t ido-ubiquitous-mode: t ido-everywhere: t recentf-mode: t global-anzu-mode: t anzu-mode: t tooltip-mode: t electric-indent-mode: t mouse-wheel-mode: t global-prettify-symbols-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Recent messages: (No files need saving) is undefined byte-code: Beginning of buffer [5 times] Auto-saving...done Auto-saving...done Auto-saving...done user-error: No further undo information (No changes need to be saved) Quit End of buffer Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug sendmail term ehelp magit-blame magit-stash magit-bisect magit-remote magit-commit magit-sequence magit magit-apply magit-wip magit-log magit-diff smerge-mode magit-core magit-process magit-popup magit-mode magit-git crm magit-section magit-utils git-commit log-edit message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log with-editor async-bytecomp async tramp-sh wgrep-ag wgrep grep vc-hg ag find-dired ac-robe ace-jump-mode tabify dash-at-point ac-inf-ruby face-remap align landmark smex mc-mark-more multiple-cursors-core rect executable elisp-slime-nav redshank skeleton aggressive-indent highlight-quoted vc-bzr vc-sccs vc-svn vc-cvs vc-rcs diff-hl-dired org-element org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view image-mode dired-sort dired+ image-dired image-file dired-x dired-aux dired org-bibtex bibtex org-bbdb org-w3m jsx-mode warnings web-mode mmm-sample mmm-mode mmm-univ mmm-class tidy rainbow-mode color json-mode json-reformat json-snatcher yaml-mode rainbow-delimiters mmm-erb mmm-region mmm-utils tagedit sgml-mode js2-imenu-extras js2-mode js2-old-indent js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs linum disp-table vc-git vc-darcs xml flycheck-clojure cider-client nrepl-client tramp tramp-compat tramp-loaddefs trampver queue cider-util clojure-mode flycheck-package lisp-mnt flycheck-hdevtools flycheck subr-x flymake rspec-mode superword subword robe eldoc url-http tls url-auth mail-parse rfc2231 rfc2047 rfc2045 ietf-drums url-gw url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source gnus-util mm-util mail-prsvr password-cache url-vars mailcap etags highlight-symbol diff-hl vc-dir ewoc vc vc-dispatcher diff-mode bug-reference paredit-everywhere paredit goto-addr init init-locales init-local session sanityinc-tomorrow-eighties-theme color-theme-sanityinc-tomorrow server jka-compr init-ledger init-dash init-misc init-common-lisp init-clojure-cider init-clojure init-slime init-lisp cl-lib-highlight auto-compile packed ipretty pp init-paredit init-sql init-rails rinari json jump inflections findr ruby-compilation which-func imenu inf-ruby compile ruby-mode smie init-ruby-mode derived init-haskell init-python-mode init-haml init-css init-html init-nxml init-org ob-sqlite ob-sh shell ob-ruby ob-python ob-octave ob-ledger ob-latex ob-gnuplot ob-dot ob-ditaa ob-R org-clock org org-macro org-footnote org-pcomplete pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint comint ansi-color ob-core ob-eval org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs init-php init-javascript easy-mmode init-erlang erlang-start init-csv init-markdown init-textile init-crontab init-compile init-github init-git init-darcs init-vc init-editing-utils guide-key s ucs-normalize popwin dash highlight-escape-sequences whole-line-or-region page-break-lines delsel cua-base paren undo-tree diff whitespace-cleanup-mode whitespace autorevert filenotify elec-pair init-mmm mmm-auto mmm-vars mmm-compat init-fonts init-sessions savehist desktop frameset init-windows switch-window quail help-mode winner ring init-auto-complete auto-complete-config auto-complete popup init-hippie-expand init-ido ido-ubiquitous ido-completing-read+ ido init-recentf recentf tree-widget wid-edit init-flycheck init-ibuffer ibuf-macs init-uniquify init-grep init-isearch diminish anzu mule-util thingatpt init-dired init-proxies init-gui-frames init-osx-keys edmacro kmacro init-themes init-xterm init-frame-hooks init-exec-path exec-path-from-shell init-elpa fullframe eieio byte-opt bytecomp byte-compile cl-extra cconv eieio-core rx cl-macs slime-autoloads info easymenu package epg-config init-site-lisp cl gv cl-loaddefs cl-lib init-utils init-compat init-benchmarking advice help-fns time-date tooltip electric uniquify ediff-hook vc-hooks lisp-float-type mwheel ns-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process cocoa ns multi-tty emacs) Memory information: ((conses 16 753436 85819) (symbols 48 57910 0) (miscs 40 23901 5918) (strings 32 172559 22772) (string-bytes 1 4657766) (vectors 16 85104) (vector-slots 8 1922389 141622) (floats 8 893 3334) (intervals 56 11310 257) (buffers 960 121))