# -*- coding: utf-8 -*- ## frozen_string_literal: truemoduleRougemoduleLexersclassCeylon<RegexLexertag'ceylon'filenames'*.ceylon'mimetypes'text/x-ceylon'title"Ceylon"desc'Say more, more clearly.'keywords=%w(
break case catch continue else finally for in
if return switch this throw try while is exists dynamic
nonempty then outer assert let
)keywords_declaration=%w(
abstracts extends satisfies super given of out assign
)keywords_type=%w(
function value void new
)keywords_namespace=%w(
assembly module package
)keywords_constant=%w(
true false null
)annotations=%w(
shared abstract formal default actual variable deprecated small
late literal doc by see throws optional license tagged final native
annotation sealed
)state:whitespacedorule%r([^\S\n]+),Textrule%r(//.*?\n),Comment::Singlerule%r(/\*),Comment::Multilineendstate:rootdomixin:whitespacerule%r((shared|abstract|formal|default|actual|variable|deprecated|small|
late|literal|doc|by|see|throws|optional|license|tagged|final|native|
annotation|sealed)\b),Name::Decoratorrule%r((break|case|catch|continue|else|finally|for|in|
if|return|switch|this|throw|try|while|is|exists|dynamic|
nonempty|then|outer|assert|let)\b),Keywordrule%r((abstracts|extends|satisfies|super|given|of|out|assign)\b),Keyword::Declarationrule%r((function|value|void|new)\b),Keyword::Typerule%r((assembly|module|package)(\s+))dogroupsKeyword::Namespace,Textpush:importendrule%r((true|false|null)\b),Keyword::Constantrule%r((class|interface|object|alias)(\s+))dogroupsKeyword::Declaration,Textpush:classendrule%r((import)(\s+))dogroupsKeyword::Namespace,Textpush:importendrule%r("(\\\\|\\"|[^"])*"),Literal::Stringrule%r('\\.'|'[^\\]'|'\\\{#[0-9a-fA-F]{4}\}'),Literal::String::Charrule%r(".*``.*``.*"', String::Interpol
rule %r(\.)([a-z_]\w*))dogroupsOperator,Name::Attributeendrule%r([a-zA-Z_]\w*:),Name::Labelrule%r((\\I[a-z]|[A-Z])\w*),Name::Decoratorrule%r([a-zA-Z_]\w*),Namerule%r([~^*!%&\[\](){}<>|+=:;,./?-`]),Operatorrule%r(\d{1,3}(_\d{3})+\.\d{1,3}(_\d{3})+[kMGTPmunpf]?),Literal::Number::Floatrule%r(\d{1,3}(_\d{3})+\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?),Literal::Number::Floatrule%r([0-9][0-9]*\.\d{1,3}(_\d{3})+[kMGTPmunpf]?),Literal::Number::Floatrule%r([0-9][0-9]*\.[0-9]+([eE][+-]?[0-9]+)?[kMGTPmunpf]?),Literal::Number::Floatrule%r(#([0-9a-fA-F]{4})(_[0-9a-fA-F]{4})+),Literal::Number::Hexrule%r(#[0-9a-fA-F]+),Literal::Number::Hexrule%r(\$([01]{4})(_[01]{4})+),Literal::Number::Binrule%r(\$[01]+),Literal::Number::Binrule%r(\d{1,3}(_\d{3})+[kMGTP]?),Literal::Number::Integerrule%r([0-9]+[kMGTP]?),Literal::Number::Integerrule%r(\n),Textendstate:classdomixin:whitespacerule%r([A-Za-z_]\w*),Name::Class,:pop!endstate:importdorule%r([a-z][\w.]*),Name::Namespace,:pop!rule%r("(\\\\|\\"|[^"])*"),Literal::String,:pop!endstate:commentdorule%r([^*/]),Comment.Multilinerule%r(/\*),Comment::Multiline,:push!rule%r(\*/),Comment::Multiline,:pop!rule%r([*/]),Comment::Multilineendendendend