7 # Asciibetical list of reserved words
8 - statement: "\\b(abstract|alias|as|asm|begin|break|case|class|def|do|else|elsif|end|ensure|enum|extend|for|fun|if|in|include|instance_sizeof|lib|loop|macro|module|next|of|out|pointerof|private|protected|raise|require|rescue|return|select|self|sizeof|spawn|struct|super|then|type|typeof|uninitialized|union|unless|until|verbatim|when|while|with|yield)\\b"
10 - constant: "\\b(true|false|nil)\\b"
11 - constant.number: "\\b[0-9]+\\b"
12 # Ones that can't be in the same regex because they include non-words.
13 # The nil? one has to be after the constants.
14 - statement: "\\b(nil\\?|as(\\?|\\b)|is_a\\?|responds_to\\?)"
15 - type: "(\\$|@|@@)?\\b[A-Z]+[0-9A-Z_a-z]*"
17 - constant: "([ ]|^):[0-9A-Z_]+\\b"
18 # Some unique things we want to stand out
19 - constant: "\\b(__FILE__|__LINE__)\\b"
21 - constant: "/([^/]|(\\\\/))*/[iomx]*|%r\\{([^}]|(\\\\}))*\\}[iomx]*"
23 # Shell command expansion is in `backticks` or like %x{this}. These are
24 # "double-quotish" (to use a perlism).
25 - constant.string: "`[^`]*`|%x\\{[^}]*\\}"
42 - constant.specialChar: "\\\\."
54 - constant.specialChar: "\\\\."
60 - todo: "(TODO|XXX|FIXME):?"
66 - todo: "(TODO|XXX|FIXME):?"