David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 1 | ## Here is an example for Ruby. |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 2 | |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 3 | syntax "ruby" "\.rb$" |
Benno Schulenberg | edabd27 | 2014-09-21 15:29:40 +0000 | [diff] [blame] | 4 | header "^#!.*ruby[-0-9._]*" |
Benno Schulenberg | 3de2c70 | 2015-04-18 11:35:23 +0000 | [diff] [blame] | 5 | linter ruby -w -c |
Mike Scalora | 6a2032f | 2016-05-25 22:13:50 +0200 | [diff] [blame] | 6 | comment "#" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 7 | |
Benno Schulenberg | ed2f0b3 | 2015-02-21 10:34:15 +0000 | [diff] [blame] | 8 | # Reserved words. |
| 9 | color yellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module)\>" |
| 10 | color yellow "\<(next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 11 | # Constants. |
David Lawrence Ramsey | c2e585e | 2006-07-07 13:54:38 +0000 | [diff] [blame] | 12 | color brightblue "(\$|@|@@)?\<[A-Z]+[0-9A-Z_a-z]*" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 13 | # Ruby "symbols". |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 14 | icolor magenta "([ ]|^):[0-9A-Z_]+\>" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 15 | # Some unique things we want to stand out. |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 16 | color brightyellow "\<(__FILE__|__LINE__)\>" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 17 | # Regular expressions. |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 18 | color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 19 | # Shell command expansion is in `backticks` or like %x{this}. These are |
| 20 | # "double-quotish" (to use a perlism). |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 21 | color brightblue "`[^`]*`" "%x\{[^}]*\}" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 22 | # Strings, double-quoted. |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 23 | color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 24 | # Expression substitution. These go inside double-quoted strings, |
| 25 | # "like #{this}". |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 26 | color brightgreen "#\{[^}]*\}" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 27 | # Strings, single-quoted. |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 28 | color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 29 | # Comments. |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 30 | color cyan "#[^{].*$" "#$" |
| 31 | color brightcyan "##[^{].*$" "##$" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 32 | # "Here" docs. |
David Lawrence Ramsey | 9368217 | 2006-06-08 12:49:57 +0000 | [diff] [blame] | 33 | color green start="<<-?'?EOT'?" end="^EOT" |
Benno Schulenberg | fe9da94 | 2014-05-16 20:21:34 +0000 | [diff] [blame] | 34 | # Some common markers. |
David Lawrence Ramsey | 5e6434c | 2006-06-01 17:23:28 +0000 | [diff] [blame] | 35 | color brightcyan "(XXX|TODO|FIXME|\?\?\?)" |