Mercurial > yakumo_izuru > aya
diff vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml @ 66:787b5ee0289d draft
Use vendored modules
Signed-off-by: Izuru Yakumo <yakumo.izuru@chaotic.ninja>
author | yakumo.izuru |
---|---|
date | Sun, 23 Jul 2023 13:18:53 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vendor/github.com/alecthomas/chroma/v2/lexers/embedded/ruby.xml Sun Jul 23 13:18:53 2023 +0000 @@ -0,0 +1,723 @@ +<lexer> + <config> + <name>Ruby</name> + <alias>rb</alias> + <alias>ruby</alias> + <alias>duby</alias> + <filename>*.rb</filename> + <filename>*.rbw</filename> + <filename>Rakefile</filename> + <filename>*.rake</filename> + <filename>*.gemspec</filename> + <filename>*.rbx</filename> + <filename>*.duby</filename> + <filename>Gemfile</filename> + <mime_type>text/x-ruby</mime_type> + <mime_type>application/x-ruby</mime_type> + <dot_all>true</dot_all> + </config> + <rules> + <state name="simple-sym"> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[^\\"#]+"> + <token type="LiteralStringSymbol"/> + </rule> + <rule pattern="[\\#]"> + <token type="LiteralStringSymbol"/> + </rule> + <rule pattern="""> + <token type="LiteralStringSymbol"/> + <pop depth="1"/> + </rule> + </state> + <state name="interpolated-regex"> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="[\\#]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[^\\#]+"> + <token type="LiteralStringRegex"/> + </rule> + </state> + <state name="strings"> + <rule pattern="\:@{0,2}[a-zA-Z_]\w*[!?]?"> + <token type="LiteralStringSymbol"/> + </rule> + <rule pattern="\:@{0,2}(===|\[\]=|<=>|\*\*|==|>=|\+@|<>|>>|<<|-@|\[\]|~|`|\^|\||&|<|%|/|>|\+|-|\*)"> + <token type="LiteralStringSymbol"/> + </rule> + <rule pattern=":'(\\\\|\\'|[^'])*'"> + <token type="LiteralStringSymbol"/> + </rule> + <rule pattern="'(\\\\|\\'|[^'])*'"> + <token type="LiteralStringSingle"/> + </rule> + <rule pattern=":""> + <token type="LiteralStringSymbol"/> + <push state="simple-sym"/> + </rule> + <rule pattern="([a-zA-Z_]\w*)(:)(?!:)"> + <bygroups> + <token type="LiteralStringSymbol"/> + <token type="Punctuation"/> + </bygroups> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <push state="simple-string"/> + </rule> + <rule pattern="(?<!\.)`"> + <token type="LiteralStringBacktick"/> + <push state="simple-backtick"/> + </rule> + <rule pattern="%[QWx]?\{"> + <token type="LiteralStringOther"/> + <push state="cb-intp-string"/> + </rule> + <rule pattern="%[qsw]\{"> + <token type="LiteralStringOther"/> + <push state="cb-string"/> + </rule> + <rule pattern="%r\{"> + <token type="LiteralStringRegex"/> + <push state="cb-regex"/> + </rule> + <rule pattern="%[QWx]?\["> + <token type="LiteralStringOther"/> + <push state="sb-intp-string"/> + </rule> + <rule pattern="%[qsw]\["> + <token type="LiteralStringOther"/> + <push state="sb-string"/> + </rule> + <rule pattern="%r\["> + <token type="LiteralStringRegex"/> + <push state="sb-regex"/> + </rule> + <rule pattern="%[QWx]?\("> + <token type="LiteralStringOther"/> + <push state="pa-intp-string"/> + </rule> + <rule pattern="%[qsw]\("> + <token type="LiteralStringOther"/> + <push state="pa-string"/> + </rule> + <rule pattern="%r\("> + <token type="LiteralStringRegex"/> + <push state="pa-regex"/> + </rule> + <rule pattern="%[QWx]?<"> + <token type="LiteralStringOther"/> + <push state="ab-intp-string"/> + </rule> + <rule pattern="%[qsw]<"> + <token type="LiteralStringOther"/> + <push state="ab-string"/> + </rule> + <rule pattern="%r<"> + <token type="LiteralStringRegex"/> + <push state="ab-regex"/> + </rule> + <rule pattern="(%r([\W_]))((?:\\\2|(?!\2).)*)(\2[mixounse]*)"> + <token type="LiteralString"/> + </rule> + <rule pattern="%[qsw]([\W_])((?:\\\1|(?!\1).)*)\1"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="(%[QWx]([\W_]))((?:\\\2|(?!\2).)*)(\2)"> + <token type="LiteralString"/> + </rule> + <rule pattern="(?<=[-+/*%=<>&!^|~,(])(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)"> + <bygroups> + <token type="Text"/> + <token type="LiteralStringOther"/> + <token type="None"/> + </bygroups> + </rule> + <rule pattern="^(\s*)(%([\t ])(?:(?:\\\3|(?!\3).)*)\3)"> + <bygroups> + <token type="Text"/> + <token type="LiteralStringOther"/> + <token type="None"/> + </bygroups> + </rule> + <rule pattern="(%([^a-zA-Z0-9\s]))((?:\\\2|(?!\2).)*)(\2)"> + <token type="LiteralString"/> + </rule> + </state> + <state name="simple-backtick"> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[^\\`#]+"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="[\\#]"> + <token type="LiteralStringBacktick"/> + </rule> + <rule pattern="`"> + <token type="LiteralStringBacktick"/> + <pop depth="1"/> + </rule> + </state> + <state name="ab-regex"> + <rule pattern="\\[\\<>]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="<"> + <token type="LiteralStringRegex"/> + <push/> + </rule> + <rule pattern=">[mixounse]*"> + <token type="LiteralStringRegex"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="[\\#<>]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[^\\#<>]+"> + <token type="LiteralStringRegex"/> + </rule> + </state> + <state name="cb-regex"> + <rule pattern="\\[\\{}]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="\{"> + <token type="LiteralStringRegex"/> + <push/> + </rule> + <rule pattern="\}[mixounse]*"> + <token type="LiteralStringRegex"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="[\\#{}]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[^\\#{}]+"> + <token type="LiteralStringRegex"/> + </rule> + </state> + <state name="end-part"> + <rule pattern=".+"> + <token type="CommentPreproc"/> + <pop depth="1"/> + </rule> + </state> + <state name="string-intp"> + <rule pattern="#\{"> + <token type="LiteralStringInterpol"/> + <push state="in-intp"/> + </rule> + <rule pattern="#@@?[a-zA-Z_]\w*"> + <token type="LiteralStringInterpol"/> + </rule> + <rule pattern="#\$[a-zA-Z_]\w*"> + <token type="LiteralStringInterpol"/> + </rule> + </state> + <state name="interpolated-string"> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="[\\#]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="classname"> + <rule pattern="\("> + <token type="Punctuation"/> + <push state="defexpr"/> + </rule> + <rule pattern="<<"> + <token type="Operator"/> + <pop depth="1"/> + </rule> + <rule pattern="[A-Z_]\w*"> + <token type="NameClass"/> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="cb-intp-string"> + <rule pattern="\\[\\{}]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="\{"> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern="\}"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[\\#{}]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#{}]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="root"> + <rule pattern="\A#!.+?$"> + <token type="CommentHashbang"/> + </rule> + <rule pattern="#.*?$"> + <token type="CommentSingle"/> + </rule> + <rule pattern="=begin\s.*?\n=end.*?$"> + <token type="CommentMultiline"/> + </rule> + <rule pattern="(defined\?|return|ensure|rescue|unless|undef|until|break|begin|elsif|super|alias|while|retry|BEGIN|raise|yield|redo|next|case|when|then|else|end|for|END|do|if|in)\b"> + <token type="Keyword"/> + </rule> + <rule pattern="(module)(\s+)([a-zA-Z_]\w*(?:::[a-zA-Z_]\w*)*)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + <token type="NameNamespace"/> + </bygroups> + </rule> + <rule pattern="(def)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="funcname"/> + </rule> + <rule pattern="def(?=[*%&^`~+-/\[<>=])"> + <token type="Keyword"/> + <push state="funcname"/> + </rule> + <rule pattern="(class)(\s+)"> + <bygroups> + <token type="Keyword"/> + <token type="Text"/> + </bygroups> + <push state="classname"/> + </rule> + <rule pattern="(module_function|attr_accessor|attr_reader|attr_writer|initialize|protected|include|private|extend|public|raise|false|catch|throw|attr|loop|true|new|nil)\b"> + <token type="KeywordPseudo"/> + </rule> + <rule pattern="(not|and|or)\b"> + <token type="OperatorWord"/> + </rule> + <rule pattern="(protected_method_defined|private_method_defined|public_method_defined|method_defined|const_defined|block_given|instance_of|respond_to|iterator|autoload|kind_of|tainted|include|frozen|equal|is_a|nil|eql)\?"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(chomp|chop|exit|gsub|sub)!"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="(?<!\.)(protected_instance_methods|private_instance_methods|public_instance_methods|instance_variable_set|instance_variable_get|private_class_method|public_class_method|instance_variables|protected_methods|singleton_methods|included_modules|instance_methods|global_variables|private_methods|local_variables|instance_method|class_variables|public_methods|const_defined\?|set_trace_func|method_missing|const_missing|instance_eval|module_eval|untrace_var|class_eval|trace_var|const_get|readlines|ancestors|constants|const_set|object_id|readline|autoload|__send__|untaint|methods|display|Integer|sprintf|inspect|require|syscall|at_exit|binding|extend|printf|lambda|__id__|String|callcc|method|select|format|system|freeze|caller|raise|Float|print|throw|taint|clone|srand|Array|abort|split|catch|chomp|sleep|open|puts|putc|fork|fail|trap|exit|scan|getc|self|send|eval|gets|exec|gsub|proc|load|loop|chop|warn|hash|test|name|to_a|rand|to_s|sub|dup|id|p)\b"> + <token type="NameBuiltin"/> + </rule> + <rule pattern="__(FILE|LINE)__\b"> + <token type="NameBuiltinPseudo"/> + </rule> + <rule pattern="(?<!\w)(<<-?)(["`\']?)([a-zA-Z_]\w*)(\2)(.*?\n)"> + <token type="LiteralString"/> + </rule> + <rule pattern="(<<-?)("|\')()(\2)(.*?\n)"> + <token type="LiteralString"/> + </rule> + <rule pattern="__END__"> + <token type="CommentPreproc"/> + <push state="end-part"/> + </rule> + <rule pattern="(?:^|(?<=[=<>~!:])|(?<=(?:\s|;)when\s)|(?<=(?:\s|;)or\s)|(?<=(?:\s|;)and\s)|(?<=\.index\s)|(?<=\.scan\s)|(?<=\.sub\s)|(?<=\.sub!\s)|(?<=\.gsub\s)|(?<=\.gsub!\s)|(?<=\.match\s)|(?<=(?:\s|;)if\s)|(?<=(?:\s|;)elsif\s)|(?<=^when\s)|(?<=^index\s)|(?<=^scan\s)|(?<=^sub\s)|(?<=^gsub\s)|(?<=^sub!\s)|(?<=^gsub!\s)|(?<=^match\s)|(?<=^if\s)|(?<=^elsif\s))(\s*)(/)"> + <bygroups> + <token type="Text"/> + <token type="LiteralStringRegex"/> + </bygroups> + <push state="multiline-regex"/> + </rule> + <rule pattern="(?<=\(|,|\[)/"> + <token type="LiteralStringRegex"/> + <push state="multiline-regex"/> + </rule> + <rule pattern="(\s+)(/)(?![\s=])"> + <bygroups> + <token type="Text"/> + <token type="LiteralStringRegex"/> + </bygroups> + <push state="multiline-regex"/> + </rule> + <rule pattern="(0_?[0-7]+(?:_[0-7]+)*)(\s*)([/?])?"> + <bygroups> + <token type="LiteralNumberOct"/> + <token type="Text"/> + <token type="Operator"/> + </bygroups> + </rule> + <rule pattern="(0x[0-9A-Fa-f]+(?:_[0-9A-Fa-f]+)*)(\s*)([/?])?"> + <bygroups> + <token type="LiteralNumberHex"/> + <token type="Text"/> + <token type="Operator"/> + </bygroups> + </rule> + <rule pattern="(0b[01]+(?:_[01]+)*)(\s*)([/?])?"> + <bygroups> + <token type="LiteralNumberBin"/> + <token type="Text"/> + <token type="Operator"/> + </bygroups> + </rule> + <rule pattern="([\d]+(?:[_e]\d+)*)(\s*)([/?])?"> + <bygroups> + <token type="LiteralNumberInteger"/> + <token type="Text"/> + <token type="Operator"/> + </bygroups> + </rule> + <rule pattern="@@[a-zA-Z_]\w*"> + <token type="NameVariableClass"/> + </rule> + <rule pattern="@[a-zA-Z_]\w*"> + <token type="NameVariableInstance"/> + </rule> + <rule pattern="\$\w+"> + <token type="NameVariableGlobal"/> + </rule> + <rule pattern="\$[!@&`\'+~=/\\,;.<>_*$?:"^-]"> + <token type="NameVariableGlobal"/> + </rule> + <rule pattern="\$-[0adFiIlpvw]"> + <token type="NameVariableGlobal"/> + </rule> + <rule pattern="::"> + <token type="Operator"/> + </rule> + <rule> + <include state="strings"/> + </rule> + <rule pattern="\?(\\[MC]-)*(\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})|\S)(?!\w)"> + <token type="LiteralStringChar"/> + </rule> + <rule pattern="[A-Z]\w+"> + <token type="NameConstant"/> + </rule> + <rule pattern="(\.|::)(===|\[\]=|<=>|\*\*|==|>=|\+@|<>|>>|<<|-@|\[\]|~|`|\^|\||&|<|%|/|>|\+|-|\*)"> + <bygroups> + <token type="Operator"/> + <token type="NameOperator"/> + </bygroups> + </rule> + <rule pattern="(\.|::)([a-zA-Z_]\w*[!?]?|[*%&^`~+\-/\[<>=])"> + <bygroups> + <token type="Operator"/> + <token type="Name"/> + </bygroups> + </rule> + <rule pattern="[a-zA-Z_]\w*[!?]?"> + <token type="Name"/> + </rule> + <rule pattern="(\[|\]|\*\*|<<?|>>?|>=|<=|<=>|=~|={3}|!~|&&?|\|\||\.{1,3})"> + <token type="Operator"/> + </rule> + <rule pattern="[-+/*%=<>&!^|~]=?"> + <token type="Operator"/> + </rule> + <rule pattern="[(){};,/?:\\]"> + <token type="Punctuation"/> + </rule> + <rule pattern="\s+"> + <token type="Text"/> + </rule> + </state> + <state name="defexpr"> + <rule pattern="(\))(\.|::)?"> + <bygroups> + <token type="Punctuation"/> + <token type="Operator"/> + </bygroups> + <pop depth="1"/> + </rule> + <rule pattern="\("> + <token type="Operator"/> + <push/> + </rule> + <rule> + <include state="root"/> + </rule> + </state> + <state name="in-intp"> + <rule pattern="\{"> + <token type="LiteralStringInterpol"/> + <push/> + </rule> + <rule pattern="\}"> + <token type="LiteralStringInterpol"/> + <pop depth="1"/> + </rule> + <rule> + <include state="root"/> + </rule> + </state> + <state name="multiline-regex"> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="\\\\"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="\\/"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[\\#]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[^\\/#]+"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="/[mixounse]*"> + <token type="LiteralStringRegex"/> + <pop depth="1"/> + </rule> + </state> + <state name="cb-string"> + <rule pattern="\\[\\{}]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="\{"> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern="\}"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule pattern="[\\#{}]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#{}]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="funcname"> + <rule pattern="\("> + <token type="Punctuation"/> + <push state="defexpr"/> + </rule> + <rule pattern="(?:([a-zA-Z_]\w*)(\.))?([a-zA-Z_]\w*[!?]?|\*\*?|[-+]@?|[/%&|^`~]|\[\]=?|<<|>>|<=?>|>=?|===?)"> + <bygroups> + <token type="NameClass"/> + <token type="Operator"/> + <token type="NameFunction"/> + </bygroups> + <pop depth="1"/> + </rule> + <rule> + <pop depth="1"/> + </rule> + </state> + <state name="sb-intp-string"> + <rule pattern="\\[\\\[\]]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="\["> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern="\]"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[\\#\[\]]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#\[\]]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="pa-string"> + <rule pattern="\\[\\()]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="\("> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern="\)"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule pattern="[\\#()]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#()]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="string-intp-escaped"> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="\\([\\abefnrstv#"\']|x[a-fA-F0-9]{1,2}|[0-7]{1,3})"> + <token type="LiteralStringEscape"/> + </rule> + </state> + <state name="simple-string"> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[^\\"#]+"> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="[\\#]"> + <token type="LiteralStringDouble"/> + </rule> + <rule pattern="""> + <token type="LiteralStringDouble"/> + <pop depth="1"/> + </rule> + </state> + <state name="pa-intp-string"> + <rule pattern="\\[\\()]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="\("> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern="\)"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[\\#()]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#()]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="ab-string"> + <rule pattern="\\[\\<>]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="<"> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern=">"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule pattern="[\\#<>]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#<>]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="sb-regex"> + <rule pattern="\\[\\\[\]]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="\["> + <token type="LiteralStringRegex"/> + <push/> + </rule> + <rule pattern="\][mixounse]*"> + <token type="LiteralStringRegex"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="[\\#\[\]]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[^\\#\[\]]+"> + <token type="LiteralStringRegex"/> + </rule> + </state> + <state name="pa-regex"> + <rule pattern="\\[\\()]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="\("> + <token type="LiteralStringRegex"/> + <push/> + </rule> + <rule pattern="\)[mixounse]*"> + <token type="LiteralStringRegex"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp"/> + </rule> + <rule pattern="[\\#()]"> + <token type="LiteralStringRegex"/> + </rule> + <rule pattern="[^\\#()]+"> + <token type="LiteralStringRegex"/> + </rule> + </state> + <state name="sb-string"> + <rule pattern="\\[\\\[\]]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="\["> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern="\]"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule pattern="[\\#\[\]]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#\[\]]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + <state name="ab-intp-string"> + <rule pattern="\\[\\<>]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="<"> + <token type="LiteralStringOther"/> + <push/> + </rule> + <rule pattern=">"> + <token type="LiteralStringOther"/> + <pop depth="1"/> + </rule> + <rule> + <include state="string-intp-escaped"/> + </rule> + <rule pattern="[\\#<>]"> + <token type="LiteralStringOther"/> + </rule> + <rule pattern="[^\\#<>]+"> + <token type="LiteralStringOther"/> + </rule> + </state> + </rules> +</lexer> \ No newline at end of file