bedrock_sass 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/assets/_vendor/ace/ace.js +255 -589
- data/assets/_vendor/ace/ext-beautify.js +1 -2
- data/assets/_vendor/ace/ext-elastic_tabstops_lite.js +2 -2
- data/assets/_vendor/ace/ext-emmet.js +4 -4
- data/assets/_vendor/ace/ext-error_marker.js +1 -2
- data/assets/_vendor/ace/ext-keybinding_menu.js +1 -2
- data/assets/_vendor/ace/ext-language_tools.js +5 -9
- data/assets/_vendor/ace/ext-linking.js +1 -2
- data/assets/_vendor/ace/ext-modelist.js +9 -5
- data/assets/_vendor/ace/ext-options.js +10 -7
- data/assets/_vendor/ace/ext-rtl.js +1 -2
- data/assets/_vendor/ace/ext-searchbox.js +8 -4
- data/assets/_vendor/ace/ext-settings_menu.js +10 -7
- data/assets/_vendor/ace/ext-spellcheck.js +1 -2
- data/assets/_vendor/ace/ext-split.js +1 -2
- data/assets/_vendor/ace/ext-static_highlight.js +11 -8
- data/assets/_vendor/ace/ext-statusbar.js +1 -2
- data/assets/_vendor/ace/ext-textarea.js +1 -5
- data/assets/_vendor/ace/ext-themelist.js +2 -4
- data/assets/_vendor/ace/ext-whitespace.js +1 -2
- data/assets/_vendor/ace/keybinding-emacs.js +6 -2
- data/assets/_vendor/ace/keybinding-vim.js +13 -25
- data/assets/_vendor/ace/mode-abap.js +2 -3
- data/assets/_vendor/ace/mode-abc.js +3 -2
- data/assets/_vendor/ace/mode-actionscript.js +2 -2
- data/assets/_vendor/ace/mode-ada.js +1 -2
- data/assets/_vendor/ace/mode-apache_conf.js +2 -2
- data/assets/_vendor/ace/mode-apex.js +457 -0
- data/assets/_vendor/ace/mode-applescript.js +1 -2
- data/assets/_vendor/ace/mode-asciidoc.js +2 -2
- data/assets/_vendor/ace/mode-asl.js +1 -2
- data/assets/_vendor/ace/mode-assembly_x86.js +2 -2
- data/assets/_vendor/ace/mode-autohotkey.js +1 -2
- data/assets/_vendor/ace/mode-batchfile.js +2 -2
- data/assets/_vendor/ace/mode-bro.js +2 -2
- data/assets/_vendor/ace/mode-c9search.js +1 -2
- data/assets/_vendor/ace/mode-c_cpp.js +2 -2
- data/assets/_vendor/ace/mode-cirru.js +1 -2
- data/assets/_vendor/ace/mode-clojure.js +2 -2
- data/assets/_vendor/ace/mode-cobol.js +1 -2
- data/assets/_vendor/ace/mode-coffee.js +1 -2
- data/assets/_vendor/ace/mode-coldfusion.js +3 -2
- data/assets/_vendor/ace/mode-csharp.js +3 -3
- data/assets/_vendor/ace/mode-csound_document.js +319 -80
- data/assets/_vendor/ace/mode-csound_orchestra.js +323 -86
- data/assets/_vendor/ace/mode-csound_score.js +1 -2
- data/assets/_vendor/ace/mode-csp.js +1 -2
- data/assets/_vendor/ace/mode-css.js +2 -2
- data/assets/_vendor/ace/mode-curly.js +3 -2
- data/assets/_vendor/ace/mode-d.js +2 -2
- data/assets/_vendor/ace/mode-dart.js +24 -14
- data/assets/_vendor/ace/mode-diff.js +4 -4
- data/assets/_vendor/ace/mode-django.js +3 -2
- data/assets/_vendor/ace/mode-dockerfile.js +3 -2
- data/assets/_vendor/ace/mode-dot.js +1 -2
- data/assets/_vendor/ace/mode-drools.js +3 -2
- data/assets/_vendor/ace/mode-edifact.js +2 -2
- data/assets/_vendor/ace/mode-eiffel.js +1 -2
- data/assets/_vendor/ace/mode-ejs.js +5 -2
- data/assets/_vendor/ace/mode-elixir.js +2 -2
- data/assets/_vendor/ace/mode-elm.js +1 -2
- data/assets/_vendor/ace/mode-erlang.js +2 -2
- data/assets/_vendor/ace/mode-forth.js +2 -2
- data/assets/_vendor/ace/mode-fortran.js +1 -2
- data/assets/_vendor/ace/mode-fsharp.js +1 -2
- data/assets/_vendor/ace/mode-fsl.js +258 -0
- data/assets/_vendor/ace/mode-ftl.js +3 -2
- data/assets/_vendor/ace/mode-gcode.js +1 -2
- data/assets/_vendor/ace/mode-gherkin.js +2 -4
- data/assets/_vendor/ace/mode-gitignore.js +1 -2
- data/assets/_vendor/ace/mode-glsl.js +2 -2
- data/assets/_vendor/ace/mode-gobstones.js +3 -2
- data/assets/_vendor/ace/mode-golang.js +1 -2
- data/assets/_vendor/ace/mode-graphqlschema.js +1 -2
- data/assets/_vendor/ace/mode-groovy.js +4 -2
- data/assets/_vendor/ace/mode-haml.js +5 -2
- data/assets/_vendor/ace/mode-handlebars.js +3 -2
- data/assets/_vendor/ace/mode-haskell.js +2 -2
- data/assets/_vendor/ace/mode-haskell_cabal.js +1 -2
- data/assets/_vendor/ace/mode-haxe.js +2 -2
- data/assets/_vendor/ace/mode-hjson.js +2 -2
- data/assets/_vendor/ace/mode-html.js +3 -2
- data/assets/_vendor/ace/mode-html_elixir.js +4 -2
- data/assets/_vendor/ace/mode-html_ruby.js +5 -2
- data/assets/_vendor/ace/mode-ini.js +1 -2
- data/assets/_vendor/ace/mode-io.js +2 -2
- data/assets/_vendor/ace/mode-jack.js +1 -2
- data/assets/_vendor/ace/mode-jade.js +14 -115
- data/assets/_vendor/ace/mode-java.js +64 -3
- data/assets/_vendor/ace/mode-javascript.js +2 -2
- data/assets/_vendor/ace/mode-json.js +1 -2
- data/assets/_vendor/ace/mode-jsoniq.js +8 -2317
- data/assets/_vendor/ace/mode-jsp.js +4 -2
- data/assets/_vendor/ace/mode-jssm.js +2 -2
- data/assets/_vendor/ace/mode-jsx.js +1 -2
- data/assets/_vendor/ace/mode-julia.js +2 -2
- data/assets/_vendor/ace/mode-kotlin.js +2 -2
- data/assets/_vendor/ace/mode-latex.js +1 -2
- data/assets/_vendor/ace/mode-less.js +4 -2
- data/assets/_vendor/ace/mode-liquid.js +2026 -477
- data/assets/_vendor/ace/mode-lisp.js +2 -2
- data/assets/_vendor/ace/mode-livescript.js +1 -2
- data/assets/_vendor/ace/mode-logiql.js +2 -2
- data/assets/_vendor/ace/mode-logtalk.js +352 -0
- data/assets/_vendor/ace/mode-lsl.js +1 -2
- data/assets/_vendor/ace/mode-lua.js +1 -2
- data/assets/_vendor/ace/mode-luapage.js +3 -2
- data/assets/_vendor/ace/mode-lucene.js +2 -3
- data/assets/_vendor/ace/mode-makefile.js +3 -2
- data/assets/_vendor/ace/mode-markdown.js +5 -2
- data/assets/_vendor/ace/mode-mask.js +3 -2
- data/assets/_vendor/ace/mode-matlab.js +1 -2
- data/assets/_vendor/ace/mode-maze.js +2 -2
- data/assets/_vendor/ace/mode-mel.js +2 -2
- data/assets/_vendor/ace/mode-mixal.js +1 -2
- data/assets/_vendor/ace/mode-mushcode.js +2 -2
- data/assets/_vendor/ace/mode-mysql.js +3 -4
- data/assets/_vendor/ace/mode-nix.js +2 -2
- data/assets/_vendor/ace/mode-nsis.js +2 -2
- data/assets/_vendor/ace/mode-objectivec.js +3 -2
- data/assets/_vendor/ace/mode-ocaml.js +1 -2
- data/assets/_vendor/ace/mode-pascal.js +2 -2
- data/assets/_vendor/ace/mode-perl.js +2 -2
- data/assets/_vendor/ace/mode-perl6.js +593 -0
- data/assets/_vendor/ace/mode-pgsql.js +304 -69
- data/assets/_vendor/ace/mode-php.js +844 -1029
- data/assets/_vendor/ace/mode-php_laravel_blade.js +844 -1029
- data/assets/_vendor/ace/mode-pig.js +2 -2
- data/assets/_vendor/ace/mode-plain_text.js +1 -2
- data/assets/_vendor/ace/mode-powershell.js +2 -2
- data/assets/_vendor/ace/mode-praat.js +2 -2
- data/assets/_vendor/ace/mode-prolog.js +2 -2
- data/assets/_vendor/ace/mode-properties.js +1 -2
- data/assets/_vendor/ace/mode-protobuf.js +2 -2
- data/assets/_vendor/ace/mode-puppet.js +1 -2
- data/assets/_vendor/ace/mode-python.js +297 -63
- data/assets/_vendor/ace/mode-r.js +3 -2
- data/assets/_vendor/ace/mode-razor.js +9 -3
- data/assets/_vendor/ace/mode-rdoc.js +2 -2
- data/assets/_vendor/ace/mode-red.js +2 -2
- data/assets/_vendor/ace/mode-redshift.js +1 -2
- data/assets/_vendor/ace/mode-rhtml.js +5 -2
- data/assets/_vendor/ace/mode-rst.js +1 -2
- data/assets/_vendor/ace/mode-ruby.js +3 -2
- data/assets/_vendor/ace/mode-rust.js +2 -2
- data/assets/_vendor/ace/mode-sass.js +205 -117
- data/assets/_vendor/ace/mode-scad.js +2 -2
- data/assets/_vendor/ace/mode-scala.js +3 -2
- data/assets/_vendor/ace/mode-scheme.js +2 -2
- data/assets/_vendor/ace/mode-scss.js +204 -115
- data/assets/_vendor/ace/mode-sh.js +3 -2
- data/assets/_vendor/ace/mode-sjs.js +2 -2
- data/assets/_vendor/ace/mode-slim.js +18 -117
- data/assets/_vendor/ace/mode-smarty.js +3 -2
- data/assets/_vendor/ace/mode-snippets.js +1 -2
- data/assets/_vendor/ace/mode-soy_template.js +4 -2
- data/assets/_vendor/ace/mode-space.js +1 -2
- data/assets/_vendor/ace/mode-sparql.js +2 -2
- data/assets/_vendor/ace/mode-sql.js +2 -3
- data/assets/_vendor/ace/mode-sqlserver.js +2 -2
- data/assets/_vendor/ace/mode-stylus.js +3 -2
- data/assets/_vendor/ace/mode-svg.js +2 -2
- data/assets/_vendor/ace/mode-swift.js +1 -2
- data/assets/_vendor/ace/mode-tcl.js +2 -2
- data/assets/_vendor/ace/mode-terraform.js +1 -2
- data/assets/_vendor/ace/mode-tex.js +2 -2
- data/assets/_vendor/ace/mode-text.js +1 -2
- data/assets/_vendor/ace/mode-textile.js +1 -2
- data/assets/_vendor/ace/mode-toml.js +1 -2
- data/assets/_vendor/ace/mode-tsx.js +2 -2
- data/assets/_vendor/ace/mode-turtle.js +2 -2
- data/assets/_vendor/ace/mode-twig.js +3 -2
- data/assets/_vendor/ace/mode-typescript.js +2 -2
- data/assets/_vendor/ace/mode-vala.js +2 -2
- data/assets/_vendor/ace/mode-vbscript.js +1 -2
- data/assets/_vendor/ace/mode-velocity.js +4 -2
- data/assets/_vendor/ace/mode-verilog.js +1 -2
- data/assets/_vendor/ace/mode-vhdl.js +1 -2
- data/assets/_vendor/ace/mode-visualforce.js +2641 -0
- data/assets/_vendor/ace/mode-wollok.js +3 -2
- data/assets/_vendor/ace/mode-xml.js +1 -2
- data/assets/_vendor/ace/mode-xquery.js +8 -2287
- data/assets/_vendor/ace/mode-yaml.js +1 -2
- data/assets/_vendor/ace/snippets/abap.js +2 -3
- data/assets/_vendor/ace/snippets/abc.js +1 -2
- data/assets/_vendor/ace/snippets/actionscript.js +1 -2
- data/assets/_vendor/ace/snippets/ada.js +2 -3
- data/assets/_vendor/ace/snippets/apache_conf.js +2 -3
- data/assets/_vendor/ace/snippets/apex.js +14 -0
- data/assets/_vendor/ace/snippets/applescript.js +2 -3
- data/assets/_vendor/ace/snippets/asciidoc.js +2 -3
- data/assets/_vendor/ace/snippets/asl.js +2 -3
- data/assets/_vendor/ace/snippets/assembly_x86.js +2 -3
- data/assets/_vendor/ace/snippets/autohotkey.js +2 -3
- data/assets/_vendor/ace/snippets/batchfile.js +2 -3
- data/assets/_vendor/ace/snippets/bro.js +1 -2
- data/assets/_vendor/ace/snippets/c9search.js +2 -3
- data/assets/_vendor/ace/snippets/c_cpp.js +1 -2
- data/assets/_vendor/ace/snippets/cirru.js +2 -3
- data/assets/_vendor/ace/snippets/clojure.js +1 -2
- data/assets/_vendor/ace/snippets/cobol.js +2 -3
- data/assets/_vendor/ace/snippets/coffee.js +1 -2
- data/assets/_vendor/ace/snippets/coldfusion.js +2 -3
- data/assets/_vendor/ace/snippets/csharp.js +2 -3
- data/assets/_vendor/ace/snippets/csound_document.js +1 -2
- data/assets/_vendor/ace/snippets/csound_orchestra.js +1 -2
- data/assets/_vendor/ace/snippets/csound_score.js +2 -3
- data/assets/_vendor/ace/snippets/csp.js +1 -2
- data/assets/_vendor/ace/snippets/css.js +1 -2
- data/assets/_vendor/ace/snippets/curly.js +2 -3
- data/assets/_vendor/ace/snippets/d.js +2 -3
- data/assets/_vendor/ace/snippets/dart.js +1 -2
- data/assets/_vendor/ace/snippets/diff.js +1 -2
- data/assets/_vendor/ace/snippets/django.js +1 -2
- data/assets/_vendor/ace/snippets/dockerfile.js +2 -3
- data/assets/_vendor/ace/snippets/dot.js +2 -3
- data/assets/_vendor/ace/snippets/drools.js +1 -2
- data/assets/_vendor/ace/snippets/edifact.js +1 -2
- data/assets/_vendor/ace/snippets/eiffel.js +2 -3
- data/assets/_vendor/ace/snippets/ejs.js +2 -3
- data/assets/_vendor/ace/snippets/elixir.js +1 -2
- data/assets/_vendor/ace/snippets/elm.js +2 -3
- data/assets/_vendor/ace/snippets/erlang.js +1 -2
- data/assets/_vendor/ace/snippets/forth.js +2 -3
- data/assets/_vendor/ace/snippets/fortran.js +2 -3
- data/assets/_vendor/ace/snippets/fsharp.js +2 -3
- data/assets/_vendor/ace/snippets/fsl.js +14 -0
- data/assets/_vendor/ace/snippets/ftl.js +2 -3
- data/assets/_vendor/ace/snippets/gcode.js +2 -3
- data/assets/_vendor/ace/snippets/gherkin.js +2 -3
- data/assets/_vendor/ace/snippets/gitignore.js +2 -3
- data/assets/_vendor/ace/snippets/glsl.js +2 -3
- data/assets/_vendor/ace/snippets/gobstones.js +1 -2
- data/assets/_vendor/ace/snippets/golang.js +2 -3
- data/assets/_vendor/ace/snippets/graphqlschema.js +1 -2
- data/assets/_vendor/ace/snippets/groovy.js +2 -3
- data/assets/_vendor/ace/snippets/haml.js +1 -2
- data/assets/_vendor/ace/snippets/handlebars.js +2 -3
- data/assets/_vendor/ace/snippets/haskell.js +1 -2
- data/assets/_vendor/ace/snippets/haskell_cabal.js +2 -3
- data/assets/_vendor/ace/snippets/haxe.js +2 -3
- data/assets/_vendor/ace/snippets/hjson.js +1 -2
- data/assets/_vendor/ace/snippets/html.js +1 -2
- data/assets/_vendor/ace/snippets/html_elixir.js +2 -3
- data/assets/_vendor/ace/snippets/html_ruby.js +2 -3
- data/assets/_vendor/ace/snippets/ini.js +2 -3
- data/assets/_vendor/ace/snippets/io.js +1 -2
- data/assets/_vendor/ace/snippets/jack.js +2 -3
- data/assets/_vendor/ace/snippets/jade.js +2 -3
- data/assets/_vendor/ace/snippets/java.js +1 -2
- data/assets/_vendor/ace/snippets/javascript.js +1 -2
- data/assets/_vendor/ace/snippets/json.js +2 -3
- data/assets/_vendor/ace/snippets/jsoniq.js +1 -2
- data/assets/_vendor/ace/snippets/jsp.js +1 -2
- data/assets/_vendor/ace/snippets/jssm.js +1 -2
- data/assets/_vendor/ace/snippets/jsx.js +2 -3
- data/assets/_vendor/ace/snippets/julia.js +2 -3
- data/assets/_vendor/ace/snippets/kotlin.js +1 -2
- data/assets/_vendor/ace/snippets/latex.js +2 -3
- data/assets/_vendor/ace/snippets/less.js +2 -3
- data/assets/_vendor/ace/snippets/liquid.js +883 -3
- data/assets/_vendor/ace/snippets/lisp.js +2 -3
- data/assets/_vendor/ace/snippets/livescript.js +2 -3
- data/assets/_vendor/ace/snippets/logiql.js +2 -3
- data/assets/_vendor/ace/snippets/logtalk.js +14 -0
- data/assets/_vendor/ace/snippets/lsl.js +1 -2
- data/assets/_vendor/ace/snippets/lua.js +1 -2
- data/assets/_vendor/ace/snippets/luapage.js +2 -3
- data/assets/_vendor/ace/snippets/lucene.js +2 -3
- data/assets/_vendor/ace/snippets/makefile.js +1 -2
- data/assets/_vendor/ace/snippets/markdown.js +1 -2
- data/assets/_vendor/ace/snippets/mask.js +2 -3
- data/assets/_vendor/ace/snippets/matlab.js +2 -3
- data/assets/_vendor/ace/snippets/maze.js +1 -2
- data/assets/_vendor/ace/snippets/mel.js +2 -3
- data/assets/_vendor/ace/snippets/mixal.js +2 -3
- data/assets/_vendor/ace/snippets/mushcode.js +2 -3
- data/assets/_vendor/ace/snippets/mysql.js +2 -3
- data/assets/_vendor/ace/snippets/nix.js +2 -3
- data/assets/_vendor/ace/snippets/nsis.js +1 -2
- data/assets/_vendor/ace/snippets/objectivec.js +2 -3
- data/assets/_vendor/ace/snippets/ocaml.js +2 -3
- data/assets/_vendor/ace/snippets/pascal.js +2 -3
- data/assets/_vendor/ace/snippets/perl.js +1 -2
- data/assets/_vendor/ace/snippets/perl6.js +14 -0
- data/assets/_vendor/ace/snippets/pgsql.js +2 -3
- data/assets/_vendor/ace/snippets/php.js +1 -2
- data/assets/_vendor/ace/snippets/php_laravel_blade.js +2 -3
- data/assets/_vendor/ace/snippets/pig.js +2 -3
- data/assets/_vendor/ace/snippets/plain_text.js +2 -3
- data/assets/_vendor/ace/snippets/powershell.js +2 -3
- data/assets/_vendor/ace/snippets/praat.js +2 -3
- data/assets/_vendor/ace/snippets/prolog.js +2 -3
- data/assets/_vendor/ace/snippets/properties.js +2 -3
- data/assets/_vendor/ace/snippets/protobuf.js +1 -2
- data/assets/_vendor/ace/snippets/puppet.js +2 -3
- data/assets/_vendor/ace/snippets/python.js +1 -2
- data/assets/_vendor/ace/snippets/r.js +1 -2
- data/assets/_vendor/ace/snippets/razor.js +1 -2
- data/assets/_vendor/ace/snippets/rdoc.js +2 -3
- data/assets/_vendor/ace/snippets/red.js +1 -2
- data/assets/_vendor/ace/snippets/redshift.js +2 -3
- data/assets/_vendor/ace/snippets/rhtml.js +2 -3
- data/assets/_vendor/ace/snippets/rst.js +1 -2
- data/assets/_vendor/ace/snippets/ruby.js +1 -2
- data/assets/_vendor/ace/snippets/rust.js +2 -3
- data/assets/_vendor/ace/snippets/sass.js +2 -3
- data/assets/_vendor/ace/snippets/scad.js +2 -3
- data/assets/_vendor/ace/snippets/scala.js +2 -3
- data/assets/_vendor/ace/snippets/scheme.js +2 -3
- data/assets/_vendor/ace/snippets/scss.js +2 -3
- data/assets/_vendor/ace/snippets/sh.js +1 -2
- data/assets/_vendor/ace/snippets/sjs.js +2 -3
- data/assets/_vendor/ace/snippets/slim.js +2 -3
- data/assets/_vendor/ace/snippets/smarty.js +2 -3
- data/assets/_vendor/ace/snippets/snippets.js +1 -2
- data/assets/_vendor/ace/snippets/soy_template.js +2 -3
- data/assets/_vendor/ace/snippets/space.js +2 -3
- data/assets/_vendor/ace/snippets/sparql.js +1 -2
- data/assets/_vendor/ace/snippets/sql.js +1 -2
- data/assets/_vendor/ace/snippets/sqlserver.js +1 -2
- data/assets/_vendor/ace/snippets/stylus.js +2 -3
- data/assets/_vendor/ace/snippets/svg.js +2 -3
- data/assets/_vendor/ace/snippets/swift.js +2 -3
- data/assets/_vendor/ace/snippets/tcl.js +1 -2
- data/assets/_vendor/ace/snippets/terraform.js +2 -3
- data/assets/_vendor/ace/snippets/tex.js +1 -2
- data/assets/_vendor/ace/snippets/text.js +2 -3
- data/assets/_vendor/ace/snippets/textile.js +1 -2
- data/assets/_vendor/ace/snippets/toml.js +2 -3
- data/assets/_vendor/ace/snippets/tsx.js +2 -3
- data/assets/_vendor/ace/snippets/turtle.js +1 -2
- data/assets/_vendor/ace/snippets/twig.js +2 -3
- data/assets/_vendor/ace/snippets/typescript.js +2 -3
- data/assets/_vendor/ace/snippets/vala.js +1 -2
- data/assets/_vendor/ace/snippets/vbscript.js +2 -3
- data/assets/_vendor/ace/snippets/velocity.js +1 -2
- data/assets/_vendor/ace/snippets/verilog.js +2 -3
- data/assets/_vendor/ace/snippets/vhdl.js +2 -3
- data/assets/_vendor/ace/snippets/visualforce.js +14 -0
- data/assets/_vendor/ace/snippets/wollok.js +1 -2
- data/assets/_vendor/ace/snippets/xml.js +2 -3
- data/assets/_vendor/ace/snippets/xquery.js +1 -2
- data/assets/_vendor/ace/snippets/yaml.js +2 -3
- data/assets/_vendor/ace/theme-ambiance.js +1 -2
- data/assets/_vendor/ace/theme-chaos.js +1 -2
- data/assets/_vendor/ace/theme-chrome.js +1 -2
- data/assets/_vendor/ace/theme-clouds.js +1 -2
- data/assets/_vendor/ace/theme-clouds_midnight.js +1 -2
- data/assets/_vendor/ace/theme-cobalt.js +1 -2
- data/assets/_vendor/ace/theme-crimson_editor.js +1 -2
- data/assets/_vendor/ace/theme-dawn.js +1 -2
- data/assets/_vendor/ace/theme-dracula.js +1 -2
- data/assets/_vendor/ace/theme-dreamweaver.js +1 -2
- data/assets/_vendor/ace/theme-eclipse.js +1 -2
- data/assets/_vendor/ace/theme-github.js +3 -3
- data/assets/_vendor/ace/theme-gob.js +1 -2
- data/assets/_vendor/ace/theme-gruvbox.js +1 -2
- data/assets/_vendor/ace/theme-idle_fingers.js +1 -2
- data/assets/_vendor/ace/theme-iplastic.js +1 -2
- data/assets/_vendor/ace/theme-katzenmilch.js +1 -2
- data/assets/_vendor/ace/theme-kr_theme.js +1 -2
- data/assets/_vendor/ace/theme-kuroir.js +1 -2
- data/assets/_vendor/ace/theme-merbivore.js +1 -2
- data/assets/_vendor/ace/theme-merbivore_soft.js +1 -2
- data/assets/_vendor/ace/theme-mono_industrial.js +1 -2
- data/assets/_vendor/ace/theme-monokai.js +1 -2
- data/assets/_vendor/ace/theme-pastel_on_dark.js +1 -2
- data/assets/_vendor/ace/theme-solarized_dark.js +1 -2
- data/assets/_vendor/ace/theme-solarized_light.js +1 -2
- data/assets/_vendor/ace/theme-sqlserver.js +1 -2
- data/assets/_vendor/ace/theme-terminal.js +1 -2
- data/assets/_vendor/ace/theme-textmate.js +1 -2
- data/assets/_vendor/ace/theme-tomorrow.js +1 -2
- data/assets/_vendor/ace/theme-tomorrow_night.js +1 -2
- data/assets/_vendor/ace/theme-tomorrow_night_blue.js +1 -2
- data/assets/_vendor/ace/theme-tomorrow_night_bright.js +1 -2
- data/assets/_vendor/ace/theme-tomorrow_night_eighties.js +1 -2
- data/assets/_vendor/ace/theme-twilight.js +1 -2
- data/assets/_vendor/ace/theme-vibrant_ink.js +1 -2
- data/assets/_vendor/ace/theme-xcode.js +1 -2
- data/assets/_vendor/ace/worker-coffee.js +11 -20
- data/assets/_vendor/ace/worker-css.js +23 -20
- data/assets/_vendor/ace/worker-html.js +25 -31
- data/assets/_vendor/ace/worker-javascript.js +76 -36
- data/assets/_vendor/ace/worker-json.js +25 -20
- data/assets/_vendor/ace/worker-lua.js +68 -69
- data/assets/_vendor/ace/worker-php.js +12 -20
- data/assets/_vendor/ace/worker-xml.js +12 -22
- data/assets/_vendor/ace/worker-xquery.js +44 -12378
- data/assets/_vendor/tinymce/plugins/advlist/plugin.js +137 -137
- data/assets/_vendor/tinymce/plugins/anchor/plugin.js +102 -102
- data/assets/_vendor/tinymce/plugins/autolink/plugin.js +154 -154
- data/assets/_vendor/tinymce/plugins/autoresize/plugin.js +145 -145
- data/assets/_vendor/tinymce/plugins/autosave/plugin.js +207 -217
- data/assets/_vendor/tinymce/plugins/autosave/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/bbcode/plugin.js +89 -89
- data/assets/_vendor/tinymce/plugins/charmap/plugin.js +1246 -1246
- data/assets/_vendor/tinymce/plugins/code/plugin.js +80 -80
- data/assets/_vendor/tinymce/plugins/codesample/plugin.js +852 -852
- data/assets/_vendor/tinymce/plugins/colorpicker/plugin.js +109 -109
- data/assets/_vendor/tinymce/plugins/contextmenu/plugin.js +144 -144
- data/assets/_vendor/tinymce/plugins/directionality/plugin.js +53 -53
- data/assets/_vendor/tinymce/plugins/emoticons/plugin.js +74 -74
- data/assets/_vendor/tinymce/plugins/fullpage/plugin.js +464 -464
- data/assets/_vendor/tinymce/plugins/fullscreen/plugin.js +152 -152
- data/assets/_vendor/tinymce/plugins/help/plugin.js +639 -678
- data/assets/_vendor/tinymce/plugins/help/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/hr/plugin.js +29 -29
- data/assets/_vendor/tinymce/plugins/image/plugin.js +1119 -1126
- data/assets/_vendor/tinymce/plugins/image/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/imagetools/plugin.js +3414 -3445
- data/assets/_vendor/tinymce/plugins/imagetools/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/importcss/plugin.js +230 -230
- data/assets/_vendor/tinymce/plugins/insertdatetime/plugin.js +152 -152
- data/assets/_vendor/tinymce/plugins/legacyoutput/plugin.js +193 -193
- data/assets/_vendor/tinymce/plugins/link/plugin.js +646 -646
- data/assets/_vendor/tinymce/plugins/lists/plugin.js +2103 -1037
- data/assets/_vendor/tinymce/plugins/lists/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/media/plugin.js +1050 -1050
- data/assets/_vendor/tinymce/plugins/nonbreaking/plugin.js +69 -69
- data/assets/_vendor/tinymce/plugins/noneditable/plugin.js +98 -98
- data/assets/_vendor/tinymce/plugins/pagebreak/plugin.js +91 -91
- data/assets/_vendor/tinymce/plugins/paste/plugin.js +1725 -1364
- data/assets/_vendor/tinymce/plugins/paste/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/preview/plugin.js +107 -107
- data/assets/_vendor/tinymce/plugins/print/plugin.js +28 -28
- data/assets/_vendor/tinymce/plugins/save/plugin.js +101 -101
- data/assets/_vendor/tinymce/plugins/searchreplace/plugin.js +535 -537
- data/assets/_vendor/tinymce/plugins/searchreplace/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/spellchecker/plugin.js +683 -681
- data/assets/_vendor/tinymce/plugins/spellchecker/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/tabfocus/plugin.js +95 -95
- data/assets/_vendor/tinymce/plugins/table/plugin.js +8927 -9805
- data/assets/_vendor/tinymce/plugins/table/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/template/plugin.js +305 -311
- data/assets/_vendor/tinymce/plugins/template/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/textcolor/plugin.js +317 -317
- data/assets/_vendor/tinymce/plugins/textpattern/plugin.js +575 -329
- data/assets/_vendor/tinymce/plugins/textpattern/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/toc/plugin.js +201 -201
- data/assets/_vendor/tinymce/plugins/visualblocks/plugin.js +113 -113
- data/assets/_vendor/tinymce/plugins/visualchars/plugin.js +419 -471
- data/assets/_vendor/tinymce/plugins/visualchars/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/plugins/wordcount/plugin.js +371 -308
- data/assets/_vendor/tinymce/plugins/wordcount/plugin.min.js +1 -1
- data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
- data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.svg +1 -0
- data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
- data/assets/_vendor/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
- data/assets/_vendor/tinymce/skins/lightgray/skin.min.css +1 -1
- data/assets/_vendor/tinymce/themes/inlite/theme.js +9272 -9686
- data/assets/_vendor/tinymce/themes/inlite/theme.min.js +1 -1
- data/assets/_vendor/tinymce/themes/mobile/theme.js +12130 -13042
- data/assets/_vendor/tinymce/themes/mobile/theme.min.js +1 -1
- data/assets/_vendor/tinymce/themes/modern/theme.js +9090 -9504
- data/assets/_vendor/tinymce/themes/modern/theme.min.js +1 -1
- data/assets/_vendor/tinymce/tinymce.js +24914 -25218
- data/assets/bedrock/js/bedrock.js +1 -1
- data/assets/bedrock/scss/components/no-content.scss +5 -0
- data/assets/bedrock/scss/components/select-box.scss +1 -1
- data/lib/bedrock_sass.rb +51 -16
- data/lib/bedrock_sass/engine.rb +3 -2
- data/lib/bedrock_sass/version.rb +1 -1
- metadata +17 -7
@@ -1,94 +1,94 @@
|
|
1
1
|
(function () {
|
2
2
|
var code = (function () {
|
3
|
-
|
3
|
+
'use strict';
|
4
4
|
|
5
|
-
|
5
|
+
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
6
6
|
|
7
|
-
|
7
|
+
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
9
|
+
var getMinWidth = function (editor) {
|
10
|
+
return editor.getParam('code_dialog_width', 600);
|
11
|
+
};
|
12
|
+
var getMinHeight = function (editor) {
|
13
|
+
return editor.getParam('code_dialog_height', Math.min(global$1.DOM.getViewPort().h - 200, 500));
|
14
|
+
};
|
15
|
+
var Settings = {
|
16
|
+
getMinWidth: getMinWidth,
|
17
|
+
getMinHeight: getMinHeight
|
18
|
+
};
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
20
|
+
var setContent = function (editor, html) {
|
21
|
+
editor.focus();
|
22
|
+
editor.undoManager.transact(function () {
|
23
|
+
editor.setContent(html);
|
24
|
+
});
|
25
|
+
editor.selection.setCursorLocation();
|
26
|
+
editor.nodeChanged();
|
27
|
+
};
|
28
|
+
var getContent = function (editor) {
|
29
|
+
return editor.getContent({ source_view: true });
|
30
|
+
};
|
31
|
+
var Content = {
|
32
|
+
setContent: setContent,
|
33
|
+
getContent: getContent
|
34
|
+
};
|
35
35
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
36
|
+
var open = function (editor) {
|
37
|
+
var minWidth = Settings.getMinWidth(editor);
|
38
|
+
var minHeight = Settings.getMinHeight(editor);
|
39
|
+
var win = editor.windowManager.open({
|
40
|
+
title: 'Source code',
|
41
|
+
body: {
|
42
|
+
type: 'textbox',
|
43
|
+
name: 'code',
|
44
|
+
multiline: true,
|
45
|
+
minWidth: minWidth,
|
46
|
+
minHeight: minHeight,
|
47
|
+
spellcheck: false,
|
48
|
+
style: 'direction: ltr; text-align: left'
|
49
|
+
},
|
50
|
+
onSubmit: function (e) {
|
51
|
+
Content.setContent(editor, e.data.code);
|
52
|
+
}
|
53
|
+
});
|
54
|
+
win.find('#code').value(Content.getContent(editor));
|
55
|
+
};
|
56
|
+
var Dialog = { open: open };
|
57
57
|
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
58
|
+
var register = function (editor) {
|
59
|
+
editor.addCommand('mceCodeEditor', function () {
|
60
|
+
Dialog.open(editor);
|
61
|
+
});
|
62
|
+
};
|
63
|
+
var Commands = { register: register };
|
64
64
|
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
65
|
+
var register$1 = function (editor) {
|
66
|
+
editor.addButton('code', {
|
67
|
+
icon: 'code',
|
68
|
+
tooltip: 'Source code',
|
69
|
+
onclick: function () {
|
70
|
+
Dialog.open(editor);
|
71
|
+
}
|
72
|
+
});
|
73
|
+
editor.addMenuItem('code', {
|
74
|
+
icon: 'code',
|
75
|
+
text: 'Source code',
|
76
|
+
onclick: function () {
|
77
|
+
Dialog.open(editor);
|
78
|
+
}
|
79
|
+
});
|
80
|
+
};
|
81
|
+
var Buttons = { register: register$1 };
|
82
82
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
83
|
+
global.add('code', function (editor) {
|
84
|
+
Commands.register(editor);
|
85
|
+
Buttons.register(editor);
|
86
|
+
return {};
|
87
|
+
});
|
88
|
+
function Plugin () {
|
89
|
+
}
|
90
90
|
|
91
|
-
|
91
|
+
return Plugin;
|
92
92
|
|
93
93
|
}());
|
94
94
|
})();
|
@@ -1,967 +1,967 @@
|
|
1
1
|
(function () {
|
2
2
|
var codesample = (function () {
|
3
|
-
|
3
|
+
'use strict';
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
5
|
+
var Cell = function (initial) {
|
6
|
+
var value = initial;
|
7
|
+
var get = function () {
|
8
|
+
return value;
|
9
|
+
};
|
10
|
+
var set = function (v) {
|
11
|
+
value = v;
|
12
|
+
};
|
13
|
+
var clone = function () {
|
14
|
+
return Cell(get());
|
15
|
+
};
|
16
|
+
return {
|
17
|
+
get: get,
|
18
|
+
set: set,
|
19
|
+
clone: clone
|
20
|
+
};
|
20
21
|
};
|
21
|
-
};
|
22
22
|
|
23
|
-
|
23
|
+
var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
|
24
24
|
|
25
|
-
|
25
|
+
var global$1 = tinymce.util.Tools.resolve('tinymce.dom.DOMUtils');
|
26
26
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
27
|
+
var getContentCss = function (editor) {
|
28
|
+
return editor.settings.codesample_content_css;
|
29
|
+
};
|
30
|
+
var getLanguages = function (editor) {
|
31
|
+
return editor.settings.codesample_languages;
|
32
|
+
};
|
33
|
+
var getDialogMinWidth = function (editor) {
|
34
|
+
return Math.min(global$1.DOM.getViewPort().w, editor.getParam('codesample_dialog_width', 800));
|
35
|
+
};
|
36
|
+
var getDialogMinHeight = function (editor) {
|
37
|
+
return Math.min(global$1.DOM.getViewPort().w, editor.getParam('codesample_dialog_height', 650));
|
38
|
+
};
|
39
|
+
var Settings = {
|
40
|
+
getContentCss: getContentCss,
|
41
|
+
getLanguages: getLanguages,
|
42
|
+
getDialogMinWidth: getDialogMinWidth,
|
43
|
+
getDialogMinHeight: getDialogMinHeight
|
44
|
+
};
|
45
45
|
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
46
|
+
var window$$1 = {};
|
47
|
+
var global$2 = window$$1;
|
48
|
+
var _self = typeof window$$1 !== 'undefined' ? window$$1 : typeof WorkerGlobalScope !== 'undefined' && self instanceof WorkerGlobalScope ? self : {};
|
49
|
+
var Prism = function () {
|
50
|
+
var lang = /\blang(?:uage)?-(?!\*)(\w+)\b/i;
|
51
|
+
var _ = _self.Prism = {
|
52
|
+
util: {
|
53
|
+
encode: function (tokens) {
|
54
|
+
if (tokens instanceof Token) {
|
55
|
+
return new Token(tokens.type, _.util.encode(tokens.content), tokens.alias);
|
56
|
+
} else if (_.util.type(tokens) === 'Array') {
|
57
|
+
return tokens.map(_.util.encode);
|
58
|
+
} else {
|
59
|
+
return tokens.replace(/&/g, '&').replace(/</g, '<').replace(/\u00a0/g, ' ');
|
60
|
+
}
|
61
|
+
},
|
62
|
+
type: function (o) {
|
63
|
+
return Object.prototype.toString.call(o).match(/\[object (\w+)\]/)[1];
|
64
|
+
},
|
65
|
+
clone: function (o) {
|
66
|
+
var type = _.util.type(o);
|
67
|
+
switch (type) {
|
68
|
+
case 'Object':
|
69
|
+
var clone = {};
|
70
|
+
for (var key in o) {
|
71
|
+
if (o.hasOwnProperty(key)) {
|
72
|
+
clone[key] = _.util.clone(o[key]);
|
73
|
+
}
|
73
74
|
}
|
75
|
+
return clone;
|
76
|
+
case 'Array':
|
77
|
+
return o.map && o.map(function (v) {
|
78
|
+
return _.util.clone(v);
|
79
|
+
});
|
74
80
|
}
|
75
|
-
return
|
76
|
-
case 'Array':
|
77
|
-
return o.map && o.map(function (v) {
|
78
|
-
return _.util.clone(v);
|
79
|
-
});
|
81
|
+
return o;
|
80
82
|
}
|
81
|
-
return o;
|
82
|
-
}
|
83
|
-
},
|
84
|
-
languages: {
|
85
|
-
extend: function (id, redef) {
|
86
|
-
var lang = _.util.clone(_.languages[id]);
|
87
|
-
for (var key in redef) {
|
88
|
-
lang[key] = redef[key];
|
89
|
-
}
|
90
|
-
return lang;
|
91
83
|
},
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
84
|
+
languages: {
|
85
|
+
extend: function (id, redef) {
|
86
|
+
var lang = _.util.clone(_.languages[id]);
|
87
|
+
for (var key in redef) {
|
88
|
+
lang[key] = redef[key];
|
89
|
+
}
|
90
|
+
return lang;
|
91
|
+
},
|
92
|
+
insertBefore: function (inside, before, insert, root) {
|
93
|
+
root = root || _.languages;
|
94
|
+
var grammar = root[inside];
|
95
|
+
if (arguments.length === 2) {
|
96
|
+
insert = arguments[1];
|
97
|
+
for (var newToken in insert) {
|
98
|
+
if (insert.hasOwnProperty(newToken)) {
|
99
|
+
grammar[newToken] = insert[newToken];
|
100
|
+
}
|
100
101
|
}
|
102
|
+
return grammar;
|
101
103
|
}
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
ret[newToken] = insert[newToken];
|
104
|
+
var ret = {};
|
105
|
+
for (var token in grammar) {
|
106
|
+
if (grammar.hasOwnProperty(token)) {
|
107
|
+
if (token === before) {
|
108
|
+
for (var newToken in insert) {
|
109
|
+
if (insert.hasOwnProperty(newToken)) {
|
110
|
+
ret[newToken] = insert[newToken];
|
111
|
+
}
|
111
112
|
}
|
112
113
|
}
|
114
|
+
ret[token] = grammar[token];
|
113
115
|
}
|
114
|
-
ret[token] = grammar[token];
|
115
|
-
}
|
116
|
-
}
|
117
|
-
_.languages.DFS(_.languages, function (key, value) {
|
118
|
-
if (value === root[inside] && key !== inside) {
|
119
|
-
this[key] = ret;
|
120
116
|
}
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
117
|
+
_.languages.DFS(_.languages, function (key, value) {
|
118
|
+
if (value === root[inside] && key !== inside) {
|
119
|
+
this[key] = ret;
|
120
|
+
}
|
121
|
+
});
|
122
|
+
return root[inside] = ret;
|
123
|
+
},
|
124
|
+
DFS: function (o, callback, type) {
|
125
|
+
for (var i in o) {
|
126
|
+
if (o.hasOwnProperty(i)) {
|
127
|
+
callback.call(o, i, o[i], type || i);
|
128
|
+
if (_.util.type(o[i]) === 'Object') {
|
129
|
+
_.languages.DFS(o[i], callback);
|
130
|
+
} else if (_.util.type(o[i]) === 'Array') {
|
131
|
+
_.languages.DFS(o[i], callback, i);
|
132
|
+
}
|
132
133
|
}
|
133
134
|
}
|
134
135
|
}
|
135
|
-
}
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
}
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
136
|
+
},
|
137
|
+
plugins: {},
|
138
|
+
highlightAll: function (async, callback) {
|
139
|
+
var elements = document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');
|
140
|
+
for (var i = 0, element = void 0; element = elements[i++];) {
|
141
|
+
_.highlightElement(element, async === true, callback);
|
142
|
+
}
|
143
|
+
},
|
144
|
+
highlightElement: function (element, async, callback) {
|
145
|
+
var language, grammar, parent$$1 = element;
|
146
|
+
while (parent$$1 && !lang.test(parent$$1.className)) {
|
147
|
+
parent$$1 = parent$$1.parentNode;
|
148
|
+
}
|
149
|
+
if (parent$$1) {
|
150
|
+
language = (parent$$1.className.match(lang) || [
|
151
|
+
,
|
152
|
+
''
|
153
|
+
])[1];
|
154
|
+
grammar = _.languages[language];
|
155
|
+
}
|
156
|
+
element.className = element.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
|
157
|
+
parent$$1 = element.parentNode;
|
158
|
+
if (/pre/i.test(parent$$1.nodeName)) {
|
159
|
+
parent$$1.className = parent$$1.className.replace(lang, '').replace(/\s+/g, ' ') + ' language-' + language;
|
160
|
+
}
|
161
|
+
var code = element.textContent;
|
162
|
+
var env = {
|
163
|
+
element: element,
|
164
|
+
language: language,
|
165
|
+
grammar: grammar,
|
166
|
+
code: code
|
167
|
+
};
|
168
|
+
if (!code || !grammar) {
|
169
|
+
_.hooks.run('complete', env);
|
170
|
+
return;
|
171
|
+
}
|
172
|
+
_.hooks.run('before-highlight', env);
|
173
|
+
if (async && _self.Worker) {
|
174
|
+
var worker = new Worker(_.filename);
|
175
|
+
worker.onmessage = function (evt) {
|
176
|
+
env.highlightedCode = evt.data;
|
177
|
+
_.hooks.run('before-insert', env);
|
178
|
+
env.element.innerHTML = env.highlightedCode;
|
179
|
+
if (callback) {
|
180
|
+
callback.call(env.element);
|
181
|
+
}
|
182
|
+
_.hooks.run('after-highlight', env);
|
183
|
+
_.hooks.run('complete', env);
|
184
|
+
};
|
185
|
+
worker.postMessage(JSON.stringify({
|
186
|
+
language: env.language,
|
187
|
+
code: env.code,
|
188
|
+
immediateClose: true
|
189
|
+
}));
|
190
|
+
} else {
|
191
|
+
env.highlightedCode = _.highlight(env.code, env.grammar, env.language);
|
177
192
|
_.hooks.run('before-insert', env);
|
178
193
|
env.element.innerHTML = env.highlightedCode;
|
179
194
|
if (callback) {
|
180
|
-
callback.call(
|
195
|
+
callback.call(element);
|
181
196
|
}
|
182
197
|
_.hooks.run('after-highlight', env);
|
183
198
|
_.hooks.run('complete', env);
|
184
|
-
};
|
185
|
-
worker.postMessage(JSON.stringify({
|
186
|
-
language: env.language,
|
187
|
-
code: env.code,
|
188
|
-
immediateClose: true
|
189
|
-
}));
|
190
|
-
} else {
|
191
|
-
env.highlightedCode = _.highlight(env.code, env.grammar, env.language);
|
192
|
-
_.hooks.run('before-insert', env);
|
193
|
-
env.element.innerHTML = env.highlightedCode;
|
194
|
-
if (callback) {
|
195
|
-
callback.call(element);
|
196
199
|
}
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
209
|
-
if (rest) {
|
210
|
-
for (var token in rest) {
|
211
|
-
grammar[token] = rest[token];
|
212
|
-
}
|
213
|
-
delete grammar.rest;
|
214
|
-
}
|
215
|
-
tokenloop:
|
216
|
-
for (var token in grammar) {
|
217
|
-
if (!grammar.hasOwnProperty(token) || !grammar[token]) {
|
218
|
-
continue;
|
200
|
+
},
|
201
|
+
highlight: function (text, grammar, language) {
|
202
|
+
var tokens = _.tokenize(text, grammar);
|
203
|
+
return Token.stringify(_.util.encode(tokens), language);
|
204
|
+
},
|
205
|
+
tokenize: function (text, grammar, language) {
|
206
|
+
var Token = _.Token;
|
207
|
+
var strarr = [text];
|
208
|
+
var rest = grammar.rest;
|
209
|
+
if (rest) {
|
210
|
+
for (var token in rest) {
|
211
|
+
grammar[token] = rest[token];
|
219
212
|
}
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
var
|
228
|
-
|
229
|
-
for (var
|
230
|
-
var
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
if (lookbehind) {
|
241
|
-
lookbehindLength = match[1].length;
|
213
|
+
delete grammar.rest;
|
214
|
+
}
|
215
|
+
tokenloop:
|
216
|
+
for (var token in grammar) {
|
217
|
+
if (!grammar.hasOwnProperty(token) || !grammar[token]) {
|
218
|
+
continue;
|
219
|
+
}
|
220
|
+
var patterns = grammar[token];
|
221
|
+
patterns = _.util.type(patterns) === 'Array' ? patterns : [patterns];
|
222
|
+
for (var j = 0; j < patterns.length; ++j) {
|
223
|
+
var pattern = patterns[j];
|
224
|
+
var inside = pattern.inside;
|
225
|
+
var lookbehind = !!pattern.lookbehind;
|
226
|
+
var lookbehindLength = 0;
|
227
|
+
var alias = pattern.alias;
|
228
|
+
pattern = pattern.pattern || pattern;
|
229
|
+
for (var i = 0; i < strarr.length; i++) {
|
230
|
+
var str = strarr[i];
|
231
|
+
if (strarr.length > text.length) {
|
232
|
+
break tokenloop;
|
242
233
|
}
|
243
|
-
|
244
|
-
|
245
|
-
var len = match.length, to = from + len, before = str.slice(0, from + 1), after = str.slice(to + 1);
|
246
|
-
var args = [
|
247
|
-
i,
|
248
|
-
1
|
249
|
-
];
|
250
|
-
if (before) {
|
251
|
-
args.push(before);
|
234
|
+
if (str instanceof Token) {
|
235
|
+
continue;
|
252
236
|
}
|
253
|
-
|
254
|
-
|
255
|
-
if (
|
256
|
-
|
237
|
+
pattern.lastIndex = 0;
|
238
|
+
var match = pattern.exec(str);
|
239
|
+
if (match) {
|
240
|
+
if (lookbehind) {
|
241
|
+
lookbehindLength = match[1].length;
|
242
|
+
}
|
243
|
+
var from = match.index - 1 + lookbehindLength;
|
244
|
+
match = match[0].slice(lookbehindLength);
|
245
|
+
var len = match.length, to = from + len, before = str.slice(0, from + 1), after = str.slice(to + 1);
|
246
|
+
var args = [
|
247
|
+
i,
|
248
|
+
1
|
249
|
+
];
|
250
|
+
if (before) {
|
251
|
+
args.push(before);
|
252
|
+
}
|
253
|
+
var wrapped = new Token(token, inside ? _.tokenize(match, inside) : match, alias);
|
254
|
+
args.push(wrapped);
|
255
|
+
if (after) {
|
256
|
+
args.push(after);
|
257
|
+
}
|
258
|
+
Array.prototype.splice.apply(strarr, args);
|
257
259
|
}
|
258
|
-
Array.prototype.splice.apply(strarr, args);
|
259
260
|
}
|
260
261
|
}
|
261
262
|
}
|
262
|
-
|
263
|
-
return strarr;
|
264
|
-
},
|
265
|
-
hooks: {
|
266
|
-
all: {},
|
267
|
-
add: function (name$$1, callback) {
|
268
|
-
var hooks = _.hooks.all;
|
269
|
-
hooks[name$$1] = hooks[name$$1] || [];
|
270
|
-
hooks[name$$1].push(callback);
|
263
|
+
return strarr;
|
271
264
|
},
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
265
|
+
hooks: {
|
266
|
+
all: {},
|
267
|
+
add: function (name$$1, callback) {
|
268
|
+
var hooks = _.hooks.all;
|
269
|
+
hooks[name$$1] = hooks[name$$1] || [];
|
270
|
+
hooks[name$$1].push(callback);
|
271
|
+
},
|
272
|
+
run: function (name$$1, env) {
|
273
|
+
var callbacks = _.hooks.all[name$$1];
|
274
|
+
if (!callbacks || !callbacks.length) {
|
275
|
+
return;
|
276
|
+
}
|
277
|
+
for (var i = 0, callback = void 0; callback = callbacks[i++];) {
|
278
|
+
callback(env);
|
279
|
+
}
|
279
280
|
}
|
280
281
|
}
|
281
|
-
}
|
282
|
-
};
|
283
|
-
var Token = _.Token = function (type, content, alias) {
|
284
|
-
this.type = type;
|
285
|
-
this.content = content;
|
286
|
-
this.alias = alias;
|
287
|
-
};
|
288
|
-
Token.stringify = function (o, language, parent$$1) {
|
289
|
-
if (typeof o === 'string') {
|
290
|
-
return o;
|
291
|
-
}
|
292
|
-
if (_.util.type(o) === 'Array') {
|
293
|
-
return o.map(function (element) {
|
294
|
-
return Token.stringify(element, language, o);
|
295
|
-
}).join('');
|
296
|
-
}
|
297
|
-
var env = {
|
298
|
-
type: o.type,
|
299
|
-
content: Token.stringify(o.content, language, parent$$1),
|
300
|
-
tag: 'span',
|
301
|
-
classes: [
|
302
|
-
'token',
|
303
|
-
o.type
|
304
|
-
],
|
305
|
-
attributes: {},
|
306
|
-
language: language,
|
307
|
-
parent: parent$$1
|
308
282
|
};
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
var attributes = '';
|
318
|
-
for (var name$$1 in env.attributes) {
|
319
|
-
attributes += (attributes ? ' ' : '') + name$$1 + '="' + (env.attributes[name$$1] || '') + '"';
|
320
|
-
}
|
321
|
-
return '<' + env.tag + ' class="' + env.classes.join(' ') + '" ' + attributes + '>' + env.content + '</' + env.tag + '>';
|
322
|
-
};
|
323
|
-
if (!_self.document) {
|
324
|
-
if (!_self.addEventListener) {
|
325
|
-
return _self.Prism;
|
326
|
-
}
|
327
|
-
_self.addEventListener('message', function (evt) {
|
328
|
-
var message = JSON.parse(evt.data), lang = message.language, code = message.code, immediateClose = message.immediateClose;
|
329
|
-
_self.postMessage(_.highlight(code, _.languages[lang], lang));
|
330
|
-
if (immediateClose) {
|
331
|
-
_self.close();
|
283
|
+
var Token = _.Token = function (type, content, alias) {
|
284
|
+
this.type = type;
|
285
|
+
this.content = content;
|
286
|
+
this.alias = alias;
|
287
|
+
};
|
288
|
+
Token.stringify = function (o, language, parent$$1) {
|
289
|
+
if (typeof o === 'string') {
|
290
|
+
return o;
|
332
291
|
}
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
if (typeof global$2 !== 'undefined') {
|
338
|
-
global$2.Prism = Prism;
|
339
|
-
}
|
340
|
-
Prism.languages.markup = {
|
341
|
-
comment: /<!--[\w\W]*?-->/,
|
342
|
-
prolog: /<\?[\w\W]+?\?>/,
|
343
|
-
doctype: /<!DOCTYPE[\w\W]+?>/,
|
344
|
-
cdata: /<!\[CDATA\[[\w\W]*?]]>/i,
|
345
|
-
tag: {
|
346
|
-
pattern: /<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
|
347
|
-
inside: {
|
348
|
-
'tag': {
|
349
|
-
pattern: /^<\/?[^\s>\/]+/i,
|
350
|
-
inside: {
|
351
|
-
punctuation: /^<\/?/,
|
352
|
-
namespace: /^[^\s>\/:]+:/
|
353
|
-
}
|
354
|
-
},
|
355
|
-
'attr-value': {
|
356
|
-
pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
|
357
|
-
inside: { punctuation: /[=>"']/ }
|
358
|
-
},
|
359
|
-
'punctuation': /\/?>/,
|
360
|
-
'attr-name': {
|
361
|
-
pattern: /[^\s>\/]+/,
|
362
|
-
inside: { namespace: /^[^\s>\/:]+:/ }
|
292
|
+
if (_.util.type(o) === 'Array') {
|
293
|
+
return o.map(function (element) {
|
294
|
+
return Token.stringify(element, language, o);
|
295
|
+
}).join('');
|
363
296
|
}
|
297
|
+
var env = {
|
298
|
+
type: o.type,
|
299
|
+
content: Token.stringify(o.content, language, parent$$1),
|
300
|
+
tag: 'span',
|
301
|
+
classes: [
|
302
|
+
'token',
|
303
|
+
o.type
|
304
|
+
],
|
305
|
+
attributes: {},
|
306
|
+
language: language,
|
307
|
+
parent: parent$$1
|
308
|
+
};
|
309
|
+
if (env.type === 'comment') {
|
310
|
+
env.attributes.spellcheck = 'true';
|
311
|
+
}
|
312
|
+
if (o.alias) {
|
313
|
+
var aliases = _.util.type(o.alias) === 'Array' ? o.alias : [o.alias];
|
314
|
+
Array.prototype.push.apply(env.classes, aliases);
|
315
|
+
}
|
316
|
+
_.hooks.run('wrap', env);
|
317
|
+
var attributes = '';
|
318
|
+
for (var name$$1 in env.attributes) {
|
319
|
+
attributes += (attributes ? ' ' : '') + name$$1 + '="' + (env.attributes[name$$1] || '') + '"';
|
320
|
+
}
|
321
|
+
return '<' + env.tag + ' class="' + env.classes.join(' ') + '" ' + attributes + '>' + env.content + '</' + env.tag + '>';
|
322
|
+
};
|
323
|
+
if (!_self.document) {
|
324
|
+
if (!_self.addEventListener) {
|
325
|
+
return _self.Prism;
|
326
|
+
}
|
327
|
+
_self.addEventListener('message', function (evt) {
|
328
|
+
var message = JSON.parse(evt.data), lang = message.language, code = message.code, immediateClose = message.immediateClose;
|
329
|
+
_self.postMessage(_.highlight(code, _.languages[lang], lang));
|
330
|
+
if (immediateClose) {
|
331
|
+
_self.close();
|
332
|
+
}
|
333
|
+
}, false);
|
334
|
+
return _self.Prism;
|
364
335
|
}
|
365
|
-
}
|
366
|
-
|
367
|
-
|
368
|
-
Prism.hooks.add('wrap', function (env) {
|
369
|
-
if (env.type === 'entity') {
|
370
|
-
env.attributes.title = env.content.replace(/&/, '&');
|
336
|
+
}();
|
337
|
+
if (typeof global$2 !== 'undefined') {
|
338
|
+
global$2.Prism = Prism;
|
371
339
|
}
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
atrule: {
|
380
|
-
pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
|
381
|
-
inside: { rule: /@[\w-]+/ }
|
382
|
-
},
|
383
|
-
url: /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
|
384
|
-
selector: /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
|
385
|
-
string: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
|
386
|
-
property: /(\b|\B)[\w-]+(?=\s*:)/i,
|
387
|
-
important: /\B!important\b/i,
|
388
|
-
function: /[-a-z0-9]+(?=\()/i,
|
389
|
-
punctuation: /[(){};:]/
|
390
|
-
};
|
391
|
-
Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css);
|
392
|
-
if (Prism.languages.markup) {
|
393
|
-
Prism.languages.insertBefore('markup', 'tag', {
|
394
|
-
style: {
|
395
|
-
pattern: /<style[\w\W]*?>[\w\W]*?<\/style>/i,
|
340
|
+
Prism.languages.markup = {
|
341
|
+
comment: /<!--[\w\W]*?-->/,
|
342
|
+
prolog: /<\?[\w\W]+?\?>/,
|
343
|
+
doctype: /<!DOCTYPE[\w\W]+?>/,
|
344
|
+
cdata: /<!\[CDATA\[[\w\W]*?]]>/i,
|
345
|
+
tag: {
|
346
|
+
pattern: /<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,
|
396
347
|
inside: {
|
397
|
-
tag: {
|
398
|
-
pattern:
|
399
|
-
inside:
|
400
|
-
|
401
|
-
|
402
|
-
|
403
|
-
alias: 'language-css'
|
404
|
-
}
|
405
|
-
});
|
406
|
-
Prism.languages.insertBefore('inside', 'attr-value', {
|
407
|
-
'style-attr': {
|
408
|
-
pattern: /\s*style=("|').*?\1/i,
|
409
|
-
inside: {
|
410
|
-
'attr-name': {
|
411
|
-
pattern: /^\s*style/i,
|
412
|
-
inside: Prism.languages.markup.tag.inside
|
348
|
+
'tag': {
|
349
|
+
pattern: /^<\/?[^\s>\/]+/i,
|
350
|
+
inside: {
|
351
|
+
punctuation: /^<\/?/,
|
352
|
+
namespace: /^[^\s>\/:]+:/
|
353
|
+
}
|
413
354
|
},
|
414
|
-
'punctuation': /^\s*=\s*['"]|['"]\s*$/,
|
415
355
|
'attr-value': {
|
416
|
-
pattern:
|
417
|
-
inside:
|
356
|
+
pattern: /=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,
|
357
|
+
inside: { punctuation: /[=>"']/ }
|
358
|
+
},
|
359
|
+
'punctuation': /\/?>/,
|
360
|
+
'attr-name': {
|
361
|
+
pattern: /[^\s>\/]+/,
|
362
|
+
inside: { namespace: /^[^\s>\/:]+:/ }
|
418
363
|
}
|
419
|
-
}
|
420
|
-
alias: 'language-css'
|
421
|
-
}
|
422
|
-
}, Prism.languages.markup.tag);
|
423
|
-
}
|
424
|
-
Prism.languages.clike = {
|
425
|
-
'comment': [
|
426
|
-
{
|
427
|
-
pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
|
428
|
-
lookbehind: true
|
364
|
+
}
|
429
365
|
},
|
430
|
-
{
|
431
|
-
|
432
|
-
|
366
|
+
entity: /&#?[\da-z]{1,8};/i
|
367
|
+
};
|
368
|
+
Prism.hooks.add('wrap', function (env) {
|
369
|
+
if (env.type === 'entity') {
|
370
|
+
env.attributes.title = env.content.replace(/&/, '&');
|
433
371
|
}
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
});
|
459
|
-
Prism.languages.insertBefore('javascript', 'class-name', {
|
460
|
-
'template-string': {
|
461
|
-
pattern: /`(?:\\`|\\?[^`])*`/,
|
462
|
-
inside: {
|
463
|
-
interpolation: {
|
464
|
-
pattern: /\$\{[^}]+\}/,
|
372
|
+
});
|
373
|
+
Prism.languages.xml = Prism.languages.markup;
|
374
|
+
Prism.languages.html = Prism.languages.markup;
|
375
|
+
Prism.languages.mathml = Prism.languages.markup;
|
376
|
+
Prism.languages.svg = Prism.languages.markup;
|
377
|
+
Prism.languages.css = {
|
378
|
+
comment: /\/\*[\w\W]*?\*\//,
|
379
|
+
atrule: {
|
380
|
+
pattern: /@[\w-]+?.*?(;|(?=\s*\{))/i,
|
381
|
+
inside: { rule: /@[\w-]+/ }
|
382
|
+
},
|
383
|
+
url: /url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,
|
384
|
+
selector: /[^\{\}\s][^\{\};]*?(?=\s*\{)/,
|
385
|
+
string: /("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,
|
386
|
+
property: /(\b|\B)[\w-]+(?=\s*:)/i,
|
387
|
+
important: /\B!important\b/i,
|
388
|
+
function: /[-a-z0-9]+(?=\()/i,
|
389
|
+
punctuation: /[(){};:]/
|
390
|
+
};
|
391
|
+
Prism.languages.css.atrule.inside.rest = Prism.util.clone(Prism.languages.css);
|
392
|
+
if (Prism.languages.markup) {
|
393
|
+
Prism.languages.insertBefore('markup', 'tag', {
|
394
|
+
style: {
|
395
|
+
pattern: /<style[\w\W]*?>[\w\W]*?<\/style>/i,
|
465
396
|
inside: {
|
466
|
-
|
467
|
-
pattern:
|
468
|
-
|
397
|
+
tag: {
|
398
|
+
pattern: /<style[\w\W]*?>|<\/style>/i,
|
399
|
+
inside: Prism.languages.markup.tag.inside
|
469
400
|
},
|
470
|
-
|
471
|
-
}
|
401
|
+
rest: Prism.languages.css
|
402
|
+
},
|
403
|
+
alias: 'language-css'
|
404
|
+
}
|
405
|
+
});
|
406
|
+
Prism.languages.insertBefore('inside', 'attr-value', {
|
407
|
+
'style-attr': {
|
408
|
+
pattern: /\s*style=("|').*?\1/i,
|
409
|
+
inside: {
|
410
|
+
'attr-name': {
|
411
|
+
pattern: /^\s*style/i,
|
412
|
+
inside: Prism.languages.markup.tag.inside
|
413
|
+
},
|
414
|
+
'punctuation': /^\s*=\s*['"]|['"]\s*$/,
|
415
|
+
'attr-value': {
|
416
|
+
pattern: /.+/i,
|
417
|
+
inside: Prism.languages.css
|
418
|
+
}
|
419
|
+
},
|
420
|
+
alias: 'language-css'
|
421
|
+
}
|
422
|
+
}, Prism.languages.markup.tag);
|
423
|
+
}
|
424
|
+
Prism.languages.clike = {
|
425
|
+
'comment': [
|
426
|
+
{
|
427
|
+
pattern: /(^|[^\\])\/\*[\w\W]*?\*\//,
|
428
|
+
lookbehind: true
|
472
429
|
},
|
473
|
-
|
430
|
+
{
|
431
|
+
pattern: /(^|[^\\:])\/\/.*/,
|
432
|
+
lookbehind: true
|
433
|
+
}
|
434
|
+
],
|
435
|
+
'string': /(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,
|
436
|
+
'class-name': {
|
437
|
+
pattern: /((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,
|
438
|
+
lookbehind: true,
|
439
|
+
inside: { punctuation: /(\.|\\)/ }
|
440
|
+
},
|
441
|
+
'keyword': /\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,
|
442
|
+
'boolean': /\b(true|false)\b/,
|
443
|
+
'function': /[a-z0-9_]+(?=\()/i,
|
444
|
+
'number': /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,
|
445
|
+
'operator': /--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,
|
446
|
+
'punctuation': /[{}[\];(),.:]/
|
447
|
+
};
|
448
|
+
Prism.languages.javascript = Prism.languages.extend('clike', {
|
449
|
+
keyword: /\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,
|
450
|
+
number: /\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,
|
451
|
+
function: /[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i
|
452
|
+
});
|
453
|
+
Prism.languages.insertBefore('javascript', 'keyword', {
|
454
|
+
regex: {
|
455
|
+
pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,
|
456
|
+
lookbehind: true
|
474
457
|
}
|
475
|
-
}
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
script: {
|
480
|
-
pattern: /<script[\w\W]*?>[\w\W]*?<\/script>/i,
|
458
|
+
});
|
459
|
+
Prism.languages.insertBefore('javascript', 'class-name', {
|
460
|
+
'template-string': {
|
461
|
+
pattern: /`(?:\\`|\\?[^`])*`/,
|
481
462
|
inside: {
|
482
|
-
|
483
|
-
pattern:
|
484
|
-
inside:
|
463
|
+
interpolation: {
|
464
|
+
pattern: /\$\{[^}]+\}/,
|
465
|
+
inside: {
|
466
|
+
'interpolation-punctuation': {
|
467
|
+
pattern: /^\$\{|\}$/,
|
468
|
+
alias: 'punctuation'
|
469
|
+
},
|
470
|
+
'rest': Prism.languages.javascript
|
471
|
+
}
|
485
472
|
},
|
486
|
-
|
487
|
-
}
|
488
|
-
alias: 'language-javascript'
|
473
|
+
string: /[\s\S]+/
|
474
|
+
}
|
489
475
|
}
|
490
476
|
});
|
491
|
-
|
492
|
-
|
493
|
-
|
494
|
-
|
495
|
-
|
496
|
-
|
497
|
-
|
498
|
-
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
|
503
|
-
inside: {
|
504
|
-
string: {
|
505
|
-
pattern: /(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,
|
506
|
-
lookbehind: true
|
477
|
+
if (Prism.languages.markup) {
|
478
|
+
Prism.languages.insertBefore('markup', 'tag', {
|
479
|
+
script: {
|
480
|
+
pattern: /<script[\w\W]*?>[\w\W]*?<\/script>/i,
|
481
|
+
inside: {
|
482
|
+
tag: {
|
483
|
+
pattern: /<script[\w\W]*?>|<\/script>/i,
|
484
|
+
inside: Prism.languages.markup.tag.inside
|
485
|
+
},
|
486
|
+
rest: Prism.languages.javascript
|
487
|
+
},
|
488
|
+
alias: 'language-javascript'
|
507
489
|
}
|
508
|
-
}
|
509
|
-
}
|
510
|
-
});
|
511
|
-
delete Prism.languages.c['class-name'];
|
512
|
-
delete Prism.languages.c.boolean;
|
513
|
-
Prism.languages.csharp = Prism.languages.extend('clike', {
|
514
|
-
keyword: /\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,
|
515
|
-
string: [
|
516
|
-
/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,
|
517
|
-
/("|')(\\?.)*?\1/
|
518
|
-
],
|
519
|
-
number: /\b-?(0x[\da-f]+|\d*\.?\d+)\b/i
|
520
|
-
});
|
521
|
-
Prism.languages.insertBefore('csharp', 'keyword', {
|
522
|
-
preprocessor: {
|
523
|
-
pattern: /(^\s*)#.*/m,
|
524
|
-
lookbehind: true
|
525
|
-
}
|
526
|
-
});
|
527
|
-
Prism.languages.cpp = Prism.languages.extend('c', {
|
528
|
-
keyword: /\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,
|
529
|
-
boolean: /\b(true|false)\b/,
|
530
|
-
operator: /[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/
|
531
|
-
});
|
532
|
-
Prism.languages.insertBefore('cpp', 'keyword', {
|
533
|
-
'class-name': {
|
534
|
-
pattern: /(class\s+)[a-z0-9_]+/i,
|
535
|
-
lookbehind: true
|
536
|
-
}
|
537
|
-
});
|
538
|
-
Prism.languages.java = Prism.languages.extend('clike', {
|
539
|
-
keyword: /\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,
|
540
|
-
number: /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,
|
541
|
-
operator: {
|
542
|
-
pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,
|
543
|
-
lookbehind: true
|
544
|
-
}
|
545
|
-
});
|
546
|
-
Prism.languages.php = Prism.languages.extend('clike', {
|
547
|
-
keyword: /\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,
|
548
|
-
constant: /\b[A-Z0-9_]{2,}\b/,
|
549
|
-
comment: {
|
550
|
-
pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,
|
551
|
-
lookbehind: true
|
552
|
-
}
|
553
|
-
});
|
554
|
-
Prism.languages.insertBefore('php', 'class-name', {
|
555
|
-
'shell-comment': {
|
556
|
-
pattern: /(^|[^\\])#.*/,
|
557
|
-
lookbehind: true,
|
558
|
-
alias: 'comment'
|
559
|
-
}
|
560
|
-
});
|
561
|
-
Prism.languages.insertBefore('php', 'keyword', {
|
562
|
-
delimiter: /\?>|<\?(?:php)?/i,
|
563
|
-
variable: /\$\w+\b/i,
|
564
|
-
package: {
|
565
|
-
pattern: /(\\|namespace\s+|use\s+)[\w\\]+/,
|
566
|
-
lookbehind: true,
|
567
|
-
inside: { punctuation: /\\/ }
|
568
|
-
}
|
569
|
-
});
|
570
|
-
Prism.languages.insertBefore('php', 'operator', {
|
571
|
-
property: {
|
572
|
-
pattern: /(->)[\w]+/,
|
573
|
-
lookbehind: true
|
490
|
+
});
|
574
491
|
}
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
|
579
|
-
|
492
|
+
Prism.languages.js = Prism.languages.javascript;
|
493
|
+
Prism.languages.c = Prism.languages.extend('clike', {
|
494
|
+
keyword: /\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,
|
495
|
+
operator: /\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/,
|
496
|
+
number: /\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i
|
497
|
+
});
|
498
|
+
Prism.languages.insertBefore('c', 'string', {
|
499
|
+
macro: {
|
500
|
+
pattern: /(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,
|
501
|
+
lookbehind: true,
|
502
|
+
alias: 'property',
|
503
|
+
inside: {
|
504
|
+
string: {
|
505
|
+
pattern: /(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,
|
506
|
+
lookbehind: true
|
507
|
+
}
|
508
|
+
}
|
580
509
|
}
|
581
|
-
env.tokenStack = [];
|
582
|
-
env.backupCode = env.code;
|
583
|
-
env.code = env.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/ig, function (match) {
|
584
|
-
env.tokenStack.push(match);
|
585
|
-
return '{{{PHP' + env.tokenStack.length + '}}}';
|
586
|
-
});
|
587
510
|
});
|
588
|
-
Prism.
|
589
|
-
|
590
|
-
|
591
|
-
|
511
|
+
delete Prism.languages.c['class-name'];
|
512
|
+
delete Prism.languages.c.boolean;
|
513
|
+
Prism.languages.csharp = Prism.languages.extend('clike', {
|
514
|
+
keyword: /\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,
|
515
|
+
string: [
|
516
|
+
/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,
|
517
|
+
/("|')(\\?.)*?\1/
|
518
|
+
],
|
519
|
+
number: /\b-?(0x[\da-f]+|\d*\.?\d+)\b/i
|
520
|
+
});
|
521
|
+
Prism.languages.insertBefore('csharp', 'keyword', {
|
522
|
+
preprocessor: {
|
523
|
+
pattern: /(^\s*)#.*/m,
|
524
|
+
lookbehind: true
|
592
525
|
}
|
593
526
|
});
|
594
|
-
Prism.
|
595
|
-
|
596
|
-
|
527
|
+
Prism.languages.cpp = Prism.languages.extend('c', {
|
528
|
+
keyword: /\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,
|
529
|
+
boolean: /\b(true|false)\b/,
|
530
|
+
operator: /[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/
|
531
|
+
});
|
532
|
+
Prism.languages.insertBefore('cpp', 'keyword', {
|
533
|
+
'class-name': {
|
534
|
+
pattern: /(class\s+)[a-z0-9_]+/i,
|
535
|
+
lookbehind: true
|
597
536
|
}
|
598
|
-
|
599
|
-
|
537
|
+
});
|
538
|
+
Prism.languages.java = Prism.languages.extend('clike', {
|
539
|
+
keyword: /\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,
|
540
|
+
number: /\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,
|
541
|
+
operator: {
|
542
|
+
pattern: /(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,
|
543
|
+
lookbehind: true
|
600
544
|
}
|
601
|
-
env.element.innerHTML = env.highlightedCode;
|
602
545
|
});
|
603
|
-
Prism.
|
604
|
-
|
605
|
-
|
546
|
+
Prism.languages.php = Prism.languages.extend('clike', {
|
547
|
+
keyword: /\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,
|
548
|
+
constant: /\b[A-Z0-9_]{2,}\b/,
|
549
|
+
comment: {
|
550
|
+
pattern: /(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,
|
551
|
+
lookbehind: true
|
606
552
|
}
|
607
553
|
});
|
608
|
-
Prism.languages.insertBefore('php', '
|
609
|
-
|
610
|
-
pattern:
|
611
|
-
|
612
|
-
|
613
|
-
|
554
|
+
Prism.languages.insertBefore('php', 'class-name', {
|
555
|
+
'shell-comment': {
|
556
|
+
pattern: /(^|[^\\])#.*/,
|
557
|
+
lookbehind: true,
|
558
|
+
alias: 'comment'
|
559
|
+
}
|
614
560
|
});
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,
|
624
|
-
lookbehind: true
|
625
|
-
},
|
626
|
-
'class-name': {
|
627
|
-
pattern: /(\bclass\s+)[a-z0-9_]+/i,
|
628
|
-
lookbehind: true
|
629
|
-
},
|
630
|
-
'keyword': /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,
|
631
|
-
'boolean': /\b(?:True|False)\b/,
|
632
|
-
'number': /\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,
|
633
|
-
'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,
|
634
|
-
'punctuation': /[{}[\];(),.:]/
|
635
|
-
};
|
636
|
-
(function (Prism) {
|
637
|
-
Prism.languages.ruby = Prism.languages.extend('clike', {
|
638
|
-
comment: /#(?!\{[^\r\n]*?\}).*/,
|
639
|
-
keyword: /\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/
|
561
|
+
Prism.languages.insertBefore('php', 'keyword', {
|
562
|
+
delimiter: /\?>|<\?(?:php)?/i,
|
563
|
+
variable: /\$\w+\b/i,
|
564
|
+
package: {
|
565
|
+
pattern: /(\\|namespace\s+|use\s+)[\w\\]+/,
|
566
|
+
lookbehind: true,
|
567
|
+
inside: { punctuation: /\\/ }
|
568
|
+
}
|
640
569
|
});
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
pattern: /^#\{|\}$/,
|
646
|
-
alias: 'tag'
|
647
|
-
},
|
648
|
-
rest: Prism.util.clone(Prism.languages.ruby)
|
570
|
+
Prism.languages.insertBefore('php', 'operator', {
|
571
|
+
property: {
|
572
|
+
pattern: /(->)[\w]+/,
|
573
|
+
lookbehind: true
|
649
574
|
}
|
575
|
+
});
|
576
|
+
if (Prism.languages.markup) {
|
577
|
+
Prism.hooks.add('before-highlight', function (env) {
|
578
|
+
if (env.language !== 'php') {
|
579
|
+
return;
|
580
|
+
}
|
581
|
+
env.tokenStack = [];
|
582
|
+
env.backupCode = env.code;
|
583
|
+
env.code = env.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/ig, function (match) {
|
584
|
+
env.tokenStack.push(match);
|
585
|
+
return '{{{PHP' + env.tokenStack.length + '}}}';
|
586
|
+
});
|
587
|
+
});
|
588
|
+
Prism.hooks.add('before-insert', function (env) {
|
589
|
+
if (env.language === 'php') {
|
590
|
+
env.code = env.backupCode;
|
591
|
+
delete env.backupCode;
|
592
|
+
}
|
593
|
+
});
|
594
|
+
Prism.hooks.add('after-highlight', function (env) {
|
595
|
+
if (env.language !== 'php') {
|
596
|
+
return;
|
597
|
+
}
|
598
|
+
for (var i = 0, t = void 0; t = env.tokenStack[i]; i++) {
|
599
|
+
env.highlightedCode = env.highlightedCode.replace('{{{PHP' + (i + 1) + '}}}', Prism.highlight(t, env.grammar, 'php').replace(/\$/g, '$$$$'));
|
600
|
+
}
|
601
|
+
env.element.innerHTML = env.highlightedCode;
|
602
|
+
});
|
603
|
+
Prism.hooks.add('wrap', function (env) {
|
604
|
+
if (env.language === 'php' && env.type === 'markup') {
|
605
|
+
env.content = env.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g, '<span class="token php">$1</span>');
|
606
|
+
}
|
607
|
+
});
|
608
|
+
Prism.languages.insertBefore('php', 'comment', {
|
609
|
+
markup: {
|
610
|
+
pattern: /<[^?]\/?(.*?)>/,
|
611
|
+
inside: Prism.languages.markup
|
612
|
+
},
|
613
|
+
php: /\{\{\{PHP[0-9]+\}\}\}/
|
614
|
+
});
|
615
|
+
}
|
616
|
+
Prism.languages.python = {
|
617
|
+
'comment': {
|
618
|
+
pattern: /(^|[^\\])#.*/,
|
619
|
+
lookbehind: true
|
620
|
+
},
|
621
|
+
'string': /"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,
|
622
|
+
'function': {
|
623
|
+
pattern: /((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,
|
624
|
+
lookbehind: true
|
625
|
+
},
|
626
|
+
'class-name': {
|
627
|
+
pattern: /(\bclass\s+)[a-z0-9_]+/i,
|
628
|
+
lookbehind: true
|
629
|
+
},
|
630
|
+
'keyword': /\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,
|
631
|
+
'boolean': /\b(?:True|False)\b/,
|
632
|
+
'number': /\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,
|
633
|
+
'operator': /[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,
|
634
|
+
'punctuation': /[{}[\];(),.:]/
|
650
635
|
};
|
651
|
-
|
652
|
-
|
636
|
+
(function (Prism) {
|
637
|
+
Prism.languages.ruby = Prism.languages.extend('clike', {
|
638
|
+
comment: /#(?!\{[^\r\n]*?\}).*/,
|
639
|
+
keyword: /\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/
|
640
|
+
});
|
641
|
+
var interpolation = {
|
642
|
+
pattern: /#\{[^}]+\}/,
|
643
|
+
inside: {
|
644
|
+
delimiter: {
|
645
|
+
pattern: /^#\{|\}$/,
|
646
|
+
alias: 'tag'
|
647
|
+
},
|
648
|
+
rest: Prism.util.clone(Prism.languages.ruby)
|
649
|
+
}
|
650
|
+
};
|
651
|
+
Prism.languages.insertBefore('ruby', 'keyword', {
|
652
|
+
regex: [
|
653
|
+
{
|
654
|
+
pattern: /%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,
|
655
|
+
inside: { interpolation: interpolation }
|
656
|
+
},
|
657
|
+
{
|
658
|
+
pattern: /%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,
|
659
|
+
inside: { interpolation: interpolation }
|
660
|
+
},
|
661
|
+
{
|
662
|
+
pattern: /%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,
|
663
|
+
inside: { interpolation: interpolation }
|
664
|
+
},
|
665
|
+
{
|
666
|
+
pattern: /%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,
|
667
|
+
inside: { interpolation: interpolation }
|
668
|
+
},
|
669
|
+
{
|
670
|
+
pattern: /%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,
|
671
|
+
inside: { interpolation: interpolation }
|
672
|
+
},
|
673
|
+
{
|
674
|
+
pattern: /(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,
|
675
|
+
lookbehind: true
|
676
|
+
}
|
677
|
+
],
|
678
|
+
variable: /[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,
|
679
|
+
symbol: /:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/
|
680
|
+
});
|
681
|
+
Prism.languages.insertBefore('ruby', 'number', {
|
682
|
+
builtin: /\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,
|
683
|
+
constant: /\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/
|
684
|
+
});
|
685
|
+
Prism.languages.ruby.string = [
|
653
686
|
{
|
654
|
-
pattern: /%
|
687
|
+
pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,
|
655
688
|
inside: { interpolation: interpolation }
|
656
689
|
},
|
657
690
|
{
|
658
|
-
pattern: /%
|
691
|
+
pattern: /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,
|
659
692
|
inside: { interpolation: interpolation }
|
660
693
|
},
|
661
694
|
{
|
662
|
-
pattern: /%
|
695
|
+
pattern: /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,
|
663
696
|
inside: { interpolation: interpolation }
|
664
697
|
},
|
665
698
|
{
|
666
|
-
pattern: /%
|
699
|
+
pattern: /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,
|
667
700
|
inside: { interpolation: interpolation }
|
668
701
|
},
|
669
702
|
{
|
670
|
-
pattern: /%
|
703
|
+
pattern: /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,
|
671
704
|
inside: { interpolation: interpolation }
|
672
705
|
},
|
673
706
|
{
|
674
|
-
pattern: /(
|
675
|
-
|
707
|
+
pattern: /("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,
|
708
|
+
inside: { interpolation: interpolation }
|
676
709
|
}
|
677
|
-
]
|
678
|
-
|
679
|
-
symbol: /:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/
|
680
|
-
});
|
681
|
-
Prism.languages.insertBefore('ruby', 'number', {
|
682
|
-
builtin: /\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,
|
683
|
-
constant: /\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/
|
684
|
-
});
|
685
|
-
Prism.languages.ruby.string = [
|
686
|
-
{
|
687
|
-
pattern: /%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,
|
688
|
-
inside: { interpolation: interpolation }
|
689
|
-
},
|
690
|
-
{
|
691
|
-
pattern: /%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,
|
692
|
-
inside: { interpolation: interpolation }
|
693
|
-
},
|
694
|
-
{
|
695
|
-
pattern: /%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,
|
696
|
-
inside: { interpolation: interpolation }
|
697
|
-
},
|
698
|
-
{
|
699
|
-
pattern: /%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,
|
700
|
-
inside: { interpolation: interpolation }
|
701
|
-
},
|
702
|
-
{
|
703
|
-
pattern: /%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,
|
704
|
-
inside: { interpolation: interpolation }
|
705
|
-
},
|
706
|
-
{
|
707
|
-
pattern: /("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,
|
708
|
-
inside: { interpolation: interpolation }
|
709
|
-
}
|
710
|
-
];
|
711
|
-
}(Prism));
|
710
|
+
];
|
711
|
+
}(Prism));
|
712
712
|
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
713
|
+
function isCodeSample(elm) {
|
714
|
+
return elm && elm.nodeName === 'PRE' && elm.className.indexOf('language-') !== -1;
|
715
|
+
}
|
716
|
+
function trimArg(predicateFn) {
|
717
|
+
return function (arg1, arg2) {
|
718
|
+
return predicateFn(arg2);
|
719
|
+
};
|
720
|
+
}
|
721
|
+
var Utils = {
|
722
|
+
isCodeSample: isCodeSample,
|
723
|
+
trimArg: trimArg
|
719
724
|
};
|
720
|
-
}
|
721
|
-
var $_agtlhafjm0ofy90 = {
|
722
|
-
isCodeSample: isCodeSample,
|
723
|
-
trimArg: trimArg
|
724
|
-
};
|
725
725
|
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
726
|
+
var getSelectedCodeSample = function (editor) {
|
727
|
+
var node = editor.selection.getNode();
|
728
|
+
if (Utils.isCodeSample(node)) {
|
729
|
+
return node;
|
730
|
+
}
|
731
|
+
return null;
|
732
|
+
};
|
733
|
+
var insertCodeSample = function (editor, language, code) {
|
734
|
+
editor.undoManager.transact(function () {
|
735
|
+
var node = getSelectedCodeSample(editor);
|
736
|
+
code = global$1.DOM.encode(code);
|
737
|
+
if (node) {
|
738
|
+
editor.dom.setAttrib(node, 'class', 'language-' + language);
|
739
|
+
node.innerHTML = code;
|
740
|
+
Prism.highlightElement(node);
|
741
|
+
editor.selection.select(node);
|
742
|
+
} else {
|
743
|
+
editor.insertContent('<pre id="__new" class="language-' + language + '">' + code + '</pre>');
|
744
|
+
editor.selection.select(editor.$('#__new').removeAttr('id')[0]);
|
745
|
+
}
|
746
|
+
});
|
747
|
+
};
|
748
|
+
var getCurrentCode = function (editor) {
|
735
749
|
var node = getSelectedCodeSample(editor);
|
736
|
-
code = global$1.DOM.encode(code);
|
737
750
|
if (node) {
|
738
|
-
|
739
|
-
node.innerHTML = code;
|
740
|
-
Prism.highlightElement(node);
|
741
|
-
editor.selection.select(node);
|
742
|
-
} else {
|
743
|
-
editor.insertContent('<pre id="__new" class="language-' + language + '">' + code + '</pre>');
|
744
|
-
editor.selection.select(editor.$('#__new').removeAttr('id')[0]);
|
751
|
+
return node.textContent;
|
745
752
|
}
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
}
|
753
|
-
return '';
|
754
|
-
};
|
755
|
-
var $_gsi01acjm0ofy7m = {
|
756
|
-
getSelectedCodeSample: getSelectedCodeSample,
|
757
|
-
insertCodeSample: insertCodeSample,
|
758
|
-
getCurrentCode: getCurrentCode
|
759
|
-
};
|
753
|
+
return '';
|
754
|
+
};
|
755
|
+
var CodeSample = {
|
756
|
+
getSelectedCodeSample: getSelectedCodeSample,
|
757
|
+
insertCodeSample: insertCodeSample,
|
758
|
+
getCurrentCode: getCurrentCode
|
759
|
+
};
|
760
760
|
|
761
|
-
|
762
|
-
|
763
|
-
|
764
|
-
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
|
769
|
-
|
770
|
-
|
771
|
-
|
772
|
-
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
761
|
+
var getLanguages$1 = function (editor) {
|
762
|
+
var defaultLanguages = [
|
763
|
+
{
|
764
|
+
text: 'HTML/XML',
|
765
|
+
value: 'markup'
|
766
|
+
},
|
767
|
+
{
|
768
|
+
text: 'JavaScript',
|
769
|
+
value: 'javascript'
|
770
|
+
},
|
771
|
+
{
|
772
|
+
text: 'CSS',
|
773
|
+
value: 'css'
|
774
|
+
},
|
775
|
+
{
|
776
|
+
text: 'PHP',
|
777
|
+
value: 'php'
|
778
|
+
},
|
779
|
+
{
|
780
|
+
text: 'Ruby',
|
781
|
+
value: 'ruby'
|
782
|
+
},
|
783
|
+
{
|
784
|
+
text: 'Python',
|
785
|
+
value: 'python'
|
786
|
+
},
|
787
|
+
{
|
788
|
+
text: 'Java',
|
789
|
+
value: 'java'
|
790
|
+
},
|
791
|
+
{
|
792
|
+
text: 'C',
|
793
|
+
value: 'c'
|
794
|
+
},
|
795
|
+
{
|
796
|
+
text: 'C#',
|
797
|
+
value: 'csharp'
|
798
|
+
},
|
799
|
+
{
|
800
|
+
text: 'C++',
|
801
|
+
value: 'cpp'
|
802
|
+
}
|
803
|
+
];
|
804
|
+
var customLanguages = Settings.getLanguages(editor);
|
805
|
+
return customLanguages ? customLanguages : defaultLanguages;
|
806
|
+
};
|
807
|
+
var getCurrentLanguage = function (editor) {
|
808
|
+
var matches;
|
809
|
+
var node = CodeSample.getSelectedCodeSample(editor);
|
810
|
+
if (node) {
|
811
|
+
matches = node.className.match(/language-(\w+)/);
|
812
|
+
return matches ? matches[1] : '';
|
802
813
|
}
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
var node = $_gsi01acjm0ofy7m.getSelectedCodeSample(editor);
|
810
|
-
if (node) {
|
811
|
-
matches = node.className.match(/language-(\w+)/);
|
812
|
-
return matches ? matches[1] : '';
|
813
|
-
}
|
814
|
-
return '';
|
815
|
-
};
|
816
|
-
var $_87mfk3agjm0ofy92 = {
|
817
|
-
getLanguages: getLanguages$1,
|
818
|
-
getCurrentLanguage: getCurrentLanguage
|
819
|
-
};
|
814
|
+
return '';
|
815
|
+
};
|
816
|
+
var Languages = {
|
817
|
+
getLanguages: getLanguages$1,
|
818
|
+
getCurrentLanguage: getCurrentLanguage
|
819
|
+
};
|
820
820
|
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
821
|
+
var Dialog = {
|
822
|
+
open: function (editor) {
|
823
|
+
var minWidth = Settings.getDialogMinWidth(editor);
|
824
|
+
var minHeight = Settings.getDialogMinHeight(editor);
|
825
|
+
var currentLanguage = Languages.getCurrentLanguage(editor);
|
826
|
+
var currentLanguages = Languages.getLanguages(editor);
|
827
|
+
var currentCode = CodeSample.getCurrentCode(editor);
|
828
|
+
editor.windowManager.open({
|
829
|
+
title: 'Insert/Edit code sample',
|
830
|
+
minWidth: minWidth,
|
831
|
+
minHeight: minHeight,
|
832
|
+
layout: 'flex',
|
833
|
+
direction: 'column',
|
834
|
+
align: 'stretch',
|
835
|
+
body: [
|
836
|
+
{
|
837
|
+
type: 'listbox',
|
838
|
+
name: 'language',
|
839
|
+
label: 'Language',
|
840
|
+
maxWidth: 200,
|
841
|
+
value: currentLanguage,
|
842
|
+
values: currentLanguages
|
843
|
+
},
|
844
|
+
{
|
845
|
+
type: 'textbox',
|
846
|
+
name: 'code',
|
847
|
+
multiline: true,
|
848
|
+
spellcheck: false,
|
849
|
+
ariaLabel: 'Code view',
|
850
|
+
flex: 1,
|
851
|
+
style: 'direction: ltr; text-align: left',
|
852
|
+
classes: 'monospace',
|
853
|
+
value: currentCode,
|
854
|
+
autofocus: true
|
855
|
+
}
|
856
|
+
],
|
857
|
+
onSubmit: function (e) {
|
858
|
+
CodeSample.insertCodeSample(editor, e.data.language, e.data.code);
|
855
859
|
}
|
856
|
-
|
857
|
-
onSubmit: function (e) {
|
858
|
-
$_gsi01acjm0ofy7m.insertCodeSample(editor, e.data.language, e.data.code);
|
859
|
-
}
|
860
|
-
});
|
861
|
-
}
|
862
|
-
};
|
863
|
-
|
864
|
-
var register = function (editor) {
|
865
|
-
editor.addCommand('codesample', function () {
|
866
|
-
var node = editor.selection.getNode();
|
867
|
-
if (editor.selection.isCollapsed() || $_agtlhafjm0ofy90.isCodeSample(node)) {
|
868
|
-
$_47ybdma9jm0ofy7d.open(editor);
|
869
|
-
} else {
|
870
|
-
editor.formatter.toggle('code');
|
860
|
+
});
|
871
861
|
}
|
872
|
-
}
|
873
|
-
};
|
874
|
-
var $_dve9fsa8jm0ofy7c = { register: register };
|
862
|
+
};
|
875
863
|
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
this.textContent = code;
|
885
|
-
}));
|
864
|
+
var register = function (editor) {
|
865
|
+
editor.addCommand('codesample', function () {
|
866
|
+
var node = editor.selection.getNode();
|
867
|
+
if (editor.selection.isCollapsed() || Utils.isCodeSample(node)) {
|
868
|
+
Dialog.open(editor);
|
869
|
+
} else {
|
870
|
+
editor.formatter.toggle('code');
|
871
|
+
}
|
886
872
|
});
|
887
|
-
}
|
888
|
-
|
889
|
-
|
890
|
-
|
873
|
+
};
|
874
|
+
var Commands = { register: register };
|
875
|
+
|
876
|
+
var setup = function (editor) {
|
877
|
+
var $ = editor.$;
|
878
|
+
editor.on('PreProcess', function (e) {
|
879
|
+
$('pre[contenteditable=false]', e.node).filter(Utils.trimArg(Utils.isCodeSample)).each(function (idx, elm) {
|
880
|
+
var $elm = $(elm), code = elm.textContent;
|
881
|
+
$elm.attr('class', $.trim($elm.attr('class')));
|
882
|
+
$elm.removeAttr('contentEditable');
|
883
|
+
$elm.empty().append($('<code></code>').each(function () {
|
884
|
+
this.textContent = code;
|
885
|
+
}));
|
886
|
+
});
|
891
887
|
});
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
888
|
+
editor.on('SetContent', function () {
|
889
|
+
var unprocessedCodeSamples = $('pre').filter(Utils.trimArg(Utils.isCodeSample)).filter(function (idx, elm) {
|
890
|
+
return elm.contentEditable !== 'false';
|
891
|
+
});
|
892
|
+
if (unprocessedCodeSamples.length) {
|
893
|
+
editor.undoManager.transact(function () {
|
894
|
+
unprocessedCodeSamples.each(function (idx, elm) {
|
895
|
+
$(elm).find('br').each(function (idx, elm) {
|
896
|
+
elm.parentNode.replaceChild(editor.getDoc().createTextNode('\n'), elm);
|
897
|
+
});
|
898
|
+
elm.contentEditable = false;
|
899
|
+
elm.innerHTML = editor.dom.encode(elm.textContent);
|
900
|
+
Prism.highlightElement(elm);
|
901
|
+
elm.className = $.trim(elm.className);
|
897
902
|
});
|
898
|
-
elm.contentEditable = false;
|
899
|
-
elm.innerHTML = editor.dom.encode(elm.textContent);
|
900
|
-
Prism.highlightElement(elm);
|
901
|
-
elm.className = $.trim(elm.className);
|
902
903
|
});
|
904
|
+
}
|
905
|
+
});
|
906
|
+
};
|
907
|
+
var FilterContent = { setup: setup };
|
908
|
+
|
909
|
+
var loadCss = function (editor, pluginUrl, addedInlineCss, addedCss) {
|
910
|
+
var linkElm;
|
911
|
+
var contentCss = Settings.getContentCss(editor);
|
912
|
+
if (editor.inline && addedInlineCss.get()) {
|
913
|
+
return;
|
914
|
+
}
|
915
|
+
if (!editor.inline && addedCss.get()) {
|
916
|
+
return;
|
917
|
+
}
|
918
|
+
if (editor.inline) {
|
919
|
+
addedInlineCss.set(true);
|
920
|
+
} else {
|
921
|
+
addedCss.set(true);
|
922
|
+
}
|
923
|
+
if (contentCss !== false) {
|
924
|
+
linkElm = editor.dom.create('link', {
|
925
|
+
rel: 'stylesheet',
|
926
|
+
href: contentCss ? contentCss : pluginUrl + '/css/prism.css'
|
903
927
|
});
|
928
|
+
editor.getDoc().getElementsByTagName('head')[0].appendChild(linkElm);
|
904
929
|
}
|
905
|
-
}
|
906
|
-
|
907
|
-
var $_7swko9ahjm0ofy94 = { setup: setup };
|
930
|
+
};
|
931
|
+
var LoadCss = { loadCss: loadCss };
|
908
932
|
|
909
|
-
|
910
|
-
|
911
|
-
|
912
|
-
|
913
|
-
return;
|
914
|
-
}
|
915
|
-
if (!editor.inline && addedCss.get()) {
|
916
|
-
return;
|
917
|
-
}
|
918
|
-
if (editor.inline) {
|
919
|
-
addedInlineCss.set(true);
|
920
|
-
} else {
|
921
|
-
addedCss.set(true);
|
922
|
-
}
|
923
|
-
if (contentCss !== false) {
|
924
|
-
linkElm = editor.dom.create('link', {
|
925
|
-
rel: 'stylesheet',
|
926
|
-
href: contentCss ? contentCss : pluginUrl + '/css/prism.css'
|
933
|
+
var register$1 = function (editor) {
|
934
|
+
editor.addButton('codesample', {
|
935
|
+
cmd: 'codesample',
|
936
|
+
title: 'Insert/Edit code sample'
|
927
937
|
});
|
928
|
-
editor.
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
934
|
-
|
935
|
-
cmd: 'codesample',
|
936
|
-
title: 'Insert/Edit code sample'
|
937
|
-
});
|
938
|
-
editor.addMenuItem('codesample', {
|
939
|
-
cmd: 'codesample',
|
940
|
-
text: 'Code sample',
|
941
|
-
icon: 'codesample'
|
942
|
-
});
|
943
|
-
};
|
944
|
-
var $_3p6ti4ajjm0ofy97 = { register: register$1 };
|
938
|
+
editor.addMenuItem('codesample', {
|
939
|
+
cmd: 'codesample',
|
940
|
+
text: 'Code sample',
|
941
|
+
icon: 'codesample'
|
942
|
+
});
|
943
|
+
};
|
944
|
+
var Buttons = { register: register$1 };
|
945
945
|
|
946
|
-
|
947
|
-
|
948
|
-
|
949
|
-
|
950
|
-
|
951
|
-
|
952
|
-
|
953
|
-
|
954
|
-
|
955
|
-
|
956
|
-
|
957
|
-
|
958
|
-
|
946
|
+
var addedInlineCss = Cell(false);
|
947
|
+
global.add('codesample', function (editor, pluginUrl) {
|
948
|
+
var addedCss = Cell(false);
|
949
|
+
FilterContent.setup(editor);
|
950
|
+
Buttons.register(editor);
|
951
|
+
Commands.register(editor);
|
952
|
+
editor.on('init', function () {
|
953
|
+
LoadCss.loadCss(editor, pluginUrl, addedInlineCss, addedCss);
|
954
|
+
});
|
955
|
+
editor.on('dblclick', function (ev) {
|
956
|
+
if (Utils.isCodeSample(ev.target)) {
|
957
|
+
Dialog.open(editor);
|
958
|
+
}
|
959
|
+
});
|
959
960
|
});
|
960
|
-
|
961
|
-
|
962
|
-
}
|
961
|
+
function Plugin () {
|
962
|
+
}
|
963
963
|
|
964
|
-
|
964
|
+
return Plugin;
|
965
965
|
|
966
966
|
}());
|
967
967
|
})();
|