32 lines
1.4 KiB
Plaintext
32 lines
1.4 KiB
Plaintext
## Here is an example for Ruby.
|
|
##
|
|
syntax "ruby" "\.rb$"
|
|
header "^#!.*/ruby[-0-9._]*"
|
|
## 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|\?\?\?)"
|