33 lines
973 B
Plaintext
33 lines
973 B
Plaintext
preproc = "require"
|
|
|
|
include "number.lang"
|
|
|
|
string delim "\"" "\"" escape "\\"
|
|
string delim "'" "'" escape "\\"
|
|
string delim "<" ">"
|
|
regexp = '/[^\n]*/'
|
|
(symbol,regexp) = `(%r)(\{(?:\\\}|#\{[[:alnum:]]+\}|[^}])*\})`
|
|
|
|
keyword = "alias|begin|BEGIN|break|case|defined|do|else|elsif|end|END|ensure|for|if|in|include|loop|next|raise|redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield|false|nil|self|true|__FILE__|__LINE__|and|not|or|def|class|module|catch|fail|load|throw"
|
|
|
|
comment delim '(^\=begin)' '^(\=end)' multiline
|
|
|
|
type = '(\$[#]?|@@|@)([[:word:]]+|\'|\"|/)'
|
|
|
|
# don't highlight ? and ! as symbols if they are part of a method call
|
|
normal = '[[:alnum:]]+(\?|!)'
|
|
|
|
include "symbols.lang"
|
|
|
|
# for variable interpolation, #{ is not a comment
|
|
(symbol,cbracket) = `(#)(\{)`
|
|
|
|
include "script_comment.lang"
|
|
|
|
cbracket = "{|}"
|
|
|
|
# no function highlighting for Ruby, since a method invocation
|
|
# can be written even without parenthesis
|
|
# include "function.lang"
|
|
|