nanorc/ruby.nanorc

35 lines
1.5 KiB
Plaintext
Raw Normal View History

2010-07-29 00:15:43 +02:00
## Here is an example for Ruby.
##
syntax "Ruby" "\.rb$" "Gemfile" "config.ru" "Rakefile" "Capfile" "Vagrantfile"
header "^#!.*/(env +)?ruby( |$)"
2010-07-29 00:15:43 +02:00
## 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
2018-08-09 10:09:19 +02:00
color blue "(\$|@|@@)?\<[A-Z]+[0-9A-Z_a-z]*"
2010-07-29 00:15:43 +02:00
## Ruby "symbols"
icolor magenta "([ ]|^):[0-9A-Z_]+\>"
## Some unique things we want to stand out
2018-08-09 10:09:19 +02:00
color yellow "\<(__FILE__|__LINE__)\>"
2010-07-29 00:15:43 +02:00
## Regular expressions
2018-08-09 10:09:19 +02:00
color magenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*"
2010-07-29 00:15:43 +02:00
## Shell command expansion is in `backticks` or like %x{this}. These are
## "double-quotish" (to use a perlism).
2018-08-09 10:09:19 +02:00
color blue "`[^`]*`" "%x\{[^}]*\}"
2010-07-29 00:15:43 +02:00
## Strings, double-quoted
color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!"
## Expression substitution. These go inside double-quoted strings,
## "like #{this}".
2018-08-09 10:09:19 +02:00
color green "#\{[^}]*\}"
2010-07-29 00:15:43 +02:00
## Strings, single-quoted
color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!"
## Comments
color cyan "#[^{].*$" "#$"
2018-08-09 10:09:19 +02:00
color cyan "##[^{].*$" "##$"
2010-07-29 00:15:43 +02:00
## "Here" docs
color green start="<<-?'?EOT'?" end="^EOT"
## Some common markers
2018-08-09 10:09:19 +02:00
color cyan "(XXX|TODO|FIXME|\?\?\?)"
2016-12-06 22:14:27 +01:00
## Trailing spaces
color ,green "[[:space:]]+$"