* lisp/progmodes/ruby-mode.el (ruby-font-lock-keywords): For built-ins
that require arguments, check that they're followed by something that
looks like argument.
`:' before binary operators (bug#16609). Don't check for `:'
before `[' and `(', or their syntax status. A percent literal
can't end with either.
+ (ruby-font-lock-keywords): For built-ins that require arguments,
+ check that they're followed by something that looks like argument
+ (bug#16610).
2014-02-01 Lars Ingebrigtsen <larsi@gnus.org>
"yield")
'symbols))
(1 font-lock-keyword-face))
- ;; Some core methods.
+ ;; Core methods that have required arguments.
(,(concat
ruby-font-lock-keyword-beg-re
(regexp-opt
'( ;; built-in methods on Kernel
- "__callee__"
- "__dir__"
- "__method__"
- "abort"
"at_exit"
"autoload"
"autoload?"
- "binding"
- "block_given?"
- "caller"
"catch"
"eval"
"exec"
- "exit"
- "exit!"
- "fail"
"fork"
"format"
"lambda"
"proc"
"putc"
"puts"
- "raise"
- "rand"
- "readline"
- "readlines"
"require"
"require_relative"
- "sleep"
"spawn"
"sprintf"
- "srand"
"syscall"
"system"
- "throw"
"trap"
"warn"
;; keyword-like private methods on Module
"refine"
"using")
'symbols))
+ (1 (unless (looking-at " *\\(?:[]|,.)}]\\|$\\)")
+ font-lock-builtin-face)))
+ ;; Kernel methods that have no required arguments.
+ (,(concat
+ ruby-font-lock-keyword-beg-re
+ (regexp-opt
+ '("__callee__"
+ "__dir__"
+ "__method__"
+ "abort"
+ "at_exit"
+ "binding"
+ "block_given?"
+ "caller"
+ "exit"
+ "exit!"
+ "fail"
+ "raise"
+ "rand"
+ "readline"
+ "readlines"
+ "sleep"
+ "srand"
+ "throw")
+ 'symbols))
(1 font-lock-builtin-face))
;; Here-doc beginnings.
(,ruby-here-doc-beg-re