snippets
4 years ago
ace.js
4 years ago
ext-beautify.js
4 years ago
ext-code_lens.js
4 years ago
ext-elastic_tabstops_lite.js
4 years ago
ext-emmet.js
4 years ago
ext-error_marker.js
4 years ago
ext-hardwrap.js
4 years ago
ext-keybinding_menu.js
4 years ago
ext-language_tools.js
4 years ago
ext-linking.js
4 years ago
ext-modelist.js
4 years ago
ext-options.js
4 years ago
ext-prompt.js
4 years ago
ext-rtl.js
4 years ago
ext-searchbox.js
4 years ago
ext-settings_menu.js
4 years ago
ext-spellcheck.js
4 years ago
ext-split.js
4 years ago
ext-static_highlight.js
4 years ago
ext-statusbar.js
4 years ago
ext-textarea.js
4 years ago
ext-themelist.js
4 years ago
ext-whitespace.js
4 years ago
keybinding-emacs.js
4 years ago
keybinding-sublime.js
4 years ago
keybinding-vim.js
4 years ago
keybinding-vscode.js
4 years ago
mode-abap.js
4 years ago
mode-abc.js
4 years ago
mode-actionscript.js
4 years ago
mode-ada.js
4 years ago
mode-alda.js
4 years ago
mode-apache_conf.js
4 years ago
mode-apex.js
4 years ago
mode-applescript.js
4 years ago
mode-aql.js
4 years ago
mode-asciidoc.js
4 years ago
mode-asl.js
4 years ago
mode-assembly_x86.js
4 years ago
mode-autohotkey.js
4 years ago
mode-batchfile.js
4 years ago
mode-c9search.js
4 years ago
mode-c_cpp.js
4 years ago
mode-cirru.js
4 years ago
mode-clojure.js
4 years ago
mode-cobol.js
4 years ago
mode-coffee.js
4 years ago
mode-coldfusion.js
4 years ago
mode-crystal.js
4 years ago
mode-csharp.js
4 years ago
mode-csound_document.js
4 years ago
mode-csound_orchestra.js
4 years ago
mode-csound_score.js
4 years ago
mode-csp.js
4 years ago
mode-css.js
4 years ago
mode-curly.js
4 years ago
mode-d.js
4 years ago
mode-dart.js
4 years ago
mode-diff.js
4 years ago
mode-django.js
4 years ago
mode-dockerfile.js
4 years ago
mode-dot.js
4 years ago
mode-drools.js
4 years ago
mode-edifact.js
4 years ago
mode-eiffel.js
4 years ago
mode-ejs.js
4 years ago
mode-elixir.js
4 years ago
mode-elm.js
4 years ago
mode-erlang.js
4 years ago
mode-forth.js
4 years ago
mode-fortran.js
4 years ago
mode-fsharp.js
4 years ago
mode-fsl.js
4 years ago
mode-ftl.js
4 years ago
mode-gcode.js
4 years ago
mode-gherkin.js
4 years ago
mode-gitignore.js
4 years ago
mode-glsl.js
4 years ago
mode-gobstones.js
4 years ago
mode-golang.js
4 years ago
mode-graphqlschema.js
4 years ago
mode-groovy.js
4 years ago
mode-haml.js
4 years ago
mode-handlebars.js
4 years ago
mode-haskell.js
4 years ago
mode-haskell_cabal.js
4 years ago
mode-haxe.js
4 years ago
mode-hjson.js
4 years ago
mode-html.js
4 years ago
mode-html_elixir.js
4 years ago
mode-html_ruby.js
4 years ago
mode-ini.js
4 years ago
mode-io.js
4 years ago
mode-ion.js
4 years ago
mode-jack.js
4 years ago
mode-jade.js
4 years ago
mode-java.js
4 years ago
mode-javascript.js
4 years ago
mode-json.js
4 years ago
mode-json5.js
4 years ago
mode-jsoniq.js
4 years ago
mode-jsp.js
4 years ago
mode-jssm.js
4 years ago
mode-jsx.js
4 years ago
mode-julia.js
4 years ago
mode-kotlin.js
4 years ago
mode-latex.js
4 years ago
mode-latte.js
4 years ago
mode-less.js
4 years ago
mode-liquid.js
4 years ago
mode-lisp.js
4 years ago
mode-livescript.js
4 years ago
mode-logiql.js
4 years ago
mode-logtalk.js
4 years ago
mode-lsl.js
4 years ago
mode-lua.js
4 years ago
mode-luapage.js
4 years ago
mode-lucene.js
4 years ago
mode-makefile.js
4 years ago
mode-markdown.js
4 years ago
mode-mask.js
4 years ago
mode-matlab.js
4 years ago
mode-maze.js
4 years ago
mode-mediawiki.js
4 years ago
mode-mel.js
4 years ago
mode-mips.js
4 years ago
mode-mixal.js
4 years ago
mode-mushcode.js
4 years ago
mode-mysql.js
4 years ago
mode-nginx.js
4 years ago
mode-nim.js
4 years ago
mode-nix.js
4 years ago
mode-nsis.js
4 years ago
mode-nunjucks.js
4 years ago
mode-objectivec.js
4 years ago
mode-ocaml.js
4 years ago
mode-partiql.js
4 years ago
mode-pascal.js
4 years ago
mode-perl.js
4 years ago
mode-pgsql.js
4 years ago
mode-php.js
4 years ago
mode-php_laravel_blade.js
4 years ago
mode-pig.js
4 years ago
mode-plain_text.js
4 years ago
mode-powershell.js
4 years ago
mode-praat.js
4 years ago
mode-prisma.js
4 years ago
mode-prolog.js
4 years ago
mode-properties.js
4 years ago
mode-protobuf.js
4 years ago
mode-puppet.js
4 years ago
mode-python.js
4 years ago
mode-qml.js
4 years ago
mode-r.js
4 years ago
mode-raku.js
4 years ago
mode-razor.js
4 years ago
mode-rdoc.js
4 years ago
mode-red.js
4 years ago
mode-redshift.js
4 years ago
mode-rhtml.js
4 years ago
mode-robot.js
4 years ago
mode-rst.js
4 years ago
mode-ruby.js
4 years ago
mode-rust.js
4 years ago
mode-sac.js
4 years ago
mode-sass.js
4 years ago
mode-scad.js
4 years ago
mode-scala.js
4 years ago
mode-scheme.js
4 years ago
mode-scrypt.js
4 years ago
mode-scss.js
4 years ago
mode-sh.js
4 years ago
mode-sjs.js
4 years ago
mode-slim.js
4 years ago
mode-smarty.js
4 years ago
mode-smithy.js
4 years ago
mode-snippets.js
4 years ago
mode-soy_template.js
4 years ago
mode-space.js
4 years ago
mode-sparql.js
4 years ago
mode-sql.js
4 years ago
mode-sqlserver.js
4 years ago
mode-stylus.js
4 years ago
mode-svg.js
4 years ago
mode-swift.js
4 years ago
mode-tcl.js
4 years ago
mode-terraform.js
4 years ago
mode-tex.js
4 years ago
mode-text.js
4 years ago
mode-textile.js
4 years ago
mode-toml.js
4 years ago
mode-tsx.js
4 years ago
mode-turtle.js
4 years ago
mode-twig.js
4 years ago
mode-typescript.js
4 years ago
mode-vala.js
4 years ago
mode-vbscript.js
4 years ago
mode-velocity.js
4 years ago
mode-verilog.js
4 years ago
mode-vhdl.js
4 years ago
mode-visualforce.js
4 years ago
mode-wollok.js
4 years ago
mode-xml.js
4 years ago
mode-xquery.js
4 years ago
mode-yaml.js
4 years ago
mode-zeek.js
4 years ago
theme-ambiance.js
4 years ago
theme-chaos.js
4 years ago
theme-chrome.js
4 years ago
theme-cloud9_day.js
4 years ago
theme-cloud9_night.js
4 years ago
theme-cloud9_night_low_color.js
4 years ago
theme-clouds.js
4 years ago
theme-clouds_midnight.js
4 years ago
theme-cobalt.js
4 years ago
theme-crimson_editor.js
4 years ago
theme-dawn.js
4 years ago
theme-dracula.js
4 years ago
theme-dreamweaver.js
4 years ago
theme-eclipse.js
4 years ago
theme-github.js
4 years ago
theme-gob.js
4 years ago
theme-gruvbox.js
4 years ago
theme-gruvbox_dark_hard.js
4 years ago
theme-gruvbox_light_hard.js
4 years ago
theme-idle_fingers.js
4 years ago
theme-iplastic.js
4 years ago
theme-katzenmilch.js
4 years ago
theme-kr_theme.js
4 years ago
theme-kuroir.js
4 years ago
theme-merbivore.js
4 years ago
theme-merbivore_soft.js
4 years ago
theme-mono_industrial.js
4 years ago
theme-monokai.js
4 years ago
theme-nord_dark.js
4 years ago
theme-one_dark.js
4 years ago
theme-pastel_on_dark.js
4 years ago
theme-solarized_dark.js
4 years ago
theme-solarized_light.js
4 years ago
theme-sqlserver.js
4 years ago
theme-terminal.js
4 years ago
theme-textmate.js
4 years ago
theme-tomorrow.js
4 years ago
theme-tomorrow_night.js
4 years ago
theme-tomorrow_night_blue.js
4 years ago
theme-tomorrow_night_bright.js
4 years ago
theme-tomorrow_night_eighties.js
4 years ago
theme-twilight.js
4 years ago
theme-vibrant_ink.js
4 years ago
theme-xcode.js
4 years ago
worker-base.js
4 years ago
worker-coffee.js
4 years ago
worker-css.js
4 years ago
worker-html.js
4 years ago
worker-javascript.js
4 years ago
worker-json.js
4 years ago
worker-lua.js
4 years ago
worker-php.js
4 years ago
worker-xml.js
4 years ago
worker-xquery.js
4 years ago
worker-yaml.js
4 years ago
mode-crystal.js
8 lines
| 1 | ace.define("ace/mode/crystal_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(){var e="puts|initialize|previous_def|typeof|as|pointerof|sizeof|instance_sizeof",t="if|end|else|elsif|unless|case|when|break|while|next|until|def|return|class|new|getter|setter|property|lib|fun|do|struct|private|protected|public|module|super|abstract|include|extend|begin|enum|raise|yield|with|alias|rescue|ensure|macro|uninitialized|union|type|require",n="true|TRUE|false|FALSE|nil|NIL|__LINE__|__END_LINE__|__FILE__|__DIR__",r="$DEBUG|$defout|$FILENAME|$LOAD_PATH|$SAFE|$stdin|$stdout|$stderr|$VERBOSE|root_url|flash|session|cookies|params|request|response|logger|self",i=this.$keywords=this.createKeywordMapper({keyword:t,"constant.language":n,"variable.language":r,"support.function":e},"identifier"),s="(?:0[xX][\\dA-Fa-f]+)",o="(?:[0-9][\\d_]*)",u="(?:0o[0-7][0-7]*)",a="(?:0[bB][01]+)",f="(?:[+-]?)(?:"+s+"|"+o+"|"+u+"|"+a+")(?:_?[iIuU](?:8|16|32|64))?\\b",l=/\\(?:[nsrtvfbae'"\\]|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4}|u{[\da-fA-F]{1,6}})/,c=/\\(?:[nsrtvfbae'"\\]|[0-7]{3}|x[\da-fA-F]{2}|u[\da-fA-F]{4}|u{[\da-fA-F]{1,6}}|u{(:?[\da-fA-F]{2}\s)*[\da-fA-F]{2}})/;this.$rules={start:[{token:"comment",regex:"#.*$"},{token:"string.regexp",regex:"[/]",push:[{token:"constant.language.escape",regex:c},{token:"string.regexp",regex:"[/][imx]*(?=[).,;\\s]|$)",next:"pop"},{defaultToken:"string.regexp"}]},[{regex:"[{}]",onMatch:function(e,t,n){this.next=e=="{"?this.nextState:"";if(e=="{"&&n.length)return n.unshift("start",t),"paren.lparen";if(e=="}"&&n.length){n.shift(),this.next=n.shift();if(this.next.indexOf("string")!=-1)return"paren.end"}return e=="{"?"paren.lparen":"paren.rparen"},nextState:"start"},{token:"string.start",regex:/"/,push:[{token:"constant.language.escape",regex:c},{token:"string",regex:/\\#{/},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/"/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/`/,push:[{token:"constant.language.escape",regex:c},{token:"string",regex:/\\#{/},{token:"paren.start",regex:/#{/,push:"start"},{token:"string.end",regex:/`/,next:"pop"},{defaultToken:"string"}]},{stateName:"rpstring",token:"string.start",regex:/%[Qx]?\(/,push:[{token:"constant.language.escape",regex:c},{token:"string.start",regex:/\(/,push:"rpstring"},{token:"string.end",regex:/\)/,next:"pop"},{token:"paren.start",regex:/#{/,push:"start"},{defaultToken:"string"}]},{stateName:"spstring",token:"string.start",regex:/%[Qx]?\[/,push:[{token:"constant.language.escape",regex:c},{token:"string.start",regex:/\[/,push:"spstring"},{token:"string.end",regex:/]/,next:"pop"},{token:"paren.start",regex:/#{/,push:"start"},{defaultToken:"string"}]},{stateName:"fpstring",token:"string.start",regex:/%[Qx]?{/,push:[{token:"constant.language.escape",regex:c},{token:"string.start",regex:/{/,push:"fpstring"},{token:"string.end",regex:/}/,next:"pop"},{token:"paren.start",regex:/#{/,push:"start"},{defaultToken:"string"}]},{stateName:"tpstring",token:"string.start",regex:/%[Qx]?</,push:[{token:"constant.language.escape",regex:c},{token:"string.start",regex:/</,push:"tpstring"},{token:"string.end",regex:/>/,next:"pop"},{token:"paren.start",regex:/#{/,push:"start"},{defaultToken:"string"}]},{stateName:"ppstring",token:"string.start",regex:/%[Qx]?\|/,push:[{token:"constant.language.escape",regex:c},{token:"string.end",regex:/\|/,next:"pop"},{token:"paren.start",regex:/#{/,push:"start"},{defaultToken:"string"}]},{stateName:"rpqstring",token:"string.start",regex:/%[qwir]\(/,push:[{token:"string.start",regex:/\(/,push:"rpqstring"},{token:"string.end",regex:/\)/,next:"pop"},{defaultToken:"string"}]},{stateName:"spqstring",token:"string.start",regex:/%[qwir]\[/,push:[{token:"string.start",regex:/\[/,push:"spqstring"},{token:"string.end",regex:/]/,next:"pop"},{defaultToken:"string"}]},{stateName:"fpqstring",token:"string.start",regex:/%[qwir]{/,push:[{token:"string.start",regex:/{/,push:"fpqstring"},{token:"string.end",regex:/}/,next:"pop"},{defaultToken:"string"}]},{stateName:"tpqstring",token:"string.start",regex:/%[qwir]</,push:[{token:"string.start",regex:/</,push:"tpqstring"},{token:"string.end",regex:/>/,next:"pop"},{defaultToken:"string"}]},{stateName:"ppqstring",token:"string.start",regex:/%[qwir]\|/,push:[{token:"string.end",regex:/\|/,next:"pop"},{defaultToken:"string"}]},{token:"string.start",regex:/'/,push:[{token:"constant.language.escape",regex:l},{token:"string.end",regex:/'|$/,next:"pop"},{defaultToken:"string"}]}],{token:"text",regex:"::"},{token:"variable.instance",regex:"@{1,2}[a-zA-Z_\\d]+"},{token:"variable.fresh",regex:"%[a-zA-Z_\\d]+"},{token:"support.class",regex:"[A-Z][a-zA-Z_\\d]+"},{token:"constant.other.symbol",regex:"[:](?:(?:===|<=>|\\[]\\?|\\[]=|\\[]|>>|\\*\\*|<<|==|!=|>=|<=|!~|=~|<|\\+|-|\\*|\\/|%|&|\\||\\^|>|!|~)|(?:(?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?))"},{token:"constant.numeric",regex:"[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?(?:_?[fF](?:32|64))?\\b"},{token:"constant.numeric",regex:f},{token:"constant.other.symbol",regex:':"',push:[{token:"constant.language.escape",regex:c},{token:"constant.other.symbol",regex:'"',next:"pop"},{defaultToken:"constant.other.symbol"}]},{token:"constant.language.boolean",regex:"(?:true|false)\\b"},{token:"support.function",regex:"(?:is_a\\?|nil\\?|responds_to\\?|as\\?)"},{token:i,regex:"[a-zA-Z_$][a-zA-Z0-9_$!?]*\\b"},{token:"variable.system",regex:"\\$\\!|\\$\\?"},{token:"punctuation.separator.key-value",regex:"=>"},{stateName:"heredoc",onMatch:function(e,t,n){var r="heredoc",i=e.split(this.splitRegex);return n.push(r,i[3]),[{type:"constant",value:i[1]},{type:"string",value:i[2]},{type:"support.class",value:i[3]},{type:"string",value:i[4]}]},regex:"(<<-)([']?)([\\w]+)([']?)",rules:{heredoc:[{token:"string",regex:"^ +"},{onMatch:function(e,t,n){return e===n[1]?(n.shift(),n.shift(),this.next=n[0]||"start","support.class"):(this.next="","string")},regex:".*$",next:"start"}]}},{regex:"$",token:"empty",next:function(e,t){return t[0]==="heredoc"?t[0]:e}},{token:"punctuation.operator",regex:/[.]\s*(?![.])/,push:[{token:"punctuation.operator",regex:/[.]\s*(?![.])/},{token:"support.function",regex:"[a-zA-Z_$][a-zA-Z0-9_$]*\\b"},{regex:"",token:"empty",next:"pop"}]},{token:"keyword.operator",regex:"!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|\\?|\\:|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\^|\\|"},{token:"punctuation.operator",regex:/[?:,;.]/},{token:"paren.lparen",regex:"[[({]"},{token:"paren.rparen",regex:"[\\])}]"},{token:"text",regex:"\\s+"}]},this.normalizeRules()};r.inherits(s,i),t.CrystalHighlightRules=s}),ace.define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"],function(e,t,n){"use strict";var r=e("../range").Range,i=function(){};(function(){this.checkOutdent=function(e,t){return/^\s+$/.test(e)?/^\s*\}/.test(t):!1},this.autoOutdent=function(e,t){var n=e.getLine(t),i=n.match(/^(\s*\})/);if(!i)return 0;var s=i[1].length,o=e.findMatchingBracket({row:t,column:s});if(!o||o.row==t)return 0;var u=this.$getIndent(e.getLine(o.row));e.replace(new r(t,0,t,s-1),u)},this.$getIndent=function(e){return e.match(/^\s*/)[0]}}).call(i.prototype),t.MatchingBraceOutdent=i}),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/crystal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/crystal_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/behaviour/cstyle","ace/mode/folding/coffee"],function(e,t,n){"use strict";var r=e("../lib/oop"),i=e("./text").Mode,s=e("./crystal_highlight_rules").CrystalHighlightRules,o=e("./matching_brace_outdent").MatchingBraceOutdent,u=e("../range").Range,a=e("./behaviour/cstyle").CstyleBehaviour,f=e("./folding/coffee").FoldMode,l=function(){this.HighlightRules=s,this.$outdent=new o,this.$behaviour=new a,this.foldingRules=new f};r.inherits(l,i),function(){this.lineCommentStart="#",this.getNextLineIndent=function(e,t,n){var r=this.$getIndent(t),i=this.getTokenizer().getLineTokens(t,e),s=i.tokens;if(s.length&&s[s.length-1].type=="comment")return r;if(e=="start"){var o=t.match(/^.*[\{\(\[]\s*$/),u=t.match(/^\s*(class|def|module)\s.*$/),a=t.match(/.*do(\s*|\s+\|.*\|\s*)$/),f=t.match(/^\s*(if|else|when)\s*/);if(o||u||a||f)r+=n}return r},this.checkOutdent=function(e,t,n){return/^\s+(end|else)$/.test(t+n)||this.$outdent.checkOutdent(t,n)},this.autoOutdent=function(e,t,n){var r=t.getLine(n);if(/}/.test(r))return this.$outdent.autoOutdent(t,n);var i=this.$getIndent(r),s=t.getLine(n-1),o=this.$getIndent(s),a=t.getTabString();o.length<=i.length&&i.slice(-a.length)==a&&t.remove(new u(n,i.length-a.length,n,i.length))},this.$id="ace/mode/crystal"}.call(l.prototype),t.Mode=l}); (function() { |
| 2 | ace.require(["ace/mode/crystal"], function(m) { |
| 3 | if (typeof module == "object" && typeof exports == "object" && module) { |
| 4 | module.exports = m; |
| 5 | } |
| 6 | }); |
| 7 | })(); |
| 8 |