snippets
3 years ago
ace.js
3 years ago
ext-beautify.js
3 years ago
ext-code_lens.js
3 years ago
ext-elastic_tabstops_lite.js
3 years ago
ext-emmet.js
3 years ago
ext-error_marker.js
3 years ago
ext-hardwrap.js
3 years ago
ext-keybinding_menu.js
3 years ago
ext-language_tools.js
3 years ago
ext-linking.js
3 years ago
ext-modelist.js
3 years ago
ext-options.js
3 years ago
ext-prompt.js
3 years ago
ext-rtl.js
3 years ago
ext-searchbox.js
3 years ago
ext-settings_menu.js
3 years ago
ext-spellcheck.js
3 years ago
ext-split.js
3 years ago
ext-static_highlight.js
3 years ago
ext-statusbar.js
3 years ago
ext-textarea.js
3 years ago
ext-themelist.js
3 years ago
ext-whitespace.js
3 years ago
keybinding-emacs.js
3 years ago
keybinding-sublime.js
3 years ago
keybinding-vim.js
3 years ago
keybinding-vscode.js
3 years ago
mode-abap.js
3 years ago
mode-abc.js
3 years ago
mode-actionscript.js
3 years ago
mode-ada.js
3 years ago
mode-alda.js
3 years ago
mode-apache_conf.js
3 years ago
mode-apex.js
3 years ago
mode-applescript.js
3 years ago
mode-aql.js
3 years ago
mode-asciidoc.js
3 years ago
mode-asl.js
3 years ago
mode-assembly_x86.js
3 years ago
mode-autohotkey.js
3 years ago
mode-batchfile.js
3 years ago
mode-c9search.js
3 years ago
mode-c_cpp.js
3 years ago
mode-cirru.js
3 years ago
mode-clojure.js
3 years ago
mode-cobol.js
3 years ago
mode-coffee.js
3 years ago
mode-coldfusion.js
3 years ago
mode-crystal.js
3 years ago
mode-csharp.js
3 years ago
mode-csound_document.js
3 years ago
mode-csound_orchestra.js
3 years ago
mode-csound_score.js
3 years ago
mode-csp.js
3 years ago
mode-css.js
3 years ago
mode-curly.js
3 years ago
mode-d.js
3 years ago
mode-dart.js
3 years ago
mode-diff.js
3 years ago
mode-django.js
3 years ago
mode-dockerfile.js
3 years ago
mode-dot.js
3 years ago
mode-drools.js
3 years ago
mode-edifact.js
3 years ago
mode-eiffel.js
3 years ago
mode-ejs.js
3 years ago
mode-elixir.js
3 years ago
mode-elm.js
3 years ago
mode-erlang.js
3 years ago
mode-forth.js
3 years ago
mode-fortran.js
3 years ago
mode-fsharp.js
3 years ago
mode-fsl.js
3 years ago
mode-ftl.js
3 years ago
mode-gcode.js
3 years ago
mode-gherkin.js
3 years ago
mode-gitignore.js
3 years ago
mode-glsl.js
3 years ago
mode-gobstones.js
3 years ago
mode-golang.js
3 years ago
mode-graphqlschema.js
3 years ago
mode-groovy.js
3 years ago
mode-haml.js
3 years ago
mode-handlebars.js
3 years ago
mode-haskell.js
3 years ago
mode-haskell_cabal.js
3 years ago
mode-haxe.js
3 years ago
mode-hjson.js
3 years ago
mode-html.js
3 years ago
mode-html_elixir.js
3 years ago
mode-html_ruby.js
3 years ago
mode-ini.js
3 years ago
mode-io.js
3 years ago
mode-ion.js
3 years ago
mode-jack.js
3 years ago
mode-jade.js
3 years ago
mode-java.js
3 years ago
mode-javascript.js
3 years ago
mode-json.js
3 years ago
mode-json5.js
3 years ago
mode-jsoniq.js
3 years ago
mode-jsp.js
3 years ago
mode-jssm.js
3 years ago
mode-jsx.js
3 years ago
mode-julia.js
3 years ago
mode-kotlin.js
3 years ago
mode-latex.js
3 years ago
mode-latte.js
3 years ago
mode-less.js
3 years ago
mode-liquid.js
3 years ago
mode-lisp.js
3 years ago
mode-livescript.js
3 years ago
mode-logiql.js
3 years ago
mode-logtalk.js
3 years ago
mode-lsl.js
3 years ago
mode-lua.js
3 years ago
mode-luapage.js
3 years ago
mode-lucene.js
3 years ago
mode-makefile.js
3 years ago
mode-markdown.js
3 years ago
mode-mask.js
3 years ago
mode-matlab.js
3 years ago
mode-maze.js
3 years ago
mode-mediawiki.js
3 years ago
mode-mel.js
3 years ago
mode-mips.js
3 years ago
mode-mixal.js
3 years ago
mode-mushcode.js
3 years ago
mode-mysql.js
3 years ago
mode-nginx.js
3 years ago
mode-nim.js
3 years ago
mode-nix.js
3 years ago
mode-nsis.js
3 years ago
mode-nunjucks.js
3 years ago
mode-objectivec.js
3 years ago
mode-ocaml.js
3 years ago
mode-partiql.js
3 years ago
mode-pascal.js
3 years ago
mode-perl.js
3 years ago
mode-pgsql.js
3 years ago
mode-php.js
3 years ago
mode-php_laravel_blade.js
3 years ago
mode-pig.js
3 years ago
mode-plain_text.js
3 years ago
mode-powershell.js
3 years ago
mode-praat.js
3 years ago
mode-prisma.js
3 years ago
mode-prolog.js
3 years ago
mode-properties.js
3 years ago
mode-protobuf.js
3 years ago
mode-puppet.js
3 years ago
mode-python.js
3 years ago
mode-qml.js
3 years ago
mode-r.js
3 years ago
mode-raku.js
3 years ago
mode-razor.js
3 years ago
mode-rdoc.js
3 years ago
mode-red.js
3 years ago
mode-redshift.js
3 years ago
mode-rhtml.js
3 years ago
mode-robot.js
3 years ago
mode-rst.js
3 years ago
mode-ruby.js
3 years ago
mode-rust.js
3 years ago
mode-sac.js
3 years ago
mode-sass.js
3 years ago
mode-scad.js
3 years ago
mode-scala.js
3 years ago
mode-scheme.js
3 years ago
mode-scrypt.js
3 years ago
mode-scss.js
3 years ago
mode-sh.js
3 years ago
mode-sjs.js
3 years ago
mode-slim.js
3 years ago
mode-smarty.js
3 years ago
mode-smithy.js
3 years ago
mode-snippets.js
3 years ago
mode-soy_template.js
3 years ago
mode-space.js
3 years ago
mode-sparql.js
3 years ago
mode-sql.js
3 years ago
mode-sqlserver.js
3 years ago
mode-stylus.js
3 years ago
mode-svg.js
3 years ago
mode-swift.js
3 years ago
mode-tcl.js
3 years ago
mode-terraform.js
3 years ago
mode-tex.js
3 years ago
mode-text.js
3 years ago
mode-textile.js
3 years ago
mode-toml.js
3 years ago
mode-tsx.js
3 years ago
mode-turtle.js
3 years ago
mode-twig.js
3 years ago
mode-typescript.js
3 years ago
mode-vala.js
3 years ago
mode-vbscript.js
3 years ago
mode-velocity.js
3 years ago
mode-verilog.js
3 years ago
mode-vhdl.js
3 years ago
mode-visualforce.js
3 years ago
mode-wollok.js
3 years ago
mode-xml.js
3 years ago
mode-xquery.js
3 years ago
mode-yaml.js
3 years ago
mode-zeek.js
3 years ago
theme-ambiance.js
3 years ago
theme-chaos.js
3 years ago
theme-chrome.js
3 years ago
theme-cloud9_day.js
3 years ago
theme-cloud9_night.js
3 years ago
theme-cloud9_night_low_color.js
3 years ago
theme-clouds.js
3 years ago
theme-clouds_midnight.js
3 years ago
theme-cobalt.js
3 years ago
theme-crimson_editor.js
3 years ago
theme-dawn.js
3 years ago
theme-dracula.js
3 years ago
theme-dreamweaver.js
3 years ago
theme-eclipse.js
3 years ago
theme-github.js
3 years ago
theme-gob.js
3 years ago
theme-gruvbox.js
3 years ago
theme-gruvbox_dark_hard.js
3 years ago
theme-gruvbox_light_hard.js
3 years ago
theme-idle_fingers.js
3 years ago
theme-iplastic.js
3 years ago
theme-katzenmilch.js
3 years ago
theme-kr_theme.js
3 years ago
theme-kuroir.js
3 years ago
theme-merbivore.js
3 years ago
theme-merbivore_soft.js
3 years ago
theme-mono_industrial.js
3 years ago
theme-monokai.js
3 years ago
theme-nord_dark.js
3 years ago
theme-one_dark.js
3 years ago
theme-pastel_on_dark.js
3 years ago
theme-solarized_dark.js
3 years ago
theme-solarized_light.js
3 years ago
theme-sqlserver.js
3 years ago
theme-terminal.js
3 years ago
theme-textmate.js
3 years ago
theme-tomorrow.js
3 years ago
theme-tomorrow_night.js
3 years ago
theme-tomorrow_night_blue.js
3 years ago
theme-tomorrow_night_bright.js
3 years ago
theme-tomorrow_night_eighties.js
3 years ago
theme-twilight.js
3 years ago
theme-vibrant_ink.js
3 years ago
theme-xcode.js
3 years ago
worker-base.js
3 years ago
worker-coffee.js
3 years ago
worker-css.js
3 years ago
worker-html.js
3 years ago
worker-javascript.js
3 years ago
worker-json.js
3 years ago
worker-lua.js
3 years ago
worker-php.js
3 years ago
worker-xml.js
3 years ago
worker-xquery.js
3 years ago
worker-yaml.js
3 years ago
ext-beautify.js
8 lines
| 1 | ace.define("ace/ext/beautify",["require","exports","module","ace/token_iterator"],function(e,t,n){"use strict";function i(e,t){return e.type.lastIndexOf(t+".xml")>-1}var r=e("../token_iterator").TokenIterator;t.singletonTags=["area","base","br","col","command","embed","hr","html","img","input","keygen","link","meta","param","source","track","wbr"],t.blockTags=["article","aside","blockquote","body","div","dl","fieldset","footer","form","head","header","html","nav","ol","p","script","section","style","table","tbody","tfoot","thead","ul"],t.formatOptions={lineBreaksAfterCommasInCurlyBlock:!0},t.beautify=function(e){var n=new r(e,0,0),s=n.getCurrentToken(),o=e.getTabString(),u=t.singletonTags,a=t.blockTags,f=t.formatOptions||{},l,c=!1,h=!1,p=!1,d="",v="",m="",g=0,y=0,b=0,w=0,E=0,S=0,x=0,T,N=0,C=0,k=[],L=!1,A,O=!1,M=!1,_=!1,D=!1,P={0:0},H=[],B=!1,j=function(){l&&l.value&&l.type!=="string.regexp"&&(l.value=l.value.replace(/^\s*/,""))},F=function(){var e=d.length-1;for(;;){if(e==0)break;if(d[e]!==" ")break;e-=1}d=d.slice(0,e+1)},I=function(){d=d.trimRight(),c=!1};while(s!==null){N=n.getCurrentTokenRow(),k=n.$rowTokens,l=n.stepForward();if(typeof s!="undefined"){v=s.value,E=0,_=m==="style"||e.$modeId==="ace/mode/css",i(s,"tag-open")?(M=!0,l&&(D=a.indexOf(l.value)!==-1),v==="</"&&(D&&!c&&C<1&&C++,_&&(C=1),E=1,D=!1)):i(s,"tag-close")?M=!1:i(s,"comment.start")?D=!0:i(s,"comment.end")&&(D=!1),!M&&!C&&s.type==="paren.rparen"&&s.value.substr(0,1)==="}"&&C++,N!==T&&(C=N,T&&(C-=T));if(C){I();for(;C>0;C--)d+="\n";c=!0,!i(s,"comment")&&!s.type.match(/^(comment|string)$/)&&(v=v.trimLeft())}if(v){s.type==="keyword"&&v.match(/^(if|else|elseif|for|foreach|while|switch)$/)?(H[g]=v,j(),p=!0,v.match(/^(else|elseif)$/)&&d.match(/\}[\s]*$/)&&(I(),h=!0)):s.type==="paren.lparen"?(j(),v.substr(-1)==="{"&&(p=!0,O=!1,M||(C=1)),v.substr(0,1)==="{"&&(h=!0,d.substr(-1)!=="["&&d.trimRight().substr(-1)==="["?(I(),h=!1):d.trimRight().substr(-1)===")"?I():F())):s.type==="paren.rparen"?(E=1,v.substr(0,1)==="}"&&(H[g-1]==="case"&&E++,d.trimRight().substr(-1)==="{"?I():(h=!0,_&&(C+=2))),v.substr(0,1)==="]"&&d.substr(-1)!=="}"&&d.trimRight().substr(-1)==="}"&&(h=!1,w++,I()),v.substr(0,1)===")"&&d.substr(-1)!=="("&&d.trimRight().substr(-1)==="("&&(h=!1,w++,I()),F()):s.type!=="keyword.operator"&&s.type!=="keyword"||!v.match(/^(=|==|===|!=|!==|&&|\|\||and|or|xor|\+=|.=|>|>=|<|<=|=>)$/)?s.type==="punctuation.operator"&&v===";"?(I(),j(),p=!0,_&&C++):s.type==="punctuation.operator"&&v.match(/^(:|,)$/)?(I(),j(),v.match(/^(,)$/)&&x>0&&S===0&&f.lineBreaksAfterCommasInCurlyBlock?C++:(p=!0,c=!1)):s.type==="support.php_tag"&&v==="?>"&&!c?(I(),h=!0):i(s,"attribute-name")&&d.substr(-1).match(/^\s$/)?h=!0:i(s,"attribute-equals")?(F(),j()):i(s,"tag-close")?(F(),v==="/>"&&(h=!0)):s.type==="keyword"&&v.match(/^(case|default)$/)&&B&&(E=1):(I(),j(),h=!0,p=!0);if(c&&(!s.type.match(/^(comment)$/)||!!v.substr(0,1).match(/^[/#]$/))&&(!s.type.match(/^(string)$/)||!!v.substr(0,1).match(/^['"@]$/))){w=b;if(g>y){w++;for(A=g;A>y;A--)P[A]=w}else g<y&&(w=P[g]);y=g,b=w,E&&(w-=E),O&&!S&&(w++,O=!1);for(A=0;A<w;A++)d+=o}s.type==="keyword"&&v.match(/^(case|default)$/)?B===!1&&(H[g]=v,g++,B=!0):s.type==="keyword"&&v.match(/^(break)$/)&&H[g-1]&&H[g-1].match(/^(case|default)$/)&&(g--,B=!1),s.type==="paren.lparen"&&(S+=(v.match(/\(/g)||[]).length,x+=(v.match(/\{/g)||[]).length,g+=v.length),s.type==="keyword"&&v.match(/^(if|else|elseif|for|while)$/)?(O=!0,S=0):!S&&v.trim()&&s.type!=="comment"&&(O=!1);if(s.type==="paren.rparen"){S-=(v.match(/\)/g)||[]).length,x-=(v.match(/\}/g)||[]).length;for(A=0;A<v.length;A++)g--,v.substr(A,1)==="}"&&H[g]==="case"&&g--}s.type=="text"&&(v=v.replace(/\s+$/," ")),h&&!c&&(F(),d.substr(-1)!=="\n"&&(d+=" ")),d+=v,p&&(d+=" "),c=!1,h=!1,p=!1;if(i(s,"tag-close")&&(D||a.indexOf(m)!==-1)||i(s,"doctype")&&v===">")D&&l&&l.value==="</"?C=-1:C=1;l&&u.indexOf(l.value)===-1&&(i(s,"tag-open")&&v==="</"?g--:i(s,"tag-open")&&v==="<"?g++:i(s,"tag-close")&&v==="/>"&&g--),i(s,"tag-name")&&(m=v),T=N}}s=l}d=d.trim(),e.doc.setValue(d)},t.commands=[{name:"beautify",description:"Format selection (Beautify)",exec:function(e){t.beautify(e.session)},bindKey:"Ctrl-Shift-B"}]}); (function() { |
| 2 | ace.require(["ace/ext/beautify"], function(m) { |
| 3 | if (typeof module == "object" && typeof exports == "object" && module) { |
| 4 | module.exports = m; |
| 5 | } |
| 6 | }); |
| 7 | })(); |
| 8 |