summaryrefslogtreecommitdiff
path: root/doc/syntax/ruby.nanorc
blob: b30b229d0b505e2c5d3d1e61c885ed094da7afa1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
## 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|\?\?\?)"