PluginProbe ʕ •ᴥ•ʔ
Tracking Code Manager / 2.4.0
Tracking Code Manager v2.4.0
trunk 1.11.8 1.11.9 1.12.0 1.12.1 1.12.2 1.12.3 1.4 1.5 2.0.0 2.0.1 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0
tracking-code-manager / assets / js / ace / mode-elixir.js
tracking-code-manager / assets / js / ace Last commit date
snippets 1 year ago ace.js 1 year ago ext-beautify.js 1 year ago ext-code_lens.js 1 year ago ext-elastic_tabstops_lite.js 1 year ago ext-emmet.js 1 year ago ext-error_marker.js 1 year ago ext-hardwrap.js 1 year ago ext-keybinding_menu.js 1 year ago ext-language_tools.js 1 year ago ext-linking.js 1 year ago ext-modelist.js 1 year ago ext-options.js 1 year ago ext-prompt.js 1 year ago ext-rtl.js 1 year ago ext-searchbox.js 1 year ago ext-settings_menu.js 1 year ago ext-spellcheck.js 1 year ago ext-split.js 1 year ago ext-static_highlight.js 1 year ago ext-statusbar.js 1 year ago ext-textarea.js 1 year ago ext-themelist.js 1 year ago ext-whitespace.js 1 year ago keybinding-emacs.js 1 year ago keybinding-sublime.js 1 year ago keybinding-vim.js 1 year ago keybinding-vscode.js 1 year ago mode-abap.js 1 year ago mode-abc.js 1 year ago mode-actionscript.js 1 year ago mode-ada.js 1 year ago mode-alda.js 1 year ago mode-apache_conf.js 1 year ago mode-apex.js 1 year ago mode-applescript.js 1 year ago mode-aql.js 1 year ago mode-asciidoc.js 1 year ago mode-asl.js 1 year ago mode-assembly_x86.js 1 year ago mode-autohotkey.js 1 year ago mode-batchfile.js 1 year ago mode-c9search.js 1 year ago mode-c_cpp.js 1 year ago mode-cirru.js 1 year ago mode-clojure.js 1 year ago mode-cobol.js 1 year ago mode-coffee.js 1 year ago mode-coldfusion.js 1 year ago mode-crystal.js 1 year ago mode-csharp.js 1 year ago mode-csound_document.js 1 year ago mode-csound_orchestra.js 1 year ago mode-csound_score.js 1 year ago mode-csp.js 1 year ago mode-css.js 1 year ago mode-curly.js 1 year ago mode-d.js 1 year ago mode-dart.js 1 year ago mode-diff.js 1 year ago mode-django.js 1 year ago mode-dockerfile.js 1 year ago mode-dot.js 1 year ago mode-drools.js 1 year ago mode-edifact.js 1 year ago mode-eiffel.js 1 year ago mode-ejs.js 1 year ago mode-elixir.js 1 year ago mode-elm.js 1 year ago mode-erlang.js 1 year ago mode-forth.js 1 year ago mode-fortran.js 1 year ago mode-fsharp.js 1 year ago mode-fsl.js 1 year ago mode-ftl.js 1 year ago mode-gcode.js 1 year ago mode-gherkin.js 1 year ago mode-gitignore.js 1 year ago mode-glsl.js 1 year ago mode-gobstones.js 1 year ago mode-golang.js 1 year ago mode-graphqlschema.js 1 year ago mode-groovy.js 1 year ago mode-haml.js 1 year ago mode-handlebars.js 1 year ago mode-haskell.js 1 year ago mode-haskell_cabal.js 1 year ago mode-haxe.js 1 year ago mode-hjson.js 1 year ago mode-html.js 1 year ago mode-html_elixir.js 1 year ago mode-html_ruby.js 1 year ago mode-ini.js 1 year ago mode-io.js 1 year ago mode-ion.js 1 year ago mode-jack.js 1 year ago mode-jade.js 1 year ago mode-java.js 1 year ago mode-javascript.js 1 year ago mode-json.js 1 year ago mode-json5.js 1 year ago mode-jsoniq.js 1 year ago mode-jsp.js 1 year ago mode-jssm.js 1 year ago mode-jsx.js 1 year ago mode-julia.js 1 year ago mode-kotlin.js 1 year ago mode-latex.js 1 year ago mode-latte.js 1 year ago mode-less.js 1 year ago mode-liquid.js 1 year ago mode-lisp.js 1 year ago mode-livescript.js 1 year ago mode-logiql.js 1 year ago mode-logtalk.js 1 year ago mode-lsl.js 1 year ago mode-lua.js 1 year ago mode-luapage.js 1 year ago mode-lucene.js 1 year ago mode-makefile.js 1 year ago mode-markdown.js 1 year ago mode-mask.js 1 year ago mode-matlab.js 1 year ago mode-maze.js 1 year ago mode-mediawiki.js 1 year ago mode-mel.js 1 year ago mode-mips.js 1 year ago mode-mixal.js 1 year ago mode-mushcode.js 1 year ago mode-mysql.js 1 year ago mode-nginx.js 1 year ago mode-nim.js 1 year ago mode-nix.js 1 year ago mode-nsis.js 1 year ago mode-nunjucks.js 1 year ago mode-objectivec.js 1 year ago mode-ocaml.js 1 year ago mode-partiql.js 1 year ago mode-pascal.js 1 year ago mode-perl.js 1 year ago mode-pgsql.js 1 year ago mode-php.js 1 year ago mode-php_laravel_blade.js 1 year ago mode-pig.js 1 year ago mode-plain_text.js 1 year ago mode-powershell.js 1 year ago mode-praat.js 1 year ago mode-prisma.js 1 year ago mode-prolog.js 1 year ago mode-properties.js 1 year ago mode-protobuf.js 1 year ago mode-puppet.js 1 year ago mode-python.js 1 year ago mode-qml.js 1 year ago mode-r.js 1 year ago mode-raku.js 1 year ago mode-razor.js 1 year ago mode-rdoc.js 1 year ago mode-red.js 1 year ago mode-redshift.js 1 year ago mode-rhtml.js 1 year ago mode-robot.js 1 year ago mode-rst.js 1 year ago mode-ruby.js 1 year ago mode-rust.js 1 year ago mode-sac.js 1 year ago mode-sass.js 1 year ago mode-scad.js 1 year ago mode-scala.js 1 year ago mode-scheme.js 1 year ago mode-scrypt.js 1 year ago mode-scss.js 1 year ago mode-sh.js 1 year ago mode-sjs.js 1 year ago mode-slim.js 1 year ago mode-smarty.js 1 year ago mode-smithy.js 1 year ago mode-snippets.js 1 year ago mode-soy_template.js 1 year ago mode-space.js 1 year ago mode-sparql.js 1 year ago mode-sql.js 1 year ago mode-sqlserver.js 1 year ago mode-stylus.js 1 year ago mode-svg.js 1 year ago mode-swift.js 1 year ago mode-tcl.js 1 year ago mode-terraform.js 1 year ago mode-tex.js 1 year ago mode-text.js 1 year ago mode-textile.js 1 year ago mode-toml.js 1 year ago mode-tsx.js 1 year ago mode-turtle.js 1 year ago mode-twig.js 1 year ago mode-typescript.js 1 year ago mode-vala.js 1 year ago mode-vbscript.js 1 year ago mode-velocity.js 1 year ago mode-verilog.js 1 year ago mode-vhdl.js 1 year ago mode-visualforce.js 1 year ago mode-wollok.js 1 year ago mode-xml.js 1 year ago mode-xquery.js 1 year ago mode-yaml.js 1 year ago mode-zeek.js 1 year ago theme-ambiance.js 1 year ago theme-chaos.js 1 year ago theme-chrome.js 1 year ago theme-cloud9_day.js 1 year ago theme-cloud9_night.js 1 year ago theme-cloud9_night_low_color.js 1 year ago theme-clouds.js 1 year ago theme-clouds_midnight.js 1 year ago theme-cobalt.js 1 year ago theme-crimson_editor.js 1 year ago theme-dawn.js 1 year ago theme-dracula.js 1 year ago theme-dreamweaver.js 1 year ago theme-eclipse.js 1 year ago theme-github.js 1 year ago theme-gob.js 1 year ago theme-gruvbox.js 1 year ago theme-gruvbox_dark_hard.js 1 year ago theme-gruvbox_light_hard.js 1 year ago theme-idle_fingers.js 1 year ago theme-iplastic.js 1 year ago theme-katzenmilch.js 1 year ago theme-kr_theme.js 1 year ago theme-kuroir.js 1 year ago theme-merbivore.js 1 year ago theme-merbivore_soft.js 1 year ago theme-mono_industrial.js 1 year ago theme-monokai.js 1 year ago theme-nord_dark.js 1 year ago theme-one_dark.js 1 year ago theme-pastel_on_dark.js 1 year ago theme-solarized_dark.js 1 year ago theme-solarized_light.js 1 year ago theme-sqlserver.js 1 year ago theme-terminal.js 1 year ago theme-textmate.js 1 year ago theme-tomorrow.js 1 year ago theme-tomorrow_night.js 1 year ago theme-tomorrow_night_blue.js 1 year ago theme-tomorrow_night_bright.js 1 year ago theme-tomorrow_night_eighties.js 1 year ago theme-twilight.js 1 year ago theme-vibrant_ink.js 1 year ago theme-xcode.js 1 year ago worker-base.js 1 year ago worker-coffee.js 1 year ago worker-css.js 1 year ago worker-html.js 1 year ago worker-javascript.js 1 year ago worker-json.js 1 year ago worker-lua.js 1 year ago worker-php.js 1 year ago worker-xml.js 1 year ago worker-xquery.js 1 year ago worker-yaml.js 1 year ago
mode-elixir.js
8 lines
1 ace.define("ace/mode/elixir_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text_highlight_rules").TextHighlightRules,s=function(){this.$rules={start:[{token:["meta.module.elixir","keyword.control.module.elixir","meta.module.elixir","entity.name.type.module.elixir"],regex:"^(\\s*)(defmodule)(\\s+)((?:[A-Z]\\w*\\s*\\.\\s*)*[A-Z]\\w*)"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc (?:~[a-z])?"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:'@(?:module|type)?doc ~[A-Z]"""',push:[{token:"comment.documentation.heredoc",regex:'\\s*"""',next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc (?:~[a-z])?'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.heredoc",regex:"@(?:module|type)?doc ~[A-Z]'''",push:[{token:"comment.documentation.heredoc",regex:"\\s*'''",next:"pop"},{defaultToken:"comment.documentation.heredoc"}],comment:"@doc with heredocs is treated as documentation"},{token:"comment.documentation.false",regex:"@(?:module|type)?doc false",comment:"@doc false is treated as documentation"},{token:"comment.documentation.string",regex:'@(?:module|type)?doc "',push:[{token:"comment.documentation.string",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"comment.documentation.string"}],comment:"@doc with string is treated as documentation"},{token:"keyword.control.elixir",regex:"\\b(?:do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(do|end|case|bc|lc|for|if|cond|unless|try|receive|fn|defmodule|defp?|defprotocol|defimpl|defrecord|defstruct|defmacrop?|defdelegate|defcallback|defmacrocallback|defexception|defoverridable|exit|after|rescue|catch|else|raise|throw|import|require|alias|use|quote|unquote|super)\\b(?![?!])"},{token:"keyword.operator.elixir",regex:"\\b(?:and|not|or|when|xor|in|inlist|inbits)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\.)\\b(and|not|or|when|xor|in|inlist|inbits)\\b",comment:" as above, just doesn't need a 'end' and does a logic operation"},{token:"constant.language.elixir",regex:"\\b(?:nil|true|false)\\b(?![?!])"},{token:"variable.language.elixir",regex:"\\b__(?:CALLER|ENV|MODULE|DIR)__\\b(?![?!])"},{token:["punctuation.definition.variable.elixir","variable.other.readwrite.module.elixir"],regex:"(@)([a-zA-Z_]\\w*)"},{token:["punctuation.definition.variable.elixir","variable.other.anonymous.elixir"],regex:"(&)(\\d*)"},{token:"variable.other.constant.elixir",regex:"\\b[A-Z]\\w*\\b"},{token:"constant.numeric.elixir",regex:"\\b(?:0x[\\da-fA-F](?:_?[\\da-fA-F])*|\\d(?:_?\\d)*(?:\\.(?![^[:space:][:digit:]])(?:_?\\d)*)?(?:[eE][-+]?\\d(?:_?\\d)*)?|0b[01]+|0o[0-7]+)\\b",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"\\b(0x\\h(?>_?\\h)*|\\d(?>_?\\d)*(\\.(?![^[:space:][:digit:]])(?>_?\\d)*)?([eE][-+]?\\d(?>_?\\d)*)?|0b[01]+|0o[0-7]+)\\b"},{token:"punctuation.definition.constant.elixir",regex:":'",push:[{token:"punctuation.definition.constant.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.single-quoted.elixir"}]},{token:"punctuation.definition.constant.elixir",regex:':"',push:[{token:"punctuation.definition.constant.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"constant.other.symbol.double-quoted.elixir"}]},{token:"punctuation.definition.string.begin.elixir",regex:"(?:''')",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>''')",push:[{token:"punctuation.definition.string.end.elixir",regex:"^\\s*'''",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.heredoc.elixir"}],comment:"Single-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:"'",push:[{token:"punctuation.definition.string.end.elixir",regex:"'",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"support.function.variable.quoted.single.elixir"}],comment:"single quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'(?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'(?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs"},{token:"punctuation.definition.string.begin.elixir",regex:'"',push:[{token:"punctuation.definition.string.end.elixir",regex:'"',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.elixir"}],comment:"double quoted string (allows for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[a-z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[a-z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.quoted.double.heredoc.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[a-z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{include:"#interpolated_elixir"},{include:"#escaped_char"},{include:"#escaped_char"},{defaultToken:"string.interpolated.elixir"}],comment:"sigil (allow for interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:'~[A-Z](?:""")',TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:'~[A-Z](?>""")',push:[{token:"punctuation.definition.string.end.elixir",regex:'^\\s*"""',next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"Double-quoted heredocs sigils"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\{",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\}[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\[",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\<",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\>[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z]\\(",push:[{token:"punctuation.definition.string.end.elixir",regex:"\\)[a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:"punctuation.definition.string.begin.elixir",regex:"~[A-Z][^\\w]",push:[{token:"punctuation.definition.string.end.elixir",regex:"[^\\w][a-z]*",next:"pop"},{defaultToken:"string.quoted.other.literal.upper.elixir"}],comment:"sigil (without interpolation)"},{token:["punctuation.definition.constant.elixir","constant.other.symbol.elixir"],regex:"(:)([a-zA-Z_][\\w@]*(?:[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(?:\\^\\^)?)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!:)(:)(?>[a-zA-Z_][\\w@]*(?>[?!]|=(?![>=]))?|\\<\\>|===?|!==?|<<>>|<<<|>>>|~~~|::|<\\-|\\|>|=>|~|~=|=|/|\\\\\\\\|\\*\\*?|\\.\\.?\\.?|>=?|<=?|&&?&?|\\+\\+?|\\-\\-?|\\|\\|?\\|?|\\!|@|\\%?\\{\\}|%|\\[\\]|\\^(\\^\\^)?)",comment:"symbols"},{token:"punctuation.definition.constant.elixir",regex:"(?:[a-zA-Z_][\\w@]*(?:[?!])?):(?!:)",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?>[a-zA-Z_][\\w@]*(?>[?!])?)(:)(?!:)",comment:"symbols"},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(#)(.*)"},{token:"constant.numeric.elixir",regex:"\\?(?:\\\\(?:x[\\da-fA-F]{1,2}(?![\\da-fA-F])\\b|[^xMC])|[^\\s\\\\])",TODO:"FIXME: regexp doesn't have js equivalent",originalRegex:"(?<!\\w)\\?(\\\\(x\\h{1,2}(?!\\h)\\b|[^xMC])|[^\\s\\\\])",comment:'\n matches questionmark-letters.\n\n examples (1st alternation = hex):\n ?\\x1 ?\\x61\n\n examples (2rd alternation = escaped):\n ?\\n ?\\b\n\n examples (3rd alternation = normal):\n ?a ?A ?0 \n ?* ?" ?( \n ?. ?#\n \n the negative lookbehind prevents against matching\n p(42.tainted?)\n '},{token:"keyword.operator.assignment.augmented.elixir",regex:"\\+=|\\-=|\\|\\|=|~=|&&="},{token:"keyword.operator.comparison.elixir",regex:"===?|!==?|<=?|>=?"},{token:"keyword.operator.bitwise.elixir",regex:"\\|{3}|&{3}|\\^{3}|<{3}|>{3}|~{3}"},{token:"keyword.operator.logical.elixir",regex:"!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b",originalRegex:"(?<=[ \\t])!+|\\bnot\\b|&&|\\band\\b|\\|\\||\\bor\\b|\\bxor\\b"},{token:"keyword.operator.arithmetic.elixir",regex:"\\*|\\+|\\-|/"},{token:"keyword.operator.other.elixir",regex:"\\||\\+\\+|\\-\\-|\\*\\*|\\\\\\\\|\\<\\-|\\<\\>|\\<\\<|\\>\\>|\\:\\:|\\.\\.|\\|>|~|=>"},{token:"keyword.operator.assignment.elixir",regex:"="},{token:"punctuation.separator.other.elixir",regex:":"},{token:"punctuation.separator.statement.elixir",regex:"\\;"},{token:"punctuation.separator.object.elixir",regex:","},{token:"punctuation.separator.method.elixir",regex:"\\."},{token:"punctuation.section.scope.elixir",regex:"\\{|\\}"},{token:"punctuation.section.array.elixir",regex:"\\[|\\]"},{token:"punctuation.section.function.elixir",regex:"\\(|\\)"}],"#escaped_char":[{token:"constant.character.escape.elixir",regex:"\\\\(?:x[\\da-fA-F]{1,2}|.)"}],"#interpolated_elixir":[{token:["source.elixir.embedded.source","source.elixir.embedded.source.empty"],regex:"(#\\{)(\\})"},{todo:{token:"punctuation.section.embedded.elixir",regex:"#\\{",push:[{token:"punctuation.section.embedded.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"},{include:"$self"},{defaultToken:"source.elixir.embedded.source"}]}}],"#nest_curly_and_self":[{token:"punctuation.section.scope.elixir",regex:"\\{",push:[{token:"punctuation.section.scope.elixir",regex:"\\}",next:"pop"},{include:"#nest_curly_and_self"}]},{include:"$self"}],"#regex_sub":[{include:"#interpolated_elixir"},{include:"#escaped_char"},{token:["punctuation.definition.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","string.regexp.arbitrary-repitition.elixir","punctuation.definition.arbitrary-repitition.elixir"],regex:"(\\{)(\\d+)((?:,\\d+)?)(\\})"},{token:"punctuation.definition.character-class.elixir",regex:"\\[(?:\\^?\\])?",push:[{token:"punctuation.definition.character-class.elixir",regex:"\\]",next:"pop"},{include:"#escaped_char"},{defaultToken:"string.regexp.character-class.elixir"}]},{token:"punctuation.definition.group.elixir",regex:"\\(",push:[{token:"punctuation.definition.group.elixir",regex:"\\)",next:"pop"},{include:"#regex_sub"},{defaultToken:"string.regexp.group.elixir"}]},{token:["punctuation.definition.comment.elixir","comment.line.number-sign.elixir"],regex:"(?:^|\\s)(#)(\\s[[a-zA-Z0-9,. \\t?!-][^\\x00-\\x7F]]*$)",originalRegex:"(?<=^|\\s)(#)\\s[[a-zA-Z0-9,. \\t?!-][^\\x{00}-\\x{7F}]]*$",comment:"We are restrictive in what we allow to go after the comment character to avoid false positives, since the availability of comments depend on regexp flags."}]},this.normalizeRules()};s.metaData={comment:"Textmate bundle for Elixir Programming Language.",fileTypes:["ex","exs"],firstLineMatch:"^#!/.*\\belixir",foldingStartMarker:"(after|else|catch|rescue|\\-\\>|\\{|\\[|do)\\s*$",foldingStopMarker:"^\\s*((\\}|\\]|after|else|catch|rescue)\\s*$|end\\b)",keyEquivalent:"^~E",name:"Elixir",scopeName:"source.elixir"},r.inherits(s,i),t.ElixirHighlightRules=s}),ace.define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"],function(e,t,n){"use strict";var r=e("../../lib/oop"),i=e("./fold_mode").FoldMode,s=e("../../range").Range,o=t.FoldMode=function(){};r.inherits(o,i),function(){this.getFoldWidgetRange=function(e,t,n){var r=this.indentationBlock(e,n);if(r)return r;var i=/\S/,o=e.getLine(n),u=o.search(i);if(u==-1||o[u]!="#")return;var a=o.length,f=e.getLength(),l=n,c=n;while(++n<f){o=e.getLine(n);var h=o.search(i);if(h==-1)continue;if(o[h]!="#")break;c=n}if(c>l){var p=e.getLine(c).length;return new s(l,a,c,p)}},this.getFoldWidget=function(e,t,n){var r=e.getLine(n),i=r.search(/\S/),s=e.getLine(n+1),o=e.getLine(n-1),u=o.search(/\S/),a=s.search(/\S/);if(i==-1)return e.foldWidgets[n-1]=u!=-1&&u<a?"start":"","";if(u==-1){if(i==a&&r[i]=="#"&&s[i]=="#")return e.foldWidgets[n-1]="",e.foldWidgets[n+1]="","start"}else if(u==i&&r[i]=="#"&&o[i]=="#"&&e.getLine(n-2).search(/\S/)==-1)return e.foldWidgets[n-1]="start",e.foldWidgets[n+1]="","";return u!=-1&&u<i?e.foldWidgets[n-1]="start":e.foldWidgets[n-1]="",i<a?"start":""}}.call(o.prototype)}),ace.define("ace/mode/elixir",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/elixir_highlight_rules","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./elixir_highlight_rules").ElixirHighlightRules,o=e("./folding/coffee").FoldMode,u=function(){this.HighlightRules=s,this.foldingRules=new o,this.$behaviour=this.$defaultBehaviour};r.inherits(u,i),function(){this.lineCommentStart="#",this.$id="ace/mode/elixir"}.call(u.prototype),t.Mode=u}); (function() {
2 ace.require(["ace/mode/elixir"], function(m) {
3 if (typeof module == "object" && typeof exports == "object" && module) {
4 module.exports = m;
5 }
6 });
7 })();
8