ace-rails-ap 4.1.2 → 4.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ace/rails/version.rb +1 -1
- data/vendor/assets/javascripts/ace/ace.js +752 -261
- data/vendor/assets/javascripts/ace/ext-beautify.js +0 -0
- data/vendor/assets/javascripts/ace/ext-chromevox.js +0 -0
- data/vendor/assets/javascripts/ace/ext-elastic_tabstops_lite.js +0 -0
- data/vendor/assets/javascripts/ace/ext-emmet.js +0 -0
- data/vendor/assets/javascripts/ace/ext-error_marker.js +0 -0
- data/vendor/assets/javascripts/ace/ext-keybinding_menu.js +0 -0
- data/vendor/assets/javascripts/ace/ext-language_tools.js +19 -9
- data/vendor/assets/javascripts/ace/ext-linking.js +9 -0
- data/vendor/assets/javascripts/ace/ext-modelist.js +2 -0
- data/vendor/assets/javascripts/ace/ext-old_ie.js +0 -0
- data/vendor/assets/javascripts/ace/ext-searchbox.js +158 -66
- data/vendor/assets/javascripts/ace/ext-settings_menu.js +3 -0
- data/vendor/assets/javascripts/ace/ext-spellcheck.js +0 -0
- data/vendor/assets/javascripts/ace/ext-split.js +0 -0
- data/vendor/assets/javascripts/ace/ext-static_highlight.js +1 -1
- data/vendor/assets/javascripts/ace/ext-statusbar.js +0 -0
- data/vendor/assets/javascripts/ace/ext-textarea.js +1 -0
- data/vendor/assets/javascripts/ace/ext-themelist.js +1 -0
- data/vendor/assets/javascripts/ace/ext-whitespace.js +24 -3
- data/vendor/assets/javascripts/ace/keybinding-emacs.js +0 -0
- data/vendor/assets/javascripts/ace/keybinding-vim.js +12 -4
- data/vendor/assets/javascripts/ace/mode-abap.js +0 -0
- data/vendor/assets/javascripts/ace/mode-abc.js +0 -0
- data/vendor/assets/javascripts/ace/mode-actionscript.js +0 -0
- data/vendor/assets/javascripts/ace/mode-ada.js +0 -0
- data/vendor/assets/javascripts/ace/mode-apache_conf.js +0 -0
- data/vendor/assets/javascripts/ace/mode-applescript.js +0 -0
- data/vendor/assets/javascripts/ace/mode-asciidoc.js +0 -0
- data/vendor/assets/javascripts/ace/mode-assembly_x86.js +0 -0
- data/vendor/assets/javascripts/ace/mode-autohotkey.js +0 -0
- data/vendor/assets/javascripts/ace/mode-bash.js +247 -0
- data/vendor/assets/javascripts/ace/mode-batchfile.js +0 -0
- data/vendor/assets/javascripts/ace/mode-bro.js +0 -0
- data/vendor/assets/javascripts/ace/mode-c9search.js +0 -5
- data/vendor/assets/javascripts/ace/mode-c_cpp.js +2 -3
- data/vendor/assets/javascripts/ace/mode-cirru.js +0 -0
- data/vendor/assets/javascripts/ace/mode-clojure.js +0 -0
- data/vendor/assets/javascripts/ace/mode-cobol.js +0 -0
- data/vendor/assets/javascripts/ace/mode-coffee.js +0 -0
- data/vendor/assets/javascripts/ace/mode-coldfusion.js +132 -78
- data/vendor/assets/javascripts/ace/mode-csharp.js +3 -4
- data/vendor/assets/javascripts/ace/mode-css.js +95 -47
- data/vendor/assets/javascripts/ace/mode-curly.js +132 -78
- data/vendor/assets/javascripts/ace/mode-d.js +0 -0
- data/vendor/assets/javascripts/ace/mode-dart.js +5 -8
- data/vendor/assets/javascripts/ace/mode-diff.js +0 -0
- data/vendor/assets/javascripts/ace/mode-django.js +132 -83
- data/vendor/assets/javascripts/ace/mode-dockerfile.js +0 -0
- data/vendor/assets/javascripts/ace/mode-dot.js +2 -5
- data/vendor/assets/javascripts/ace/mode-drools.js +4 -6
- data/vendor/assets/javascripts/ace/mode-eiffel.js +0 -0
- data/vendor/assets/javascripts/ace/mode-ejs.js +137 -78
- data/vendor/assets/javascripts/ace/mode-elixir.js +0 -0
- data/vendor/assets/javascripts/ace/mode-elm.js +0 -0
- data/vendor/assets/javascripts/ace/mode-erlang.js +0 -0
- data/vendor/assets/javascripts/ace/mode-forth.js +0 -0
- data/vendor/assets/javascripts/ace/mode-fortran.js +0 -0
- data/vendor/assets/javascripts/ace/mode-ftl.js +122 -78
- data/vendor/assets/javascripts/ace/mode-gcode.js +0 -0
- data/vendor/assets/javascripts/ace/mode-gherkin.js +0 -0
- data/vendor/assets/javascripts/ace/mode-gitignore.js +0 -0
- data/vendor/assets/javascripts/ace/mode-glsl.js +2 -3
- data/vendor/assets/javascripts/ace/mode-gobstones.js +23 -17
- data/vendor/assets/javascripts/ace/mode-golang.js +0 -0
- data/vendor/assets/javascripts/ace/mode-graphqlschema.js +206 -0
- data/vendor/assets/javascripts/ace/mode-groovy.js +23 -17
- data/vendor/assets/javascripts/ace/mode-haml.js +247 -183
- data/vendor/assets/javascripts/ace/mode-handlebars.js +132 -78
- data/vendor/assets/javascripts/ace/mode-haskell.js +0 -0
- data/vendor/assets/javascripts/ace/mode-haskell_cabal.js +0 -0
- data/vendor/assets/javascripts/ace/mode-haxe.js +2 -3
- data/vendor/assets/javascripts/ace/mode-hjson.js +0 -0
- data/vendor/assets/javascripts/ace/mode-html.js +132 -78
- data/vendor/assets/javascripts/ace/mode-html_elixir.js +132 -78
- data/vendor/assets/javascripts/ace/mode-html_ruby.js +137 -78
- data/vendor/assets/javascripts/ace/mode-ini.js +0 -0
- data/vendor/assets/javascripts/ace/mode-io.js +0 -0
- data/vendor/assets/javascripts/ace/mode-jack.js +0 -0
- data/vendor/assets/javascripts/ace/mode-jade.js +150 -86
- data/vendor/assets/javascripts/ace/mode-java.js +23 -17
- data/vendor/assets/javascripts/ace/mode-javascript.js +21 -14
- data/vendor/assets/javascripts/ace/mode-json.js +16 -8
- data/vendor/assets/javascripts/ace/mode-jsoniq.js +27 -11
- data/vendor/assets/javascripts/ace/mode-jsp.js +122 -78
- data/vendor/assets/javascripts/ace/mode-jsx.js +2 -3
- data/vendor/assets/javascripts/ace/mode-julia.js +0 -0
- data/vendor/assets/javascripts/ace/mode-kotlin.js +0 -0
- data/vendor/assets/javascripts/ace/mode-latex.js +3 -2
- data/vendor/assets/javascripts/ace/mode-lean.js +0 -0
- data/vendor/assets/javascripts/ace/mode-less.js +97 -50
- data/vendor/assets/javascripts/ace/mode-liquid.js +120 -75
- data/vendor/assets/javascripts/ace/mode-lisp.js +0 -0
- data/vendor/assets/javascripts/ace/mode-live_script.js +0 -0
- data/vendor/assets/javascripts/ace/mode-livescript.js +0 -0
- data/vendor/assets/javascripts/ace/mode-logiql.js +0 -0
- data/vendor/assets/javascripts/ace/mode-lsl.js +0 -0
- data/vendor/assets/javascripts/ace/mode-lua.js +4 -4
- data/vendor/assets/javascripts/ace/mode-luapage.js +136 -82
- data/vendor/assets/javascripts/ace/mode-lucene.js +0 -0
- data/vendor/assets/javascripts/ace/mode-makefile.js +0 -0
- data/vendor/assets/javascripts/ace/mode-markdown.js +133 -80
- data/vendor/assets/javascripts/ace/mode-mask.js +121 -77
- data/vendor/assets/javascripts/ace/mode-matlab.js +0 -0
- data/vendor/assets/javascripts/ace/mode-maze.js +0 -0
- data/vendor/assets/javascripts/ace/mode-mel.js +0 -0
- data/vendor/assets/javascripts/ace/mode-mips_assembler.js +0 -0
- data/vendor/assets/javascripts/ace/mode-mipsassembler.js +0 -0
- data/vendor/assets/javascripts/ace/mode-mushcode.js +0 -0
- data/vendor/assets/javascripts/ace/mode-mysql.js +0 -0
- data/vendor/assets/javascripts/ace/mode-nix.js +4 -6
- data/vendor/assets/javascripts/ace/mode-nsis.js +0 -0
- data/vendor/assets/javascripts/ace/mode-objectivec.js +3 -5
- data/vendor/assets/javascripts/ace/mode-ocaml.js +2 -3
- data/vendor/assets/javascripts/ace/mode-pascal.js +0 -0
- data/vendor/assets/javascripts/ace/mode-perl.js +0 -0
- data/vendor/assets/javascripts/ace/mode-pgsql.js +42 -31
- data/vendor/assets/javascripts/ace/mode-php.js +132 -78
- data/vendor/assets/javascripts/ace/mode-pig.js +303 -0
- data/vendor/assets/javascripts/ace/mode-plain_text.js +0 -0
- data/vendor/assets/javascripts/ace/mode-powershell.js +0 -0
- data/vendor/assets/javascripts/ace/mode-praat.js +0 -0
- data/vendor/assets/javascripts/ace/mode-prolog.js +0 -0
- data/vendor/assets/javascripts/ace/mode-properties.js +0 -0
- data/vendor/assets/javascripts/ace/mode-protobuf.js +6 -8
- data/vendor/assets/javascripts/ace/mode-python.js +0 -0
- data/vendor/assets/javascripts/ace/mode-r.js +0 -0
- data/vendor/assets/javascripts/ace/mode-razor.js +135 -82
- data/vendor/assets/javascripts/ace/mode-rdoc.js +0 -0
- data/vendor/assets/javascripts/ace/mode-rhtml.js +132 -78
- data/vendor/assets/javascripts/ace/mode-rst.js +0 -0
- data/vendor/assets/javascripts/ace/mode-ruby.js +5 -0
- data/vendor/assets/javascripts/ace/mode-rust.js +1 -0
- data/vendor/assets/javascripts/ace/mode-sass.js +27 -6
- data/vendor/assets/javascripts/ace/mode-scad.js +2 -3
- data/vendor/assets/javascripts/ace/mode-scala.js +23 -17
- data/vendor/assets/javascripts/ace/mode-scheme.js +0 -0
- data/vendor/assets/javascripts/ace/mode-scss.js +27 -6
- data/vendor/assets/javascripts/ace/mode-sh.js +0 -0
- data/vendor/assets/javascripts/ace/mode-sjs.js +21 -14
- data/vendor/assets/javascripts/ace/mode-smarty.js +132 -78
- data/vendor/assets/javascripts/ace/mode-snippets.js +0 -0
- data/vendor/assets/javascripts/ace/mode-soy_template.js +132 -78
- data/vendor/assets/javascripts/ace/mode-space.js +0 -0
- data/vendor/assets/javascripts/ace/mode-sparql.js +313 -0
- data/vendor/assets/javascripts/ace/mode-sql.js +3 -0
- data/vendor/assets/javascripts/ace/mode-sqlserver.js +0 -0
- data/vendor/assets/javascripts/ace/mode-stylus.js +97 -50
- data/vendor/assets/javascripts/ace/mode-svg.js +37 -31
- data/vendor/assets/javascripts/ace/mode-swift.js +0 -0
- data/vendor/assets/javascripts/ace/mode-swig.js +0 -0
- data/vendor/assets/javascripts/ace/mode-tcl.js +0 -0
- data/vendor/assets/javascripts/ace/mode-tex.js +0 -0
- data/vendor/assets/javascripts/ace/mode-text.js +0 -0
- data/vendor/assets/javascripts/ace/mode-textile.js +0 -0
- data/vendor/assets/javascripts/ace/mode-toml.js +0 -0
- data/vendor/assets/javascripts/ace/mode-tsx.js +21 -14
- data/vendor/assets/javascripts/ace/mode-turtle.js +289 -0
- data/vendor/assets/javascripts/ace/mode-twig.js +132 -78
- data/vendor/assets/javascripts/ace/mode-typescript.js +21 -14
- data/vendor/assets/javascripts/ace/mode-vala.js +0 -0
- data/vendor/assets/javascripts/ace/mode-vbscript.js +0 -0
- data/vendor/assets/javascripts/ace/mode-velocity.js +132 -78
- data/vendor/assets/javascripts/ace/mode-verilog.js +0 -0
- data/vendor/assets/javascripts/ace/mode-vhdl.js +0 -0
- data/vendor/assets/javascripts/ace/mode-wollok.js +21 -14
- data/vendor/assets/javascripts/ace/mode-xml.js +16 -17
- data/vendor/assets/javascripts/ace/mode-xquery.js +0 -0
- data/vendor/assets/javascripts/ace/mode-yaml.js +40 -8
- data/vendor/assets/javascripts/ace/snippets/abap.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/abc.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/actionscript.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/ada.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/apache_conf.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/applescript.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/asciidoc.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/assembly_x86.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/autohotkey.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/batchfile.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/bro.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/c9search.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/c_cpp.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/cirru.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/clojure.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/cobol.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/coffee.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/coldfusion.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/csharp.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/css.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/curly.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/d.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/dart.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/diff.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/django.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/dockerfile.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/dot.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/drools.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/eiffel.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/ejs.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/elixir.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/elm.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/erlang.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/forth.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/fortran.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/ftl.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/gcode.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/gherkin.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/gitignore.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/glsl.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/gobstones.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/golang.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/graphqlschema.js +39 -0
- data/vendor/assets/javascripts/ace/snippets/groovy.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/haml.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/handlebars.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/haskell.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/haskell_cabal.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/haxe.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/hjson.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/html.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/html_elixir.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/html_ruby.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/ini.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/io.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/jack.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/jade.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/java.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/javascript.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/json.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/jsoniq.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/jsp.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/jsx.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/julia.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/kotlin.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/latex.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/lean.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/less.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/liquid.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/lisp.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/live_script.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/livescript.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/logiql.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/lsl.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/lua.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/luapage.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/lucene.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/makefile.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/markdown.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/mask.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/matlab.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/maze.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/mel.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/mips_assembler.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/mipsassembler.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/mushcode.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/mysql.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/nix.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/nsis.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/objectivec.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/ocaml.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/pascal.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/perl.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/pgsql.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/php.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/pig.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/plain_text.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/powershell.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/praat.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/prolog.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/properties.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/protobuf.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/python.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/r.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/razor.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/rdoc.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/rhtml.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/rst.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/ruby.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/rust.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/sass.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/scad.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/scala.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/scheme.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/scss.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/sh.js +1 -1
- data/vendor/assets/javascripts/ace/snippets/sjs.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/smarty.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/snippets.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/soy_template.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/space.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/sparql.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/sql.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/sqlserver.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/stylus.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/svg.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/swift.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/swig.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/tcl.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/tex.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/text.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/textile.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/toml.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/tsx.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/turtle.js +7 -0
- data/vendor/assets/javascripts/ace/snippets/twig.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/typescript.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/vala.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/vbscript.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/velocity.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/verilog.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/vhdl.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/wollok.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/xml.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/xquery.js +0 -0
- data/vendor/assets/javascripts/ace/snippets/yaml.js +0 -0
- data/vendor/assets/javascripts/ace/theme-ambiance.js +0 -0
- data/vendor/assets/javascripts/ace/theme-chaos.js +0 -0
- data/vendor/assets/javascripts/ace/theme-chrome.js +0 -0
- data/vendor/assets/javascripts/ace/theme-clouds.js +0 -0
- data/vendor/assets/javascripts/ace/theme-clouds_midnight.js +0 -0
- data/vendor/assets/javascripts/ace/theme-cobalt.js +0 -0
- data/vendor/assets/javascripts/ace/theme-crimson_editor.js +0 -0
- data/vendor/assets/javascripts/ace/theme-dawn.js +0 -0
- data/vendor/assets/javascripts/ace/theme-dreamweaver.js +0 -0
- data/vendor/assets/javascripts/ace/theme-eclipse.js +0 -0
- data/vendor/assets/javascripts/ace/theme-github.js +0 -0
- data/vendor/assets/javascripts/ace/theme-gob.js +112 -0
- data/vendor/assets/javascripts/ace/theme-gruvbox.js +82 -0
- data/vendor/assets/javascripts/ace/theme-idle_fingers.js +0 -0
- data/vendor/assets/javascripts/ace/theme-iplastic.js +0 -0
- data/vendor/assets/javascripts/ace/theme-katzenmilch.js +0 -0
- data/vendor/assets/javascripts/ace/theme-kr_theme.js +0 -0
- data/vendor/assets/javascripts/ace/theme-kuroir.js +0 -0
- data/vendor/assets/javascripts/ace/theme-merbivore.js +0 -0
- data/vendor/assets/javascripts/ace/theme-merbivore_soft.js +0 -0
- data/vendor/assets/javascripts/ace/theme-mono_industrial.js +0 -0
- data/vendor/assets/javascripts/ace/theme-monokai.js +0 -0
- data/vendor/assets/javascripts/ace/theme-pastel_on_dark.js +0 -0
- data/vendor/assets/javascripts/ace/theme-solarized_dark.js +0 -0
- data/vendor/assets/javascripts/ace/theme-solarized_light.js +0 -0
- data/vendor/assets/javascripts/ace/theme-sqlserver.js +0 -0
- data/vendor/assets/javascripts/ace/theme-terminal.js +0 -0
- data/vendor/assets/javascripts/ace/theme-textmate.js +0 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow.js +0 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night.js +0 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_blue.js +0 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_bright.js +0 -0
- data/vendor/assets/javascripts/ace/theme-tomorrow_night_eighties.js +0 -0
- data/vendor/assets/javascripts/ace/theme-twilight.js +0 -0
- data/vendor/assets/javascripts/ace/theme-vibrant_ink.js +0 -0
- data/vendor/assets/javascripts/ace/theme-xcode.js +0 -0
- data/vendor/assets/javascripts/ace/worker-coffee.js +0 -0
- data/vendor/assets/javascripts/ace/worker-css.js +0 -0
- data/vendor/assets/javascripts/ace/worker-html.js +0 -0
- data/vendor/assets/javascripts/ace/worker-javascript.js +0 -0
- data/vendor/assets/javascripts/ace/worker-json.js +0 -0
- data/vendor/assets/javascripts/ace/worker-lua.js +2 -2
- data/vendor/assets/javascripts/ace/worker-php.js +0 -0
- data/vendor/assets/javascripts/ace/worker-xml.js +0 -0
- data/vendor/assets/javascripts/ace/worker-xquery.js +0 -0
- metadata +14 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c20402b09d2af169a08d1148194ecfc4016164c
|
4
|
+
data.tar.gz: 6d0c1c0bd1b5a4dbe931317ce1830713508581be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cf05f9e5596bef2007449a427572355220ebc2d63f7fa71128319f01e5cef37fbab5c885b30d2512faf187612bdd336a0ee752bde885a91e1a42c7a655f9a22
|
7
|
+
data.tar.gz: fd620724cc46924be4daa8c1df53ed0baf3ae27589bba85c935b4c42ddb60837ad6be0e0a319e8e4e46a188be43f3003f50ffa046d1991cc82c3e9b8951bc6a0
|
data/lib/ace/rails/version.rb
CHANGED
@@ -1370,10 +1370,12 @@ exports.isAIR = ua.indexOf("AdobeAIR") >= 0;
|
|
1370
1370
|
|
1371
1371
|
exports.isIPad = ua.indexOf("iPad") >= 0;
|
1372
1372
|
|
1373
|
-
exports.isTouchPad = ua.indexOf("TouchPad") >= 0;
|
1374
|
-
|
1375
1373
|
exports.isChromeOS = ua.indexOf(" CrOS ") >= 0;
|
1376
1374
|
|
1375
|
+
exports.isIOS = /iPad|iPhone|iPod/.test(ua) && !window.MSStream;
|
1376
|
+
|
1377
|
+
if (exports.isIOS) exports.isMac = true;
|
1378
|
+
|
1377
1379
|
});
|
1378
1380
|
|
1379
1381
|
define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"], function(require, exports, module) {
|
@@ -1865,51 +1867,524 @@ exports.deferredCall = function(fcn) {
|
|
1865
1867
|
return deferred;
|
1866
1868
|
};
|
1867
1869
|
|
1868
|
-
deferred.isPending = function() {
|
1869
|
-
return timer;
|
1870
|
-
};
|
1871
|
-
|
1872
|
-
return deferred;
|
1873
|
-
};
|
1870
|
+
deferred.isPending = function() {
|
1871
|
+
return timer;
|
1872
|
+
};
|
1873
|
+
|
1874
|
+
return deferred;
|
1875
|
+
};
|
1876
|
+
|
1877
|
+
|
1878
|
+
exports.delayedCall = function(fcn, defaultTimeout) {
|
1879
|
+
var timer = null;
|
1880
|
+
var callback = function() {
|
1881
|
+
timer = null;
|
1882
|
+
fcn();
|
1883
|
+
};
|
1884
|
+
|
1885
|
+
var _self = function(timeout) {
|
1886
|
+
if (timer == null)
|
1887
|
+
timer = setTimeout(callback, timeout || defaultTimeout);
|
1888
|
+
};
|
1889
|
+
|
1890
|
+
_self.delay = function(timeout) {
|
1891
|
+
timer && clearTimeout(timer);
|
1892
|
+
timer = setTimeout(callback, timeout || defaultTimeout);
|
1893
|
+
};
|
1894
|
+
_self.schedule = _self;
|
1895
|
+
|
1896
|
+
_self.call = function() {
|
1897
|
+
this.cancel();
|
1898
|
+
fcn();
|
1899
|
+
};
|
1900
|
+
|
1901
|
+
_self.cancel = function() {
|
1902
|
+
timer && clearTimeout(timer);
|
1903
|
+
timer = null;
|
1904
|
+
};
|
1905
|
+
|
1906
|
+
_self.isPending = function() {
|
1907
|
+
return timer;
|
1908
|
+
};
|
1909
|
+
|
1910
|
+
return _self;
|
1911
|
+
};
|
1912
|
+
});
|
1913
|
+
|
1914
|
+
define("ace/keyboard/textinput_ios",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/lib/keys"], function(require, exports, module) {
|
1915
|
+
"use strict";
|
1916
|
+
|
1917
|
+
var event = require("../lib/event");
|
1918
|
+
var useragent = require("../lib/useragent");
|
1919
|
+
var dom = require("../lib/dom");
|
1920
|
+
var lang = require("../lib/lang");
|
1921
|
+
var KEYS = require("../lib/keys");
|
1922
|
+
var MODS = KEYS.KEY_MODS;
|
1923
|
+
var BROKEN_SETDATA = useragent.isChrome < 18;
|
1924
|
+
var USE_IE_MIME_TYPE = useragent.isIE;
|
1925
|
+
|
1926
|
+
var TextInput = function(parentNode, host) {
|
1927
|
+
var self = this;
|
1928
|
+
var text = dom.createElement("textarea");
|
1929
|
+
text.className = useragent.isIOS ? "ace_text-input ace_text-input-ios" : "ace_text-input";
|
1930
|
+
|
1931
|
+
if (useragent.isTouchPad)
|
1932
|
+
text.setAttribute("x-palm-disable-auto-cap", true);
|
1933
|
+
|
1934
|
+
text.setAttribute("wrap", "off");
|
1935
|
+
text.setAttribute("autocorrect", "off");
|
1936
|
+
text.setAttribute("autocapitalize", "off");
|
1937
|
+
text.setAttribute("spellcheck", false);
|
1938
|
+
|
1939
|
+
text.style.opacity = "0";
|
1940
|
+
parentNode.insertBefore(text, parentNode.firstChild);
|
1941
|
+
|
1942
|
+
var PLACEHOLDER = "\n aaaa a\n";
|
1943
|
+
|
1944
|
+
var copied = false;
|
1945
|
+
var cut = false;
|
1946
|
+
var pasted = false;
|
1947
|
+
var inComposition = false;
|
1948
|
+
var tempStyle = '';
|
1949
|
+
var isSelectionEmpty = true;
|
1950
|
+
try { var isFocused = document.activeElement === text; } catch(e) {}
|
1951
|
+
|
1952
|
+
event.addListener(text, "blur", function(e) {
|
1953
|
+
host.onBlur(e);
|
1954
|
+
isFocused = false;
|
1955
|
+
});
|
1956
|
+
event.addListener(text, "focus", function(e) {
|
1957
|
+
isFocused = true;
|
1958
|
+
host.onFocus(e);
|
1959
|
+
resetSelection();
|
1960
|
+
});
|
1961
|
+
this.focus = function() {
|
1962
|
+
if (tempStyle) return text.focus();
|
1963
|
+
text.style.position = "fixed";
|
1964
|
+
text.focus();
|
1965
|
+
};
|
1966
|
+
this.blur = function() {
|
1967
|
+
text.blur();
|
1968
|
+
};
|
1969
|
+
this.isFocused = function() {
|
1970
|
+
return isFocused;
|
1971
|
+
};
|
1972
|
+
var syncSelection = lang.delayedCall(function() {
|
1973
|
+
isFocused && resetSelection(isSelectionEmpty);
|
1974
|
+
});
|
1975
|
+
var syncValue = lang.delayedCall(function() {
|
1976
|
+
if (!inComposition) {
|
1977
|
+
text.value = PLACEHOLDER;
|
1978
|
+
isFocused && resetSelection();
|
1979
|
+
}
|
1980
|
+
});
|
1981
|
+
|
1982
|
+
function resetSelection(isEmpty) {
|
1983
|
+
if (inComposition)
|
1984
|
+
return;
|
1985
|
+
inComposition = true;
|
1986
|
+
|
1987
|
+
if (inputHandler) {
|
1988
|
+
selectionStart = 0;
|
1989
|
+
selectionEnd = isEmpty ? 0 : text.value.length - 1;
|
1990
|
+
} else {
|
1991
|
+
var selectionStart = 4;
|
1992
|
+
var selectionEnd = 5;
|
1993
|
+
}
|
1994
|
+
try {
|
1995
|
+
text.setSelectionRange(selectionStart, selectionEnd);
|
1996
|
+
} catch(e) {}
|
1997
|
+
|
1998
|
+
inComposition = false;
|
1999
|
+
}
|
2000
|
+
|
2001
|
+
function resetValue() {
|
2002
|
+
if (inComposition)
|
2003
|
+
return;
|
2004
|
+
text.value = PLACEHOLDER;
|
2005
|
+
if (useragent.isWebKit)
|
2006
|
+
syncValue.schedule();
|
2007
|
+
}
|
2008
|
+
|
2009
|
+
useragent.isWebKit || host.addEventListener('changeSelection', function() {
|
2010
|
+
if (host.selection.isEmpty() != isSelectionEmpty) {
|
2011
|
+
isSelectionEmpty = !isSelectionEmpty;
|
2012
|
+
syncSelection.schedule();
|
2013
|
+
}
|
2014
|
+
});
|
2015
|
+
|
2016
|
+
resetValue();
|
2017
|
+
if (isFocused)
|
2018
|
+
host.onFocus();
|
2019
|
+
|
2020
|
+
|
2021
|
+
var isAllSelected = function(text) {
|
2022
|
+
return text.selectionStart === 0 && text.selectionEnd === text.value.length;
|
2023
|
+
};
|
2024
|
+
|
2025
|
+
var onSelect = function(e) {
|
2026
|
+
if (isAllSelected(text)) {
|
2027
|
+
host.selectAll();
|
2028
|
+
resetSelection();
|
2029
|
+
} else if (inputHandler) {
|
2030
|
+
resetSelection(host.selection.isEmpty());
|
2031
|
+
}
|
2032
|
+
};
|
2033
|
+
|
2034
|
+
var inputHandler = null;
|
2035
|
+
this.setInputHandler = function(cb) {inputHandler = cb};
|
2036
|
+
this.getInputHandler = function() {return inputHandler};
|
2037
|
+
var afterContextMenu = false;
|
2038
|
+
|
2039
|
+
var sendText = function(data) {
|
2040
|
+
if (text.selectionStart === 4 && text.selectionEnd === 5) {
|
2041
|
+
return;
|
2042
|
+
}
|
2043
|
+
if (inputHandler) {
|
2044
|
+
data = inputHandler(data);
|
2045
|
+
inputHandler = null;
|
2046
|
+
}
|
2047
|
+
if (pasted) {
|
2048
|
+
resetSelection();
|
2049
|
+
if (data)
|
2050
|
+
host.onPaste(data);
|
2051
|
+
pasted = false;
|
2052
|
+
} else if (data == PLACEHOLDER.substr(0) && text.selectionStart === 4) {
|
2053
|
+
if (afterContextMenu)
|
2054
|
+
host.execCommand("del", {source: "ace"});
|
2055
|
+
else // some versions of android do not fire keydown when pressing backspace
|
2056
|
+
host.execCommand("backspace", {source: "ace"});
|
2057
|
+
} else if (!copied) {
|
2058
|
+
if (data.substring(0, 9) == PLACEHOLDER && data.length > PLACEHOLDER.length)
|
2059
|
+
data = data.substr(9);
|
2060
|
+
else if (data.substr(0, 4) == PLACEHOLDER.substr(0, 4))
|
2061
|
+
data = data.substr(4, data.length - PLACEHOLDER.length + 1);
|
2062
|
+
else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
|
2063
|
+
data = data.slice(0, -1);
|
2064
|
+
if (data == PLACEHOLDER.charAt(0)) {
|
2065
|
+
} else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0))
|
2066
|
+
data = data.slice(0, -1);
|
2067
|
+
|
2068
|
+
if (data)
|
2069
|
+
host.onTextInput(data);
|
2070
|
+
}
|
2071
|
+
if (copied) {
|
2072
|
+
copied = false;
|
2073
|
+
}
|
2074
|
+
if (afterContextMenu)
|
2075
|
+
afterContextMenu = false;
|
2076
|
+
};
|
2077
|
+
var onInput = function(e) {
|
2078
|
+
if (inComposition)
|
2079
|
+
return;
|
2080
|
+
var data = text.value;
|
2081
|
+
sendText(data);
|
2082
|
+
resetValue();
|
2083
|
+
};
|
2084
|
+
|
2085
|
+
var handleClipboardData = function(e, data, forceIEMime) {
|
2086
|
+
var clipboardData = e.clipboardData || window.clipboardData;
|
2087
|
+
if (!clipboardData || BROKEN_SETDATA)
|
2088
|
+
return;
|
2089
|
+
var mime = USE_IE_MIME_TYPE || forceIEMime ? "Text" : "text/plain";
|
2090
|
+
try {
|
2091
|
+
if (data) {
|
2092
|
+
return clipboardData.setData(mime, data) !== false;
|
2093
|
+
} else {
|
2094
|
+
return clipboardData.getData(mime);
|
2095
|
+
}
|
2096
|
+
} catch(e) {
|
2097
|
+
if (!forceIEMime)
|
2098
|
+
return handleClipboardData(e, data, true);
|
2099
|
+
}
|
2100
|
+
};
|
2101
|
+
|
2102
|
+
var doCopy = function(e, isCut) {
|
2103
|
+
var data = host.getCopyText();
|
2104
|
+
if (!data)
|
2105
|
+
return event.preventDefault(e);
|
2106
|
+
|
2107
|
+
if (handleClipboardData(e, data)) {
|
2108
|
+
if (useragent.isIOS) {
|
2109
|
+
cut = isCut;
|
2110
|
+
text.value = "\n aa" + data + "a a\n";
|
2111
|
+
text.setSelectionRange(4, 4 + data.length);
|
2112
|
+
copied = {
|
2113
|
+
value: data
|
2114
|
+
};
|
2115
|
+
}
|
2116
|
+
isCut ? host.onCut() : host.onCopy();
|
2117
|
+
if (!useragent.isIOS) event.preventDefault(e);
|
2118
|
+
} else {
|
2119
|
+
copied = true;
|
2120
|
+
text.value = data;
|
2121
|
+
text.select();
|
2122
|
+
setTimeout(function(){
|
2123
|
+
copied = false;
|
2124
|
+
resetValue();
|
2125
|
+
resetSelection();
|
2126
|
+
isCut ? host.onCut() : host.onCopy();
|
2127
|
+
});
|
2128
|
+
}
|
2129
|
+
};
|
2130
|
+
|
2131
|
+
var onCut = function(e) {
|
2132
|
+
doCopy(e, true);
|
2133
|
+
};
|
2134
|
+
|
2135
|
+
var onCopy = function(e) {
|
2136
|
+
doCopy(e, false);
|
2137
|
+
};
|
2138
|
+
|
2139
|
+
var onPaste = function(e) {
|
2140
|
+
var data = handleClipboardData(e);
|
2141
|
+
if (typeof data == "string") {
|
2142
|
+
if (data)
|
2143
|
+
host.onPaste(data, e);
|
2144
|
+
if (useragent.isIE)
|
2145
|
+
setTimeout(resetSelection);
|
2146
|
+
event.preventDefault(e);
|
2147
|
+
}
|
2148
|
+
else {
|
2149
|
+
text.value = "";
|
2150
|
+
pasted = true;
|
2151
|
+
}
|
2152
|
+
};
|
2153
|
+
|
2154
|
+
event.addCommandKeyListener(text, host.onCommandKey.bind(host));
|
2155
|
+
|
2156
|
+
event.addListener(text, "select", onSelect);
|
2157
|
+
|
2158
|
+
event.addListener(text, "input", onInput);
|
2159
|
+
|
2160
|
+
event.addListener(text, "cut", onCut);
|
2161
|
+
event.addListener(text, "copy", onCopy);
|
2162
|
+
event.addListener(text, "paste", onPaste);
|
2163
|
+
var onCompositionStart = function(e) {
|
2164
|
+
if (inComposition || !host.onCompositionStart || host.$readOnly)
|
2165
|
+
return;
|
2166
|
+
inComposition = {};
|
2167
|
+
inComposition.canUndo = host.session.$undoManager;
|
2168
|
+
host.onCompositionStart();
|
2169
|
+
setTimeout(onCompositionUpdate, 0);
|
2170
|
+
host.on("mousedown", onCompositionEnd);
|
2171
|
+
if (inComposition.canUndo && !host.selection.isEmpty()) {
|
2172
|
+
host.insert("");
|
2173
|
+
host.session.markUndoGroup();
|
2174
|
+
host.selection.clearSelection();
|
2175
|
+
}
|
2176
|
+
host.session.markUndoGroup();
|
2177
|
+
};
|
2178
|
+
|
2179
|
+
var onCompositionUpdate = function() {
|
2180
|
+
if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
|
2181
|
+
return;
|
2182
|
+
var val = text.value.replace(/\x01/g, "");
|
2183
|
+
if (inComposition.lastValue === val) return;
|
2184
|
+
|
2185
|
+
host.onCompositionUpdate(val);
|
2186
|
+
if (inComposition.lastValue)
|
2187
|
+
host.undo();
|
2188
|
+
if (inComposition.canUndo)
|
2189
|
+
inComposition.lastValue = val;
|
2190
|
+
if (inComposition.lastValue) {
|
2191
|
+
var r = host.selection.getRange();
|
2192
|
+
host.insert(inComposition.lastValue);
|
2193
|
+
host.session.markUndoGroup();
|
2194
|
+
inComposition.range = host.selection.getRange();
|
2195
|
+
host.selection.setRange(r);
|
2196
|
+
host.selection.clearSelection();
|
2197
|
+
}
|
2198
|
+
};
|
2199
|
+
|
2200
|
+
var onCompositionEnd = function(e) {
|
2201
|
+
if (!host.onCompositionEnd || host.$readOnly) return;
|
2202
|
+
var c = inComposition;
|
2203
|
+
inComposition = false;
|
2204
|
+
var timer = setTimeout(function() {
|
2205
|
+
timer = null;
|
2206
|
+
var str = text.value.replace(/\x01/g, "");
|
2207
|
+
if (inComposition)
|
2208
|
+
return;
|
2209
|
+
else if (str == c.lastValue)
|
2210
|
+
resetValue();
|
2211
|
+
else if (!c.lastValue && str) {
|
2212
|
+
resetValue();
|
2213
|
+
sendText(str);
|
2214
|
+
}
|
2215
|
+
});
|
2216
|
+
inputHandler = function compositionInputHandler(str) {
|
2217
|
+
if (timer)
|
2218
|
+
clearTimeout(timer);
|
2219
|
+
str = str.replace(/\x01/g, "");
|
2220
|
+
if (str == c.lastValue)
|
2221
|
+
return "";
|
2222
|
+
if (c.lastValue && timer)
|
2223
|
+
host.undo();
|
2224
|
+
return str;
|
2225
|
+
};
|
2226
|
+
host.onCompositionEnd();
|
2227
|
+
host.removeListener("mousedown", onCompositionEnd);
|
2228
|
+
if (e.type == "compositionend" && c.range) {
|
2229
|
+
host.selection.setRange(c.range);
|
2230
|
+
}
|
2231
|
+
var needsOnInput =
|
2232
|
+
(!!useragent.isChrome && useragent.isChrome >= 53) ||
|
2233
|
+
(!!useragent.isWebKit && useragent.isWebKit >= 603);
|
2234
|
+
|
2235
|
+
if (needsOnInput) {
|
2236
|
+
onInput();
|
2237
|
+
}
|
2238
|
+
};
|
2239
|
+
|
2240
|
+
|
2241
|
+
|
2242
|
+
var syncComposition = lang.delayedCall(onCompositionUpdate, 50);
|
2243
|
+
|
2244
|
+
event.addListener(text, "compositionstart", onCompositionStart);
|
2245
|
+
if (useragent.isGecko) {
|
2246
|
+
event.addListener(text, "text", function(){syncComposition.schedule()});
|
2247
|
+
} else {
|
2248
|
+
event.addListener(text, "keyup", function(){syncComposition.schedule()});
|
2249
|
+
event.addListener(text, "keydown", function(){syncComposition.schedule()});
|
2250
|
+
}
|
2251
|
+
event.addListener(text, "compositionend", onCompositionEnd);
|
2252
|
+
|
2253
|
+
this.getElement = function() {
|
2254
|
+
return text;
|
2255
|
+
};
|
2256
|
+
|
2257
|
+
this.setReadOnly = function(readOnly) {
|
2258
|
+
text.readOnly = readOnly;
|
2259
|
+
};
|
2260
|
+
|
2261
|
+
this.onContextMenu = function(e) {
|
2262
|
+
afterContextMenu = true;
|
2263
|
+
resetSelection(host.selection.isEmpty());
|
2264
|
+
host._emit("nativecontextmenu", {target: host, domEvent: e});
|
2265
|
+
this.moveToMouse(e, true);
|
2266
|
+
};
|
2267
|
+
|
2268
|
+
this.moveToMouse = function(e, bringToFront) {
|
2269
|
+
if (!tempStyle)
|
2270
|
+
tempStyle = text.style.cssText;
|
2271
|
+
text.style.cssText = (bringToFront ? "z-index:100000;" : "")
|
2272
|
+
+ "height:" + text.style.height + ";"
|
2273
|
+
+ (useragent.isIE ? "opacity:0.1;" : "");
|
1874
2274
|
|
2275
|
+
var rect = host.container.getBoundingClientRect();
|
2276
|
+
var style = dom.computedStyle(host.container);
|
2277
|
+
var top = rect.top + (parseInt(style.borderTopWidth) || 0);
|
2278
|
+
var left = rect.left + (parseInt(rect.borderLeftWidth) || 0);
|
2279
|
+
var maxTop = rect.bottom - top - text.clientHeight -2;
|
2280
|
+
var move = function(e) {
|
2281
|
+
text.style.left = e.clientX - left - 2 + "px";
|
2282
|
+
text.style.top = Math.min(e.clientY - top - 2, maxTop) + "px";
|
2283
|
+
};
|
2284
|
+
move(e);
|
1875
2285
|
|
1876
|
-
|
1877
|
-
|
1878
|
-
var callback = function() {
|
1879
|
-
timer = null;
|
1880
|
-
fcn();
|
1881
|
-
};
|
2286
|
+
if (e.type != "mousedown")
|
2287
|
+
return;
|
1882
2288
|
|
1883
|
-
|
1884
|
-
|
1885
|
-
timer = setTimeout(callback, timeout || defaultTimeout);
|
1886
|
-
};
|
2289
|
+
if (host.renderer.$keepTextAreaAtCursor)
|
2290
|
+
host.renderer.$keepTextAreaAtCursor = null;
|
1887
2291
|
|
1888
|
-
|
1889
|
-
|
1890
|
-
|
2292
|
+
clearTimeout(closeTimeout);
|
2293
|
+
if (useragent.isWin)
|
2294
|
+
event.capture(host.container, move, onContextMenuClose);
|
1891
2295
|
};
|
1892
|
-
_self.schedule = _self;
|
1893
2296
|
|
1894
|
-
|
1895
|
-
|
1896
|
-
|
1897
|
-
|
2297
|
+
this.onContextMenuClose = onContextMenuClose;
|
2298
|
+
var closeTimeout;
|
2299
|
+
function onContextMenuClose() {
|
2300
|
+
clearTimeout(closeTimeout);
|
2301
|
+
closeTimeout = setTimeout(function () {
|
2302
|
+
if (tempStyle) {
|
2303
|
+
text.style.cssText = tempStyle;
|
2304
|
+
tempStyle = '';
|
2305
|
+
}
|
2306
|
+
if (host.renderer.$keepTextAreaAtCursor == null) {
|
2307
|
+
host.renderer.$keepTextAreaAtCursor = true;
|
2308
|
+
host.renderer.$moveTextAreaToCursor();
|
2309
|
+
}
|
2310
|
+
}, 0);
|
2311
|
+
}
|
1898
2312
|
|
1899
|
-
|
1900
|
-
|
1901
|
-
|
2313
|
+
var onContextMenu = function(e) {
|
2314
|
+
host.textInput.onContextMenu(e);
|
2315
|
+
onContextMenuClose();
|
1902
2316
|
};
|
2317
|
+
event.addListener(text, "mouseup", onContextMenu);
|
2318
|
+
event.addListener(text, "mousedown", function(e) {
|
2319
|
+
e.preventDefault();
|
2320
|
+
onContextMenuClose();
|
2321
|
+
});
|
2322
|
+
event.addListener(host.renderer.scroller, "contextmenu", onContextMenu);
|
2323
|
+
event.addListener(text, "contextmenu", onContextMenu);
|
2324
|
+
|
2325
|
+
if (useragent.isIOS) {
|
2326
|
+
var typingResetTimeout = null;
|
2327
|
+
var typing = false;
|
1903
2328
|
|
1904
|
-
|
1905
|
-
|
1906
|
-
|
2329
|
+
parentNode.addEventListener("keydown", function (e) {
|
2330
|
+
if (typingResetTimeout) clearTimeout(typingResetTimeout);
|
2331
|
+
typing = true;
|
2332
|
+
});
|
1907
2333
|
|
1908
|
-
|
2334
|
+
parentNode.addEventListener("keyup", function (e) {
|
2335
|
+
typingResetTimeout = setTimeout(function () {
|
2336
|
+
typing = false;
|
2337
|
+
}, 100);
|
2338
|
+
});
|
2339
|
+
var detectArrowKeys = function(e) {
|
2340
|
+
if (document.activeElement !== text) return;
|
2341
|
+
if (typing) return;
|
2342
|
+
|
2343
|
+
if (cut) {
|
2344
|
+
return setTimeout(function () {
|
2345
|
+
cut = false;
|
2346
|
+
}, 100);
|
2347
|
+
}
|
2348
|
+
var selectionStart = text.selectionStart;
|
2349
|
+
var selectionEnd = text.selectionEnd;
|
2350
|
+
text.setSelectionRange(4, 5);
|
2351
|
+
if (selectionStart == selectionEnd) {
|
2352
|
+
switch (selectionStart) {
|
2353
|
+
case 0: host.onCommandKey(null, 0, KEYS.up); break;
|
2354
|
+
case 1: host.onCommandKey(null, 0, KEYS.home); break;
|
2355
|
+
case 2: host.onCommandKey(null, MODS.option, KEYS.left); break;
|
2356
|
+
case 4: host.onCommandKey(null, 0, KEYS.left); break;
|
2357
|
+
case 5: host.onCommandKey(null, 0, KEYS.right); break;
|
2358
|
+
case 7: host.onCommandKey(null, MODS.option, KEYS.right); break;
|
2359
|
+
case 8: host.onCommandKey(null, 0, KEYS.end); break;
|
2360
|
+
case 9: host.onCommandKey(null, 0, KEYS.down); break;
|
2361
|
+
}
|
2362
|
+
} else {
|
2363
|
+
switch (selectionEnd) {
|
2364
|
+
case 6: host.onCommandKey(null, MODS.shift, KEYS.right); break;
|
2365
|
+
case 7: host.onCommandKey(null, MODS.shift | MODS.option, KEYS.right); break;
|
2366
|
+
case 8: host.onCommandKey(null, MODS.shift, KEYS.end); break;
|
2367
|
+
case 9: host.onCommandKey(null, MODS.shift, KEYS.down); break;
|
2368
|
+
}
|
2369
|
+
switch (selectionStart) {
|
2370
|
+
case 0: host.onCommandKey(null, MODS.shift, KEYS.up); break;
|
2371
|
+
case 1: host.onCommandKey(null, MODS.shift, KEYS.home); break;
|
2372
|
+
case 2: host.onCommandKey(null, MODS.shift | MODS.option, KEYS.left); break;
|
2373
|
+
case 3: host.onCommandKey(null, MODS.shift, KEYS.left); break;
|
2374
|
+
}
|
2375
|
+
}
|
2376
|
+
}
|
2377
|
+
document.addEventListener("selectionchange", detectArrowKeys);
|
2378
|
+
host.on("destroy", function() {
|
2379
|
+
document.removeEventListener("selectionchange", detectArrowKeys);
|
2380
|
+
})
|
2381
|
+
}
|
1909
2382
|
};
|
2383
|
+
|
2384
|
+
exports.TextInput = TextInput;
|
1910
2385
|
});
|
1911
2386
|
|
1912
|
-
define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang"], function(require, exports, module) {
|
2387
|
+
define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/keyboard/textinput_ios"], function(require, exports, module) {
|
1913
2388
|
"use strict";
|
1914
2389
|
|
1915
2390
|
var event = require("../lib/event");
|
@@ -1919,23 +2394,23 @@ var lang = require("../lib/lang");
|
|
1919
2394
|
var BROKEN_SETDATA = useragent.isChrome < 18;
|
1920
2395
|
var USE_IE_MIME_TYPE = useragent.isIE;
|
1921
2396
|
|
2397
|
+
var TextInputIOS = require("./textinput_ios").TextInput
|
1922
2398
|
var TextInput = function(parentNode, host) {
|
2399
|
+
if (useragent.isIOS)
|
2400
|
+
return TextInputIOS.call(this, parentNode, host);
|
2401
|
+
|
1923
2402
|
var text = dom.createElement("textarea");
|
1924
2403
|
text.className = "ace_text-input";
|
1925
2404
|
|
1926
|
-
if (useragent.isTouchPad)
|
1927
|
-
text.setAttribute("x-palm-disable-auto-cap", true);
|
1928
|
-
|
1929
2405
|
text.setAttribute("wrap", "off");
|
1930
2406
|
text.setAttribute("autocorrect", "off");
|
1931
2407
|
text.setAttribute("autocapitalize", "off");
|
1932
2408
|
text.setAttribute("spellcheck", false);
|
1933
2409
|
|
1934
2410
|
text.style.opacity = "0";
|
1935
|
-
if (useragent.isOldIE) text.style.top = "-1000px";
|
1936
2411
|
parentNode.insertBefore(text, parentNode.firstChild);
|
1937
2412
|
|
1938
|
-
var PLACEHOLDER = "\
|
2413
|
+
var PLACEHOLDER = "\u2028\u2028";
|
1939
2414
|
|
1940
2415
|
var copied = false;
|
1941
2416
|
var pasted = false;
|
@@ -2023,54 +2498,6 @@ var TextInput = function(parentNode, host) {
|
|
2023
2498
|
var isAllSelected = function(text) {
|
2024
2499
|
return text.selectionStart === 0 && text.selectionEnd === text.value.length;
|
2025
2500
|
};
|
2026
|
-
if (!text.setSelectionRange && text.createTextRange) {
|
2027
|
-
text.setSelectionRange = function(selectionStart, selectionEnd) {
|
2028
|
-
var range = this.createTextRange();
|
2029
|
-
range.collapse(true);
|
2030
|
-
range.moveStart('character', selectionStart);
|
2031
|
-
range.moveEnd('character', selectionEnd);
|
2032
|
-
range.select();
|
2033
|
-
};
|
2034
|
-
isAllSelected = function(text) {
|
2035
|
-
try {
|
2036
|
-
var range = text.ownerDocument.selection.createRange();
|
2037
|
-
}catch(e) {}
|
2038
|
-
if (!range || range.parentElement() != text) return false;
|
2039
|
-
return range.text == text.value;
|
2040
|
-
}
|
2041
|
-
}
|
2042
|
-
if (useragent.isOldIE) {
|
2043
|
-
var inPropertyChange = false;
|
2044
|
-
var onPropertyChange = function(e){
|
2045
|
-
if (inPropertyChange)
|
2046
|
-
return;
|
2047
|
-
var data = text.value;
|
2048
|
-
if (inComposition || !data || data == PLACEHOLDER)
|
2049
|
-
return;
|
2050
|
-
if (e && data == PLACEHOLDER[0])
|
2051
|
-
return syncProperty.schedule();
|
2052
|
-
|
2053
|
-
sendText(data);
|
2054
|
-
inPropertyChange = true;
|
2055
|
-
resetValue();
|
2056
|
-
inPropertyChange = false;
|
2057
|
-
};
|
2058
|
-
var syncProperty = lang.delayedCall(onPropertyChange);
|
2059
|
-
event.addListener(text, "propertychange", onPropertyChange);
|
2060
|
-
|
2061
|
-
var keytable = { 13:1, 27:1 };
|
2062
|
-
event.addListener(text, "keyup", function (e) {
|
2063
|
-
if (inComposition && (!text.value || keytable[e.keyCode]))
|
2064
|
-
setTimeout(onCompositionEnd, 0);
|
2065
|
-
if ((text.value.charCodeAt(0)||0) < 129) {
|
2066
|
-
return syncProperty.call();
|
2067
|
-
}
|
2068
|
-
inComposition ? onCompositionUpdate() : onCompositionStart();
|
2069
|
-
});
|
2070
|
-
event.addListener(text, "keydown", function (e) {
|
2071
|
-
syncProperty.schedule(50);
|
2072
|
-
});
|
2073
|
-
}
|
2074
2501
|
|
2075
2502
|
var onSelect = function(e) {
|
2076
2503
|
if (copied) {
|
@@ -2197,7 +2624,7 @@ var TextInput = function(parentNode, host) {
|
|
2197
2624
|
event.addListener(text, "cut", onCut);
|
2198
2625
|
event.addListener(text, "copy", onCopy);
|
2199
2626
|
event.addListener(text, "paste", onPaste);
|
2200
|
-
if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)){
|
2627
|
+
if (!('oncut' in text) || !('oncopy' in text) || !('onpaste' in text)) {
|
2201
2628
|
event.addListener(parentNode, "keydown", function(e) {
|
2202
2629
|
if ((useragent.isMac && !e.metaKey) || !e.ctrlKey)
|
2203
2630
|
return;
|
@@ -2234,7 +2661,7 @@ var TextInput = function(parentNode, host) {
|
|
2234
2661
|
var onCompositionUpdate = function() {
|
2235
2662
|
if (!inComposition || !host.onCompositionUpdate || host.$readOnly)
|
2236
2663
|
return;
|
2237
|
-
var val = text.value.replace(/\
|
2664
|
+
var val = text.value.replace(/\u2028/g, "");
|
2238
2665
|
if (inComposition.lastValue === val) return;
|
2239
2666
|
|
2240
2667
|
host.onCompositionUpdate(val);
|
@@ -2258,7 +2685,7 @@ var TextInput = function(parentNode, host) {
|
|
2258
2685
|
inComposition = false;
|
2259
2686
|
var timer = setTimeout(function() {
|
2260
2687
|
timer = null;
|
2261
|
-
var str = text.value.replace(/\
|
2688
|
+
var str = text.value.replace(/\u2028/g, "");
|
2262
2689
|
if (inComposition)
|
2263
2690
|
return;
|
2264
2691
|
else if (str == c.lastValue)
|
@@ -2271,7 +2698,7 @@ var TextInput = function(parentNode, host) {
|
|
2271
2698
|
inputHandler = function compositionInputHandler(str) {
|
2272
2699
|
if (timer)
|
2273
2700
|
clearTimeout(timer);
|
2274
|
-
str = str.replace(/\
|
2701
|
+
str = str.replace(/\u2028/g, "");
|
2275
2702
|
if (str == c.lastValue)
|
2276
2703
|
return "";
|
2277
2704
|
if (c.lastValue && timer)
|
@@ -2283,7 +2710,11 @@ var TextInput = function(parentNode, host) {
|
|
2283
2710
|
if (e.type == "compositionend" && c.range) {
|
2284
2711
|
host.selection.setRange(c.range);
|
2285
2712
|
}
|
2286
|
-
|
2713
|
+
var needsOnInput =
|
2714
|
+
(!!useragent.isChrome && useragent.isChrome >= 53) ||
|
2715
|
+
(!!useragent.isWebKit && useragent.isWebKit >= 603);
|
2716
|
+
|
2717
|
+
if (needsOnInput) {
|
2287
2718
|
onInput();
|
2288
2719
|
}
|
2289
2720
|
};
|
@@ -2317,8 +2748,6 @@ var TextInput = function(parentNode, host) {
|
|
2317
2748
|
};
|
2318
2749
|
|
2319
2750
|
this.moveToMouse = function(e, bringToFront) {
|
2320
|
-
if (!bringToFront && useragent.isOldIE)
|
2321
|
-
return;
|
2322
2751
|
if (!tempStyle)
|
2323
2752
|
tempStyle = text.style.cssText;
|
2324
2753
|
text.style.cssText = (bringToFront ? "z-index:100000;" : "")
|
@@ -2343,7 +2772,7 @@ var TextInput = function(parentNode, host) {
|
|
2343
2772
|
host.renderer.$keepTextAreaAtCursor = null;
|
2344
2773
|
|
2345
2774
|
clearTimeout(closeTimeout);
|
2346
|
-
if (useragent.isWin
|
2775
|
+
if (useragent.isWin)
|
2347
2776
|
event.capture(host.container, move, onContextMenuClose);
|
2348
2777
|
};
|
2349
2778
|
|
@@ -2360,7 +2789,7 @@ var TextInput = function(parentNode, host) {
|
|
2360
2789
|
host.renderer.$keepTextAreaAtCursor = true;
|
2361
2790
|
host.renderer.$moveTextAreaToCursor();
|
2362
2791
|
}
|
2363
|
-
},
|
2792
|
+
}, 0);
|
2364
2793
|
}
|
2365
2794
|
|
2366
2795
|
var onContextMenu = function(e) {
|
@@ -2426,9 +2855,12 @@ function DefaultHandlers(mouseHandler) {
|
|
2426
2855
|
if (selectionEmpty || button == 1)
|
2427
2856
|
editor.selection.moveToPosition(pos);
|
2428
2857
|
editor.$blockScrolling--;
|
2429
|
-
if (button == 2)
|
2858
|
+
if (button == 2) {
|
2430
2859
|
editor.textInput.onContextMenu(ev.domEvent);
|
2431
|
-
|
2860
|
+
if (!useragent.isMozilla)
|
2861
|
+
ev.preventDefault();
|
2862
|
+
}
|
2863
|
+
return;
|
2432
2864
|
}
|
2433
2865
|
|
2434
2866
|
this.mousedownEvent.time = Date.now();
|
@@ -2696,6 +3128,13 @@ function Tooltip (parentNode) {
|
|
2696
3128
|
this.getWidth = function() {
|
2697
3129
|
return this.getElement().offsetWidth;
|
2698
3130
|
};
|
3131
|
+
|
3132
|
+
this.destroy = function() {
|
3133
|
+
this.isOpen = false;
|
3134
|
+
if (this.$element && this.$element.parentNode) {
|
3135
|
+
this.$element.parentNode.removeChild(this.$element);
|
3136
|
+
}
|
3137
|
+
};
|
2699
3138
|
|
2700
3139
|
}).call(Tooltip.prototype);
|
2701
3140
|
|
@@ -4588,6 +5027,16 @@ var Selection = function(session) {
|
|
4588
5027
|
this.moveCursorDown = function() {
|
4589
5028
|
this.moveCursorBy(1, 0);
|
4590
5029
|
};
|
5030
|
+
this.wouldMoveIntoSoftTab = function(cursor, tabSize, direction) {
|
5031
|
+
var start = cursor.column;
|
5032
|
+
var end = cursor.column + tabSize;
|
5033
|
+
|
5034
|
+
if (direction < 0) {
|
5035
|
+
start = cursor.column - tabSize;
|
5036
|
+
end = cursor.column;
|
5037
|
+
}
|
5038
|
+
return this.session.isTabStop(cursor) && this.doc.getLine(cursor.row).slice(start, end).split(" ").length-1 == tabSize
|
5039
|
+
}
|
4591
5040
|
this.moveCursorLeft = function() {
|
4592
5041
|
var cursor = this.lead.getPosition(),
|
4593
5042
|
fold;
|
@@ -4601,10 +5050,11 @@ var Selection = function(session) {
|
|
4601
5050
|
}
|
4602
5051
|
else {
|
4603
5052
|
var tabSize = this.session.getTabSize();
|
4604
|
-
if (this.
|
5053
|
+
if (this.wouldMoveIntoSoftTab(cursor, tabSize, -1) && !this.session.getNavigateWithinSoftTabs()) {
|
4605
5054
|
this.moveCursorBy(0, -tabSize);
|
4606
|
-
else
|
5055
|
+
} else {
|
4607
5056
|
this.moveCursorBy(0, -1);
|
5057
|
+
}
|
4608
5058
|
}
|
4609
5059
|
};
|
4610
5060
|
this.moveCursorRight = function() {
|
@@ -4621,10 +5071,11 @@ var Selection = function(session) {
|
|
4621
5071
|
else {
|
4622
5072
|
var tabSize = this.session.getTabSize();
|
4623
5073
|
var cursor = this.lead;
|
4624
|
-
if (this.
|
5074
|
+
if (this.wouldMoveIntoSoftTab(cursor, tabSize, 1) && !this.session.getNavigateWithinSoftTabs()) {
|
4625
5075
|
this.moveCursorBy(0, tabSize);
|
4626
|
-
else
|
5076
|
+
} else {
|
4627
5077
|
this.moveCursorBy(0, 1);
|
5078
|
+
}
|
4628
5079
|
}
|
4629
5080
|
};
|
4630
5081
|
this.moveCursorLineStart = function() {
|
@@ -5192,7 +5643,7 @@ var Tokenizer = function(rules) {
|
|
5192
5643
|
rule = state[mapping[i]];
|
5193
5644
|
|
5194
5645
|
if (rule.onMatch)
|
5195
|
-
type = rule.onMatch(value, currentState, stack);
|
5646
|
+
type = rule.onMatch(value, currentState, stack, line);
|
5196
5647
|
else
|
5197
5648
|
type = rule.token;
|
5198
5649
|
|
@@ -5214,6 +5665,8 @@ var Tokenizer = function(rules) {
|
|
5214
5665
|
re = this.regExps[currentState];
|
5215
5666
|
re.lastIndex = index;
|
5216
5667
|
}
|
5668
|
+
if (rule.consumeLineEnd)
|
5669
|
+
lastIndex = index;
|
5217
5670
|
break;
|
5218
5671
|
}
|
5219
5672
|
|
@@ -5427,13 +5880,12 @@ var TextHighlightRules = function() {
|
|
5427
5880
|
}
|
5428
5881
|
}
|
5429
5882
|
}
|
5430
|
-
var includeName = typeof rule == "string"
|
5431
|
-
? rule
|
5432
|
-
: typeof rule.include == "string"
|
5433
|
-
? rule.include
|
5434
|
-
: "";
|
5883
|
+
var includeName = typeof rule == "string" ? rule : rule.include;
|
5435
5884
|
if (includeName) {
|
5436
|
-
|
5885
|
+
if (Array.isArray(includeName))
|
5886
|
+
toInsert = includeName.map(function(x) { return rules[x]; });
|
5887
|
+
else
|
5888
|
+
toInsert = rules[includeName];
|
5437
5889
|
}
|
5438
5890
|
|
5439
5891
|
if (toInsert) {
|
@@ -5636,6 +6088,8 @@ var SAFE_INSERT_BEFORE_TOKENS =
|
|
5636
6088
|
|
5637
6089
|
var context;
|
5638
6090
|
var contextCache = {};
|
6091
|
+
var defaultQuotes = {'"' : '"', "'" : "'"};
|
6092
|
+
|
5639
6093
|
var initContext = function(editor) {
|
5640
6094
|
var id = -1;
|
5641
6095
|
if (editor.multiSelect) {
|
@@ -5669,7 +6123,7 @@ var getWrapped = function(selection, selected, opening, closing) {
|
|
5669
6123
|
};
|
5670
6124
|
};
|
5671
6125
|
|
5672
|
-
var CstyleBehaviour = function() {
|
6126
|
+
var CstyleBehaviour = function(options) {
|
5673
6127
|
this.add("braces", "insertion", function(state, action, editor, session, text) {
|
5674
6128
|
var cursor = editor.getCursorPosition();
|
5675
6129
|
var line = session.doc.getLine(cursor.row);
|
@@ -5680,7 +6134,7 @@ var CstyleBehaviour = function() {
|
|
5680
6134
|
if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
|
5681
6135
|
return getWrapped(selection, selected, '{', '}');
|
5682
6136
|
} else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
|
5683
|
-
if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
|
6137
|
+
if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode || options && options.braces) {
|
5684
6138
|
CstyleBehaviour.recordAutoInsert(editor, session, "}");
|
5685
6139
|
return {
|
5686
6140
|
text: '{}',
|
@@ -5843,14 +6297,15 @@ var CstyleBehaviour = function() {
|
|
5843
6297
|
});
|
5844
6298
|
|
5845
6299
|
this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
|
5846
|
-
|
6300
|
+
var quotes = session.$mode.$quotes || defaultQuotes;
|
6301
|
+
if (text.length == 1 && quotes[text]) {
|
5847
6302
|
if (this.lineCommentStart && this.lineCommentStart.indexOf(text) != -1)
|
5848
6303
|
return;
|
5849
6304
|
initContext(editor);
|
5850
6305
|
var quote = text;
|
5851
6306
|
var selection = editor.getSelectionRange();
|
5852
6307
|
var selected = session.doc.getTextRange(selection);
|
5853
|
-
if (selected !== "" && selected
|
6308
|
+
if (selected !== "" && (selected.length != 1 || !quotes[selected]) && editor.getWrapBehavioursEnabled()) {
|
5854
6309
|
return getWrapped(selection, selected, quote, quote);
|
5855
6310
|
} else if (!selected) {
|
5856
6311
|
var cursor = editor.getCursorPosition();
|
@@ -6977,6 +7432,9 @@ var BackgroundTokenizer = function(tokenizer, editor) {
|
|
6977
7432
|
}
|
6978
7433
|
self.currentLine = currentLine;
|
6979
7434
|
|
7435
|
+
if (endLine == -1)
|
7436
|
+
endLine = currentLine;
|
7437
|
+
|
6980
7438
|
if (startLine <= endLine)
|
6981
7439
|
self.fireUpdateEvent(startLine, endLine);
|
6982
7440
|
};
|
@@ -8151,9 +8609,13 @@ function Folding() {
|
|
8151
8609
|
this.getCommentFoldRange = function(row, column, dir) {
|
8152
8610
|
var iterator = new TokenIterator(this, row, column);
|
8153
8611
|
var token = iterator.getCurrentToken();
|
8154
|
-
|
8612
|
+
var type = token.type;
|
8613
|
+
if (token && /^comment|string/.test(type)) {
|
8614
|
+
type = type.match(/comment|string/)[0];
|
8615
|
+
if (type == "comment")
|
8616
|
+
type += "|doc-start";
|
8617
|
+
var re = new RegExp(type);
|
8155
8618
|
var range = new Range();
|
8156
|
-
var re = new RegExp(token.type.replace(/\..*/, "\\."));
|
8157
8619
|
if (dir != 1) {
|
8158
8620
|
do {
|
8159
8621
|
token = iterator.stepBackward();
|
@@ -8167,8 +8629,16 @@ function Folding() {
|
|
8167
8629
|
iterator = new TokenIterator(this, row, column);
|
8168
8630
|
|
8169
8631
|
if (dir != -1) {
|
8632
|
+
var lastRow = -1;
|
8170
8633
|
do {
|
8171
8634
|
token = iterator.stepForward();
|
8635
|
+
if (lastRow == -1) {
|
8636
|
+
var state = this.getState(iterator.$row);
|
8637
|
+
if (!re.test(state))
|
8638
|
+
lastRow = iterator.$row;
|
8639
|
+
} else if (iterator.$row > lastRow) {
|
8640
|
+
break;
|
8641
|
+
}
|
8172
8642
|
} while (token && re.test(token.type));
|
8173
8643
|
token = iterator.stepBackward();
|
8174
8644
|
} else
|
@@ -8618,6 +9088,8 @@ var EditSession = function(text, mode) {
|
|
8618
9088
|
};
|
8619
9089
|
|
8620
9090
|
|
9091
|
+
EditSession.$uid = 0;
|
9092
|
+
|
8621
9093
|
(function() {
|
8622
9094
|
|
8623
9095
|
oop.implement(this, EventEmitter);
|
@@ -8827,6 +9299,12 @@ var EditSession = function(text, mode) {
|
|
8827
9299
|
this.isTabStop = function(position) {
|
8828
9300
|
return this.$useSoftTabs && (position.column % this.$tabSize === 0);
|
8829
9301
|
};
|
9302
|
+
this.setNavigateWithinSoftTabs = function (navigateWithinSoftTabs) {
|
9303
|
+
this.setOption("navigateWithinSoftTabs", navigateWithinSoftTabs)
|
9304
|
+
}
|
9305
|
+
this.getNavigateWithinSoftTabs = function() {
|
9306
|
+
return this.$navigateWithinSoftTabs;
|
9307
|
+
}
|
8830
9308
|
|
8831
9309
|
this.$overwrite = false;
|
8832
9310
|
this.setOverwrite = function(overwrite) {
|
@@ -10306,6 +10784,7 @@ config.defineOptions(EditSession.prototype, "session", {
|
|
10306
10784
|
initialValue: 4,
|
10307
10785
|
handlesSet: true
|
10308
10786
|
},
|
10787
|
+
navigateWithinSoftTabs: {initialValue: false},
|
10309
10788
|
overwrite: {
|
10310
10789
|
set: function(val) {this._signal("changeOverwrite");},
|
10311
10790
|
initialValue: false
|
@@ -10353,18 +10832,15 @@ var Search = function() {
|
|
10353
10832
|
return false;
|
10354
10833
|
|
10355
10834
|
var firstRange = null;
|
10356
|
-
iterator.forEach(function(
|
10357
|
-
|
10358
|
-
|
10359
|
-
|
10360
|
-
|
10361
|
-
|
10362
|
-
|
10363
|
-
|
10364
|
-
|
10365
|
-
}
|
10366
|
-
} else
|
10367
|
-
firstRange = range;
|
10835
|
+
iterator.forEach(function(sr, sc, er, ec) {
|
10836
|
+
firstRange = new Range(sr, sc, er, ec);
|
10837
|
+
if (sc == ec && options.start && options.start.start
|
10838
|
+
&& options.skipCurrent != false && firstRange.isEqual(options.start)
|
10839
|
+
) {
|
10840
|
+
firstRange = null;
|
10841
|
+
return false;
|
10842
|
+
}
|
10843
|
+
|
10368
10844
|
return true;
|
10369
10845
|
});
|
10370
10846
|
|
@@ -10467,62 +10943,6 @@ var Search = function() {
|
|
10467
10943
|
return replacement;
|
10468
10944
|
};
|
10469
10945
|
|
10470
|
-
this.$matchIterator = function(session, options) {
|
10471
|
-
var re = this.$assembleRegExp(options);
|
10472
|
-
if (!re)
|
10473
|
-
return false;
|
10474
|
-
|
10475
|
-
var callback;
|
10476
|
-
if (options.$isMultiLine) {
|
10477
|
-
var len = re.length;
|
10478
|
-
var matchIterator = function(line, row, offset) {
|
10479
|
-
var startIndex = line.search(re[0]);
|
10480
|
-
if (startIndex == -1)
|
10481
|
-
return;
|
10482
|
-
for (var i = 1; i < len; i++) {
|
10483
|
-
line = session.getLine(row + i);
|
10484
|
-
if (line.search(re[i]) == -1)
|
10485
|
-
return;
|
10486
|
-
}
|
10487
|
-
|
10488
|
-
var endIndex = line.match(re[len - 1])[0].length;
|
10489
|
-
|
10490
|
-
var range = new Range(row, startIndex, row + len - 1, endIndex);
|
10491
|
-
if (re.offset == 1) {
|
10492
|
-
range.start.row--;
|
10493
|
-
range.start.column = Number.MAX_VALUE;
|
10494
|
-
} else if (offset)
|
10495
|
-
range.start.column += offset;
|
10496
|
-
|
10497
|
-
if (callback(range))
|
10498
|
-
return true;
|
10499
|
-
};
|
10500
|
-
} else if (options.backwards) {
|
10501
|
-
var matchIterator = function(line, row, startIndex) {
|
10502
|
-
var matches = lang.getMatchOffsets(line, re);
|
10503
|
-
for (var i = matches.length-1; i >= 0; i--)
|
10504
|
-
if (callback(matches[i], row, startIndex))
|
10505
|
-
return true;
|
10506
|
-
};
|
10507
|
-
} else {
|
10508
|
-
var matchIterator = function(line, row, startIndex) {
|
10509
|
-
var matches = lang.getMatchOffsets(line, re);
|
10510
|
-
for (var i = 0; i < matches.length; i++)
|
10511
|
-
if (callback(matches[i], row, startIndex))
|
10512
|
-
return true;
|
10513
|
-
};
|
10514
|
-
}
|
10515
|
-
|
10516
|
-
var lineIterator = this.$lineIterator(session, options);
|
10517
|
-
|
10518
|
-
return {
|
10519
|
-
forEach: function(_callback) {
|
10520
|
-
callback = _callback;
|
10521
|
-
lineIterator.forEach(matchIterator);
|
10522
|
-
}
|
10523
|
-
};
|
10524
|
-
};
|
10525
|
-
|
10526
10946
|
this.$assembleRegExp = function(options, $disableFakeMultiline) {
|
10527
10947
|
if (options.needle instanceof RegExp)
|
10528
10948
|
return options.re = options.needle;
|
@@ -10560,16 +10980,13 @@ var Search = function() {
|
|
10560
10980
|
} catch(e) {
|
10561
10981
|
return false;
|
10562
10982
|
}
|
10563
|
-
if (parts[0] == "") {
|
10564
|
-
re.shift();
|
10565
|
-
re.offset = 1;
|
10566
|
-
} else {
|
10567
|
-
re.offset = 0;
|
10568
|
-
}
|
10569
10983
|
return re;
|
10570
10984
|
};
|
10571
10985
|
|
10572
|
-
this.$
|
10986
|
+
this.$matchIterator = function(session, options) {
|
10987
|
+
var re = this.$assembleRegExp(options);
|
10988
|
+
if (!re)
|
10989
|
+
return false;
|
10573
10990
|
var backwards = options.backwards == true;
|
10574
10991
|
var skipCurrent = options.skipCurrent != false;
|
10575
10992
|
|
@@ -10583,43 +11000,100 @@ var Search = function() {
|
|
10583
11000
|
|
10584
11001
|
var firstRow = range ? range.start.row : 0;
|
10585
11002
|
var lastRow = range ? range.end.row : session.getLength() - 1;
|
10586
|
-
|
10587
|
-
|
11003
|
+
|
11004
|
+
if (backwards) {
|
11005
|
+
var forEach = function(callback) {
|
10588
11006
|
var row = start.row;
|
10589
|
-
|
10590
|
-
var line = session.getLine(row).substring(0, start.column);
|
10591
|
-
if (callback(line, row))
|
11007
|
+
if (forEachInLine(row, start.column, callback))
|
10592
11008
|
return;
|
10593
|
-
|
10594
11009
|
for (row--; row >= firstRow; row--)
|
10595
|
-
if (
|
11010
|
+
if (forEachInLine(row, Number.MAX_VALUE, callback))
|
10596
11011
|
return;
|
10597
|
-
|
10598
11012
|
if (options.wrap == false)
|
10599
11013
|
return;
|
10600
|
-
|
10601
11014
|
for (row = lastRow, firstRow = start.row; row >= firstRow; row--)
|
10602
|
-
if (
|
11015
|
+
if (forEachInLine(row, Number.MAX_VALUE, callback))
|
10603
11016
|
return;
|
10604
|
-
}
|
11017
|
+
};
|
11018
|
+
}
|
11019
|
+
else {
|
11020
|
+
var forEach = function(callback) {
|
10605
11021
|
var row = start.row;
|
10606
|
-
|
10607
|
-
var line = session.getLine(row).substr(start.column);
|
10608
|
-
if (callback(line, row, start.column))
|
11022
|
+
if (forEachInLine(row, start.column, callback))
|
10609
11023
|
return;
|
10610
|
-
|
10611
|
-
|
10612
|
-
if (callback(session.getLine(row), row))
|
11024
|
+
for (row = row + 1; row <= lastRow; row++)
|
11025
|
+
if (forEachInLine(row, 0, callback))
|
10613
11026
|
return;
|
10614
|
-
|
10615
11027
|
if (options.wrap == false)
|
10616
11028
|
return;
|
10617
|
-
|
10618
11029
|
for (row = firstRow, lastRow = start.row; row <= lastRow; row++)
|
10619
|
-
if (
|
11030
|
+
if (forEachInLine(row, 0, callback))
|
10620
11031
|
return;
|
10621
11032
|
};
|
11033
|
+
}
|
10622
11034
|
|
11035
|
+
if (options.$isMultiLine) {
|
11036
|
+
var len = re.length;
|
11037
|
+
var forEachInLine = function(row, offset, callback) {
|
11038
|
+
var startRow = backwards ? row - len + 1 : row;
|
11039
|
+
if (startRow < 0) return;
|
11040
|
+
var line = session.getLine(startRow);
|
11041
|
+
var startIndex = line.search(re[0])
|
11042
|
+
if (!backwards && startIndex < offset || startIndex === -1) return;
|
11043
|
+
for (var i = 1; i < len; i++) {
|
11044
|
+
line = session.getLine(startRow + i);
|
11045
|
+
if (line.search(re[i]) == -1)
|
11046
|
+
return;
|
11047
|
+
}
|
11048
|
+
var endIndex = line.match(re[len - 1])[0].length;
|
11049
|
+
if (backwards && endIndex > offset) return;
|
11050
|
+
if (callback(startRow, startIndex, startRow + len - 1, endIndex))
|
11051
|
+
return true;
|
11052
|
+
};
|
11053
|
+
}
|
11054
|
+
else if (backwards) {
|
11055
|
+
var forEachInLine = function(row, endIndex, callback) {
|
11056
|
+
var line = session.getLine(row);
|
11057
|
+
var matches = [];
|
11058
|
+
var m, last = 0;
|
11059
|
+
re.lastIndex = 0;
|
11060
|
+
while((m = re.exec(line))) {
|
11061
|
+
var length = m[0].length;
|
11062
|
+
last = m.index;
|
11063
|
+
if (!length) {
|
11064
|
+
if (last >= line.length) break;
|
11065
|
+
re.lastIndex = last += 1;
|
11066
|
+
}
|
11067
|
+
if (m.index + length > endIndex)
|
11068
|
+
break;
|
11069
|
+
matches.push(m.index, length)
|
11070
|
+
}
|
11071
|
+
for (var i = matches.length - 1; i >= 0; i -= 2) {
|
11072
|
+
var column = matches[i - 1];
|
11073
|
+
var length = matches[i];
|
11074
|
+
if (callback(row, column, row, column + length))
|
11075
|
+
return true;
|
11076
|
+
}
|
11077
|
+
};
|
11078
|
+
}
|
11079
|
+
else {
|
11080
|
+
var forEachInLine = function(row, startIndex, callback) {
|
11081
|
+
var line = session.getLine(row);
|
11082
|
+
var m;
|
11083
|
+
var last = startIndex;
|
11084
|
+
re.lastIndex = startIndex;
|
11085
|
+
while((m = re.exec(line))) {
|
11086
|
+
var length = m[0].length;
|
11087
|
+
last = m.index;
|
11088
|
+
if (callback(row, last, row,last + length))
|
11089
|
+
return true;
|
11090
|
+
if (!length) {
|
11091
|
+
re.lastIndex = last += 1;
|
11092
|
+
if (last >= line.length) return false;
|
11093
|
+
}
|
11094
|
+
}
|
11095
|
+
};
|
11096
|
+
}
|
10623
11097
|
return {forEach: forEach};
|
10624
11098
|
};
|
10625
11099
|
|
@@ -10725,7 +11199,8 @@ MultiHashHandler.prototype = HashHandler.prototype;
|
|
10725
11199
|
|
10726
11200
|
function getPosition(command) {
|
10727
11201
|
return typeof command == "object" && command.bindKey
|
10728
|
-
&& command.bindKey.position
|
11202
|
+
&& command.bindKey.position
|
11203
|
+
|| (command.isDefault ? -100 : 0);
|
10729
11204
|
}
|
10730
11205
|
this._addCommandToBinding = function(keyId, command, position) {
|
10731
11206
|
var ckb = this.commandKeyBinding, i;
|
@@ -10739,13 +11214,11 @@ MultiHashHandler.prototype = HashHandler.prototype;
|
|
10739
11214
|
} else if ((i = ckb[keyId].indexOf(command)) != -1) {
|
10740
11215
|
ckb[keyId].splice(i, 1);
|
10741
11216
|
}
|
10742
|
-
|
11217
|
+
|
10743
11218
|
if (typeof position != "number") {
|
10744
|
-
|
10745
|
-
position = -100;
|
10746
|
-
else
|
10747
|
-
position = getPosition(command);
|
11219
|
+
position = getPosition(command);
|
10748
11220
|
}
|
11221
|
+
|
10749
11222
|
var commands = ckb[keyId];
|
10750
11223
|
for (i = 0; i < commands.length; i++) {
|
10751
11224
|
var other = commands[i];
|
@@ -10887,7 +11360,7 @@ oop.inherits(CommandManager, MultiHashHandler);
|
|
10887
11360
|
}
|
10888
11361
|
return false;
|
10889
11362
|
}
|
10890
|
-
|
11363
|
+
|
10891
11364
|
if (typeof command === "string")
|
10892
11365
|
command = this.commands[command];
|
10893
11366
|
|
@@ -10897,6 +11370,9 @@ oop.inherits(CommandManager, MultiHashHandler);
|
|
10897
11370
|
if (editor && editor.$readOnly && !command.readOnly)
|
10898
11371
|
return false;
|
10899
11372
|
|
11373
|
+
if (command.isAvailable && !command.isAvailable(editor))
|
11374
|
+
return false;
|
11375
|
+
|
10900
11376
|
var e = {editor: editor, command: command, args: args};
|
10901
11377
|
e.returnValue = this._emit("exec", e);
|
10902
11378
|
this._signal("afterExec", e);
|
@@ -11552,7 +12028,7 @@ exports.commands = [{
|
|
11552
12028
|
scrollIntoView: "cursor"
|
11553
12029
|
}, {
|
11554
12030
|
name: "transposeletters",
|
11555
|
-
bindKey: bindKey("
|
12031
|
+
bindKey: bindKey("Alt-Shift-X", "Ctrl-T"),
|
11556
12032
|
exec: function(editor) { editor.transposeLetters(); },
|
11557
12033
|
multiSelectAction: function(editor) {editor.transposeSelections(1); },
|
11558
12034
|
scrollIntoView: "cursor"
|
@@ -11684,13 +12160,17 @@ var Editor = function(renderer, session) {
|
|
11684
12160
|
var container = renderer.getContainerElement();
|
11685
12161
|
this.container = container;
|
11686
12162
|
this.renderer = renderer;
|
12163
|
+
this.id = "editor" + (++Editor.$uid);
|
11687
12164
|
|
11688
12165
|
this.commands = new CommandManager(useragent.isMac ? "mac" : "win", defaultCommands);
|
11689
|
-
|
11690
|
-
|
12166
|
+
if (typeof document == "object") {
|
12167
|
+
this.textInput = new TextInput(renderer.getTextAreaContainer(), this);
|
12168
|
+
this.renderer.textarea = this.textInput.getElement();
|
12169
|
+
this.$mouseHandler = new MouseHandler(this);
|
12170
|
+
new FoldHandler(this);
|
12171
|
+
}
|
12172
|
+
|
11691
12173
|
this.keyBinding = new KeyBinding(this);
|
11692
|
-
this.$mouseHandler = new MouseHandler(this);
|
11693
|
-
new FoldHandler(this);
|
11694
12174
|
|
11695
12175
|
this.$blockScrolling = 0;
|
11696
12176
|
this.$search = new Search().set({
|
@@ -11717,6 +12197,8 @@ var Editor = function(renderer, session) {
|
|
11717
12197
|
config._signal("editor", this);
|
11718
12198
|
};
|
11719
12199
|
|
12200
|
+
Editor.$uid = 0;
|
12201
|
+
|
11720
12202
|
(function(){
|
11721
12203
|
|
11722
12204
|
oop.implement(this, EventEmitter);
|
@@ -11963,6 +12445,9 @@ var Editor = function(renderer, session) {
|
|
11963
12445
|
|
11964
12446
|
oldSession && oldSession._signal("changeEditor", {oldEditor: this});
|
11965
12447
|
session && session._signal("changeEditor", {editor: this});
|
12448
|
+
|
12449
|
+
if (session && session.bgTokenizer)
|
12450
|
+
session.bgTokenizer.scheduleStart();
|
11966
12451
|
};
|
11967
12452
|
this.getSession = function() {
|
11968
12453
|
return this.session;
|
@@ -12372,7 +12857,7 @@ var Editor = function(renderer, session) {
|
|
12372
12857
|
cursor = this.session.remove(range);
|
12373
12858
|
this.clearSelection();
|
12374
12859
|
}
|
12375
|
-
else if (this.session.getOverwrite()) {
|
12860
|
+
else if (this.session.getOverwrite() && text.indexOf("\n") == -1) {
|
12376
12861
|
var range = new Range.fromPoints(cursor, cursor);
|
12377
12862
|
range.end.column += text.length;
|
12378
12863
|
this.session.remove(range);
|
@@ -12631,6 +13116,7 @@ var Editor = function(renderer, session) {
|
|
12631
13116
|
range = new Range(cursor.row, column-2, cursor.row, column);
|
12632
13117
|
}
|
12633
13118
|
this.session.replace(range, swap);
|
13119
|
+
this.session.selection.moveToPosition(range.end);
|
12634
13120
|
};
|
12635
13121
|
this.toLowerCase = function() {
|
12636
13122
|
var originalRange = this.getSelectionRange();
|
@@ -13786,7 +14272,7 @@ var Gutter = function(parentEl) {
|
|
13786
14272
|
var text = lastLineNumber = gutterRenderer
|
13787
14273
|
? gutterRenderer.getText(session, row)
|
13788
14274
|
: row + firstLineNumber;
|
13789
|
-
if (text
|
14275
|
+
if (text !== cell.textNode.data)
|
13790
14276
|
cell.textNode.data = text;
|
13791
14277
|
|
13792
14278
|
row++;
|
@@ -13893,9 +14379,7 @@ var Marker = function(parentEl) {
|
|
13893
14379
|
};
|
13894
14380
|
|
13895
14381
|
this.update = function(config) {
|
13896
|
-
|
13897
|
-
if (!config)
|
13898
|
-
return;
|
14382
|
+
if (!config) return;
|
13899
14383
|
|
13900
14384
|
this.config = config;
|
13901
14385
|
|
@@ -14834,6 +15318,7 @@ var VScrollBar = function(parent, renderer) {
|
|
14834
15318
|
this.width = dom.scrollbarWidth(parent.ownerDocument);
|
14835
15319
|
this.inner.style.width =
|
14836
15320
|
this.element.style.width = (this.width || 15) + 5 + "px";
|
15321
|
+
this.$minWidth = 0;
|
14837
15322
|
};
|
14838
15323
|
|
14839
15324
|
oop.inherits(VScrollBar, ScrollBar);
|
@@ -14853,7 +15338,7 @@ oop.inherits(VScrollBar, ScrollBar);
|
|
14853
15338
|
this.skipEvent = false;
|
14854
15339
|
};
|
14855
15340
|
this.getWidth = function() {
|
14856
|
-
return this.isVisible ? this.width : 0;
|
15341
|
+
return Math.max(this.isVisible ? this.width : 0, this.$minWidth || 0);
|
14857
15342
|
};
|
14858
15343
|
this.setHeight = function(height) {
|
14859
15344
|
this.element.style.height = height + "px";
|
@@ -15132,6 +15617,7 @@ overflow: hidden;\
|
|
15132
15617
|
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', monospace;\
|
15133
15618
|
direction: ltr;\
|
15134
15619
|
text-align: left;\
|
15620
|
+
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);\
|
15135
15621
|
}\
|
15136
15622
|
.ace_scroller {\
|
15137
15623
|
position: absolute;\
|
@@ -15305,6 +15791,9 @@ box-sizing: border-box;\
|
|
15305
15791
|
border-left: 2px solid;\
|
15306
15792
|
transform: translatez(0);\
|
15307
15793
|
}\
|
15794
|
+
.ace_multiselect .ace_cursor {\
|
15795
|
+
border-left-width: 1px;\
|
15796
|
+
}\
|
15308
15797
|
.ace_slim-cursors .ace_cursor {\
|
15309
15798
|
border-left-width: 1px;\
|
15310
15799
|
}\
|
@@ -15319,9 +15808,6 @@ opacity: 0.2;\
|
|
15319
15808
|
-webkit-transition: opacity 0.18s;\
|
15320
15809
|
transition: opacity 0.18s;\
|
15321
15810
|
}\
|
15322
|
-
.ace_editor.ace_multiselect .ace_cursor {\
|
15323
|
-
border-left-width: 1px;\
|
15324
|
-
}\
|
15325
15811
|
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {\
|
15326
15812
|
position: absolute;\
|
15327
15813
|
z-index: 3;\
|
@@ -15499,6 +15985,11 @@ z-index: 8;\
|
|
15499
15985
|
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\
|
15500
15986
|
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\
|
15501
15987
|
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}\
|
15988
|
+
.ace_text-input-ios {\
|
15989
|
+
position: absolute !important;\
|
15990
|
+
top: -100000px !important;\
|
15991
|
+
left: -100000px !important;\
|
15992
|
+
}\
|
15502
15993
|
";
|
15503
15994
|
|
15504
15995
|
dom.importCssString(editorCss, "ace_editor.css");
|
@@ -15657,7 +16148,7 @@ var VirtualRenderer = function(container, theme) {
|
|
15657
16148
|
|
15658
16149
|
this.$loop.schedule(this.CHANGE_FULL);
|
15659
16150
|
this.session.$setFontMetrics(this.$fontMetrics);
|
15660
|
-
this.
|
16151
|
+
this.scrollBarH.scrollLeft = this.scrollBarV.scrollTop = null;
|
15661
16152
|
|
15662
16153
|
this.onChangeNewLineMode = this.onChangeNewLineMode.bind(this);
|
15663
16154
|
this.onChangeNewLineMode()
|
@@ -16260,6 +16751,7 @@ var VirtualRenderer = function(container, theme) {
|
|
16260
16751
|
};
|
16261
16752
|
|
16262
16753
|
this.$updateLines = function() {
|
16754
|
+
if (!this.$changedLines) return;
|
16263
16755
|
var firstRow = this.$changedLines.firstRow;
|
16264
16756
|
var lastRow = this.$changedLines.lastRow;
|
16265
16757
|
this.$changedLines = null;
|
@@ -16774,7 +17266,26 @@ var net = require("../lib/net");
|
|
16774
17266
|
var EventEmitter = require("../lib/event_emitter").EventEmitter;
|
16775
17267
|
var config = require("../config");
|
16776
17268
|
|
16777
|
-
|
17269
|
+
function $workerBlob(workerUrl) {
|
17270
|
+
var script = "importScripts('" + net.qualifyURL(workerUrl) + "');";
|
17271
|
+
try {
|
17272
|
+
return new Blob([script], {"type": "application/javascript"});
|
17273
|
+
} catch (e) { // Backwards-compatibility
|
17274
|
+
var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
|
17275
|
+
var blobBuilder = new BlobBuilder();
|
17276
|
+
blobBuilder.append(script);
|
17277
|
+
return blobBuilder.getBlob("application/javascript");
|
17278
|
+
}
|
17279
|
+
}
|
17280
|
+
|
17281
|
+
function createWorker(workerUrl) {
|
17282
|
+
var blob = $workerBlob(workerUrl);
|
17283
|
+
var URL = window.URL || window.webkitURL;
|
17284
|
+
var blobURL = URL.createObjectURL(blob);
|
17285
|
+
return new Worker(blobURL);
|
17286
|
+
}
|
17287
|
+
|
17288
|
+
var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl, importScripts) {
|
16778
17289
|
this.$sendDeltaQueue = this.$sendDeltaQueue.bind(this);
|
16779
17290
|
this.changeListener = this.changeListener.bind(this);
|
16780
17291
|
this.onMessage = this.onMessage.bind(this);
|
@@ -16793,19 +17304,9 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {
|
|
16793
17304
|
});
|
16794
17305
|
}
|
16795
17306
|
|
16796
|
-
|
16797
|
-
|
16798
|
-
|
16799
|
-
if (e instanceof window.DOMException) {
|
16800
|
-
var blob = this.$workerBlob(workerUrl);
|
16801
|
-
var URL = window.URL || window.webkitURL;
|
16802
|
-
var blobURL = URL.createObjectURL(blob);
|
16803
|
-
|
16804
|
-
this.$worker = new Worker(blobURL);
|
16805
|
-
URL.revokeObjectURL(blobURL);
|
16806
|
-
} else {
|
16807
|
-
throw e;
|
16808
|
-
}
|
17307
|
+
this.$worker = createWorker(workerUrl);
|
17308
|
+
if (importScripts) {
|
17309
|
+
this.send("importScripts", importScripts);
|
16809
17310
|
}
|
16810
17311
|
this.$worker.postMessage({
|
16811
17312
|
init : true,
|
@@ -16826,7 +17327,7 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {
|
|
16826
17327
|
|
16827
17328
|
this.onMessage = function(e) {
|
16828
17329
|
var msg = e.data;
|
16829
|
-
switch(msg.type) {
|
17330
|
+
switch (msg.type) {
|
16830
17331
|
case "event":
|
16831
17332
|
this._signal(msg.name, {data: msg.data});
|
16832
17333
|
break;
|
@@ -16887,7 +17388,7 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {
|
|
16887
17388
|
};
|
16888
17389
|
|
16889
17390
|
this.attachToDocument = function(doc) {
|
16890
|
-
if(this.$doc)
|
17391
|
+
if (this.$doc)
|
16891
17392
|
this.terminate();
|
16892
17393
|
|
16893
17394
|
this.$doc = doc;
|
@@ -16916,18 +17417,6 @@ var WorkerClient = function(topLevelNamespaces, mod, classname, workerUrl) {
|
|
16916
17417
|
this.emit("change", {data: q});
|
16917
17418
|
};
|
16918
17419
|
|
16919
|
-
this.$workerBlob = function(workerUrl) {
|
16920
|
-
var script = "importScripts('" + net.qualifyURL(workerUrl) + "');";
|
16921
|
-
try {
|
16922
|
-
return new Blob([script], {"type": "application/javascript"});
|
16923
|
-
} catch (e) { // Backwards-compatibility
|
16924
|
-
var BlobBuilder = window.BlobBuilder || window.WebKitBlobBuilder || window.MozBlobBuilder;
|
16925
|
-
var blobBuilder = new BlobBuilder();
|
16926
|
-
blobBuilder.append(script);
|
16927
|
-
return blobBuilder.getBlob("application/javascript");
|
16928
|
-
}
|
16929
|
-
};
|
16930
|
-
|
16931
17420
|
}).call(WorkerClient.prototype);
|
16932
17421
|
|
16933
17422
|
|
@@ -16985,6 +17474,8 @@ UIWorkerClient.prototype = WorkerClient.prototype;
|
|
16985
17474
|
|
16986
17475
|
exports.UIWorkerClient = UIWorkerClient;
|
16987
17476
|
exports.WorkerClient = WorkerClient;
|
17477
|
+
exports.createWorker = createWorker;
|
17478
|
+
|
16988
17479
|
|
16989
17480
|
});
|
16990
17481
|
|
@@ -19052,7 +19543,7 @@ exports.createEditSession = function(text, mode) {
|
|
19052
19543
|
}
|
19053
19544
|
exports.EditSession = EditSession;
|
19054
19545
|
exports.UndoManager = UndoManager;
|
19055
|
-
exports.version = "1.2.
|
19546
|
+
exports.version = "1.2.8";
|
19056
19547
|
});
|
19057
19548
|
(function() {
|
19058
19549
|
window.require(["ace/ace"], function(a) {
|