123456789101112131415161718192021222324252627282930313233 |
- ## Here is an example for Ruby.
- ##
- syntax "ruby" "\.rb$" "Gemfile" "config.ru" "Rakefile" "Capfile" "Vagrantfile"
- header "^#!.*/(env +)?ruby( |$)"
- ## Asciibetical list of reserved words
- color yellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>"
- ## Constants
- color brightblue "(\$|@|@@)?\<[A-Z]+[0-9A-Z_a-z]*"
- ## Ruby "symbols"
- icolor magenta "([ ]|^):[0-9A-Z_]+\>"
- ## Some unique things we want to stand out
- color brightyellow "\<(__FILE__|__LINE__)\>"
- ## Regular expressions
- color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*"
- ## Shell command expansion is in `backticks` or like %x{this}. These are
- ## "double-quotish" (to use a perlism).
- color brightblue "`[^`]*`" "%x\{[^}]*\}"
- ## Strings, double-quoted
- color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!"
- ## Expression substitution. These go inside double-quoted strings,
- ## "like #{this}".
- color brightgreen "#\{[^}]*\}"
- ## Strings, single-quoted
- color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!"
- ## Comments
- color cyan "#[^{].*$" "#$"
- color brightcyan "##[^{].*$" "##$"
- ## "Here" docs
- color green start="<<-?'?EOT'?" end="^EOT"
- ## Some common markers
- color brightcyan "(XXX|TODO|FIXME|\?\?\?)"
|