7 # Asciibetical list of reserved words
8 - statement: "\\b(BEGIN|END|abstract|alias|and|begin|break|case|class|def|defined\\?|do|else|elsif|end|ensure|enum|false|for|fun|if|in|include|lib|loop|macro|module|next|nil|not|of|or|pointerof|private|protected|raise|redo|require|rescue|retry|return|self|sizeof|spawn|struct|super|then|true|type|undef|union|uninitialized|unless|until|when|while|yield)\\b"
10 - constant: "(\\$|@|@@)?\\b[A-Z]+[0-9A-Z_a-z]*"
11 - constant.number: "\\b[0-9]+\\b"
13 - constant: "([ ]|^):[0-9A-Z_]+\\b"
14 # Some unique things we want to stand out
15 - constant: "\\b(__FILE__|__LINE__)\\b"
17 - constant: "/([^/]|(\\\\/))*/[iomx]*|%r\\{([^}]|(\\\\}))*\\}[iomx]*"
19 # Shell command expansion is in `backticks` or like %x{this}. These are
20 # "double-quotish" (to use a perlism).
21 - constant.string: "`[^`]*`|%x\\{[^}]*\\}"
38 - constant.specialChar: "\\\\."
39 - special: "#\\{[^}]*\\}"
46 - constant.specialChar: "\\\\."
52 - todo: "(TODO|XXX|FIXME):?"
58 - todo: "(TODO|XXX|FIXME):?"