ace-rails-ap 0.0.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/ace/rails/version.rb +1 -1
 - data/vendor/assets/javascripts/ace.js +15680 -1
 - data/vendor/assets/javascripts/keybinding-emacs.js +367 -1
 - data/vendor/assets/javascripts/keybinding-vim.js +1635 -1
 - data/vendor/assets/javascripts/mode-c9search.js +275 -0
 - data/vendor/assets/javascripts/mode-c_cpp.js +744 -1
 - data/vendor/assets/javascripts/mode-clojure.js +364 -1
 - data/vendor/assets/javascripts/mode-coffee.js +527 -1
 - data/vendor/assets/javascripts/mode-coldfusion.js +1966 -1
 - data/vendor/assets/javascripts/mode-csharp.js +633 -1
 - data/vendor/assets/javascripts/mode-css.js +499 -1
 - data/vendor/assets/javascripts/mode-diff.js +250 -0
 - data/vendor/assets/javascripts/{mode-c_cpp-uncompressed.js → mode-glsl.js} +147 -244
 - data/vendor/assets/javascripts/mode-golang.js +681 -1
 - data/vendor/assets/javascripts/mode-groovy.js +1240 -1
 - data/vendor/assets/javascripts/mode-haxe.js +633 -1
 - data/vendor/assets/javascripts/mode-html.js +2064 -1
 - data/vendor/assets/javascripts/mode-java.js +1202 -1
 - data/vendor/assets/javascripts/mode-javascript.js +1069 -1
 - data/vendor/assets/javascripts/mode-json.js +588 -1
 - data/vendor/assets/javascripts/{mode-haxe-uncompressed.js → mode-jsx.js} +189 -312
 - data/vendor/assets/javascripts/mode-latex.js +95 -1
 - data/vendor/assets/javascripts/mode-less.js +512 -1
 - data/vendor/assets/javascripts/mode-liquid.js +1125 -1
 - data/vendor/assets/javascripts/mode-lua.js +551 -1
 - data/vendor/assets/javascripts/{mode-html-uncompressed.js → mode-luahtml.js} +544 -604
 - data/vendor/assets/javascripts/{mode-coldfusion-uncompressed.js → mode-luapage.js} +2326 -2180
 - data/vendor/assets/javascripts/mode-markdown.js +2369 -1
 - data/vendor/assets/javascripts/mode-ocaml.js +464 -1
 - data/vendor/assets/javascripts/mode-perl.js +432 -1
 - data/vendor/assets/javascripts/mode-pgsql.js +970 -1
 - data/vendor/assets/javascripts/mode-php.js +1718 -1
 - data/vendor/assets/javascripts/mode-powershell.js +610 -1
 - data/vendor/assets/javascripts/mode-python.js +397 -1
 - data/vendor/assets/javascripts/mode-ruby.js +318 -1
 - data/vendor/assets/javascripts/mode-scad.js +732 -1
 - data/vendor/assets/javascripts/mode-scala.js +1237 -1
 - data/vendor/assets/javascripts/mode-scss.js +537 -1
 - data/vendor/assets/javascripts/mode-sh.js +250 -1
 - data/vendor/assets/javascripts/mode-sql.js +140 -1
 - data/vendor/assets/javascripts/mode-svg.js +1681 -1
 - data/vendor/assets/javascripts/mode-tcl.js +320 -0
 - data/vendor/assets/javascripts/mode-textile.js +182 -1
 - data/vendor/assets/javascripts/mode-xml.js +829 -1
 - data/vendor/assets/javascripts/mode-xquery.js +605 -1
 - data/vendor/assets/javascripts/mode-yaml.js +189 -0
 - data/vendor/assets/javascripts/theme-chrome.js +213 -1
 - data/vendor/assets/javascripts/theme-clouds.js +167 -1
 - data/vendor/assets/javascripts/theme-clouds_midnight.js +168 -1
 - data/vendor/assets/javascripts/theme-cobalt.js +194 -1
 - data/vendor/assets/javascripts/theme-crimson_editor.js +200 -1
 - data/vendor/assets/javascripts/theme-dawn.js +198 -1
 - data/vendor/assets/javascripts/theme-dreamweaver.js +230 -1
 - data/vendor/assets/javascripts/theme-eclipse.js +157 -1
 - data/vendor/assets/javascripts/theme-github.js +182 -0
 - data/vendor/assets/javascripts/theme-idle_fingers.js +186 -1
 - data/vendor/assets/javascripts/theme-kr_theme.js +189 -1
 - data/vendor/assets/javascripts/theme-merbivore.js +189 -1
 - data/vendor/assets/javascripts/theme-merbivore_soft.js +195 -1
 - data/vendor/assets/javascripts/theme-mono_industrial.js +197 -1
 - data/vendor/assets/javascripts/theme-monokai.js +194 -1
 - data/vendor/assets/javascripts/theme-pastel_on_dark.js +199 -1
 - data/vendor/assets/javascripts/theme-solarized_dark.js +180 -1
 - data/vendor/assets/javascripts/theme-solarized_light.js +179 -1
 - data/vendor/assets/javascripts/theme-textmate.js +216 -0
 - data/vendor/assets/javascripts/theme-tomorrow.js +213 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night.js +213 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night_blue.js +213 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night_bright.js +213 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night_eighties.js +209 -1
 - data/vendor/assets/javascripts/theme-twilight.js +211 -1
 - data/vendor/assets/javascripts/theme-vibrant_ink.js +190 -1
 - data/vendor/assets/javascripts/worker-coffee.js +83 -893
 - data/vendor/assets/javascripts/worker-css.js +88 -1402
 - data/vendor/assets/javascripts/worker-javascript.js +97 -812
 - data/vendor/assets/javascripts/worker-json.js +84 -761
 - data/vendor/assets/javascripts/worker-xquery.js +66464 -0
 - metadata +12 -195
 - data/vendor/assets/javascripts/ace-compat-noconflict.js +0 -1
 - data/vendor/assets/javascripts/ace-compat-uncompressed-noconflict.js +0 -480
 - data/vendor/assets/javascripts/ace-compat-uncompressed.js +0 -480
 - data/vendor/assets/javascripts/ace-compat.js +0 -1
 - data/vendor/assets/javascripts/ace-noconflict.js +0 -10
 - data/vendor/assets/javascripts/ace-uncompressed-noconflict.js +0 -19976
 - data/vendor/assets/javascripts/ace-uncompressed.js +0 -19976
 - data/vendor/assets/javascripts/keybinding-emacs-noconflict.js +0 -1
 - data/vendor/assets/javascripts/keybinding-emacs-uncompressed-noconflict.js +0 -150
 - data/vendor/assets/javascripts/keybinding-emacs-uncompressed.js +0 -150
 - data/vendor/assets/javascripts/keybinding-vim-noconflict.js +0 -1
 - data/vendor/assets/javascripts/keybinding-vim-uncompressed-noconflict.js +0 -138
 - data/vendor/assets/javascripts/keybinding-vim-uncompressed.js +0 -138
 - data/vendor/assets/javascripts/mode-c_cpp-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-c_cpp-uncompressed-noconflict.js +0 -919
 - data/vendor/assets/javascripts/mode-clojure-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-clojure-uncompressed-noconflict.js +0 -422
 - data/vendor/assets/javascripts/mode-clojure-uncompressed.js +0 -422
 - data/vendor/assets/javascripts/mode-coffee-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-coffee-uncompressed-noconflict.js +0 -607
 - data/vendor/assets/javascripts/mode-coffee-uncompressed.js +0 -607
 - data/vendor/assets/javascripts/mode-coldfusion-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-coldfusion-uncompressed-noconflict.js +0 -2458
 - data/vendor/assets/javascripts/mode-csharp-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-csharp-uncompressed-noconflict.js +0 -769
 - data/vendor/assets/javascripts/mode-csharp-uncompressed.js +0 -769
 - data/vendor/assets/javascripts/mode-css-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-css-uncompressed-noconflict.js +0 -641
 - data/vendor/assets/javascripts/mode-css-uncompressed.js +0 -641
 - data/vendor/assets/javascripts/mode-golang-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-golang-uncompressed-noconflict.js +0 -378
 - data/vendor/assets/javascripts/mode-golang-uncompressed.js +0 -378
 - data/vendor/assets/javascripts/mode-groovy-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-groovy-uncompressed-noconflict.js +0 -1393
 - data/vendor/assets/javascripts/mode-groovy-uncompressed.js +0 -1393
 - data/vendor/assets/javascripts/mode-haxe-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-haxe-uncompressed-noconflict.js +0 -769
 - data/vendor/assets/javascripts/mode-html-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-html-uncompressed-noconflict.js +0 -2475
 - data/vendor/assets/javascripts/mode-java-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-java-uncompressed-noconflict.js +0 -1395
 - data/vendor/assets/javascripts/mode-java-uncompressed.js +0 -1395
 - data/vendor/assets/javascripts/mode-javascript-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-javascript-uncompressed-noconflict.js +0 -1226
 - data/vendor/assets/javascripts/mode-javascript-uncompressed.js +0 -1226
 - data/vendor/assets/javascripts/mode-json-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-json-uncompressed-noconflict.js +0 -701
 - data/vendor/assets/javascripts/mode-json-uncompressed.js +0 -701
 - data/vendor/assets/javascripts/mode-latex-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-latex-uncompressed-noconflict.js +0 -95
 - data/vendor/assets/javascripts/mode-latex-uncompressed.js +0 -95
 - data/vendor/assets/javascripts/mode-less-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-less-uncompressed-noconflict.js +0 -655
 - data/vendor/assets/javascripts/mode-less-uncompressed.js +0 -655
 - data/vendor/assets/javascripts/mode-liquid-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-liquid-uncompressed-noconflict.js +0 -1353
 - data/vendor/assets/javascripts/mode-liquid-uncompressed.js +0 -1353
 - data/vendor/assets/javascripts/mode-lua-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-lua-uncompressed-noconflict.js +0 -523
 - data/vendor/assets/javascripts/mode-lua-uncompressed.js +0 -523
 - data/vendor/assets/javascripts/mode-markdown-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-markdown-uncompressed-noconflict.js +0 -2925
 - data/vendor/assets/javascripts/mode-markdown-uncompressed.js +0 -2925
 - data/vendor/assets/javascripts/mode-ocaml-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-ocaml-uncompressed-noconflict.js +0 -539
 - data/vendor/assets/javascripts/mode-ocaml-uncompressed.js +0 -539
 - data/vendor/assets/javascripts/mode-perl-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-perl-uncompressed-noconflict.js +0 -574
 - data/vendor/assets/javascripts/mode-perl-uncompressed.js +0 -574
 - data/vendor/assets/javascripts/mode-pgsql-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-pgsql-uncompressed-noconflict.js +0 -1104
 - data/vendor/assets/javascripts/mode-pgsql-uncompressed.js +0 -1104
 - data/vendor/assets/javascripts/mode-php-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-php-uncompressed-noconflict.js +0 -1885
 - data/vendor/assets/javascripts/mode-php-uncompressed.js +0 -1885
 - data/vendor/assets/javascripts/mode-powershell-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-powershell-uncompressed-noconflict.js +0 -710
 - data/vendor/assets/javascripts/mode-powershell-uncompressed.js +0 -710
 - data/vendor/assets/javascripts/mode-python-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-python-uncompressed-noconflict.js +0 -507
 - data/vendor/assets/javascripts/mode-python-uncompressed.js +0 -507
 - data/vendor/assets/javascripts/mode-ruby-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-ruby-uncompressed-noconflict.js +0 -391
 - data/vendor/assets/javascripts/mode-ruby-uncompressed.js +0 -391
 - data/vendor/assets/javascripts/mode-scad-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-scad-uncompressed-noconflict.js +0 -907
 - data/vendor/assets/javascripts/mode-scad-uncompressed.js +0 -907
 - data/vendor/assets/javascripts/mode-scala-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-scala-uncompressed-noconflict.js +0 -1395
 - data/vendor/assets/javascripts/mode-scala-uncompressed.js +0 -1395
 - data/vendor/assets/javascripts/mode-scss-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-scss-uncompressed-noconflict.js +0 -679
 - data/vendor/assets/javascripts/mode-scss-uncompressed.js +0 -679
 - data/vendor/assets/javascripts/mode-sh-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-sh-uncompressed-noconflict.js +0 -289
 - data/vendor/assets/javascripts/mode-sh-uncompressed.js +0 -289
 - data/vendor/assets/javascripts/mode-sql-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-sql-uncompressed-noconflict.js +0 -159
 - data/vendor/assets/javascripts/mode-sql-uncompressed.js +0 -159
 - data/vendor/assets/javascripts/mode-svg-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-svg-uncompressed-noconflict.js +0 -2137
 - data/vendor/assets/javascripts/mode-svg-uncompressed.js +0 -2137
 - data/vendor/assets/javascripts/mode-text-noconflict.js +0 -0
 - data/vendor/assets/javascripts/mode-text-uncompressed-noconflict.js +0 -0
 - data/vendor/assets/javascripts/mode-text-uncompressed.js +0 -0
 - data/vendor/assets/javascripts/mode-textile-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-textile-uncompressed-noconflict.js +0 -254
 - data/vendor/assets/javascripts/mode-textile-uncompressed.js +0 -254
 - data/vendor/assets/javascripts/mode-xml-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-xml-uncompressed-noconflict.js +0 -1012
 - data/vendor/assets/javascripts/mode-xml-uncompressed.js +0 -1012
 - data/vendor/assets/javascripts/mode-xquery-noconflict.js +0 -1
 - data/vendor/assets/javascripts/mode-xquery-uncompressed-noconflict.js +0 -540
 - data/vendor/assets/javascripts/mode-xquery-uncompressed.js +0 -540
 - data/vendor/assets/javascripts/theme-chrome-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-chrome-uncompressed-noconflict.js +0 -207
 - data/vendor/assets/javascripts/theme-chrome-uncompressed.js +0 -207
 - data/vendor/assets/javascripts/theme-clouds-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-clouds-uncompressed-noconflict.js +0 -160
 - data/vendor/assets/javascripts/theme-clouds-uncompressed.js +0 -160
 - data/vendor/assets/javascripts/theme-clouds_midnight-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-clouds_midnight-uncompressed-noconflict.js +0 -161
 - data/vendor/assets/javascripts/theme-clouds_midnight-uncompressed.js +0 -161
 - data/vendor/assets/javascripts/theme-cobalt-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-cobalt-uncompressed-noconflict.js +0 -187
 - data/vendor/assets/javascripts/theme-cobalt-uncompressed.js +0 -187
 - data/vendor/assets/javascripts/theme-crimson_editor-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-crimson_editor-uncompressed-noconflict.js +0 -198
 - data/vendor/assets/javascripts/theme-crimson_editor-uncompressed.js +0 -198
 - data/vendor/assets/javascripts/theme-dawn-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-dawn-uncompressed-noconflict.js +0 -191
 - data/vendor/assets/javascripts/theme-dawn-uncompressed.js +0 -191
 - data/vendor/assets/javascripts/theme-dreamweaver-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-dreamweaver-uncompressed-noconflict.js +0 -227
 - data/vendor/assets/javascripts/theme-dreamweaver-uncompressed.js +0 -227
 - data/vendor/assets/javascripts/theme-eclipse-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-eclipse-uncompressed-noconflict.js +0 -147
 - data/vendor/assets/javascripts/theme-eclipse-uncompressed.js +0 -147
 - data/vendor/assets/javascripts/theme-idle_fingers-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-idle_fingers-uncompressed-noconflict.js +0 -179
 - data/vendor/assets/javascripts/theme-idle_fingers-uncompressed.js +0 -179
 - data/vendor/assets/javascripts/theme-kr_theme-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-kr_theme-uncompressed-noconflict.js +0 -182
 - data/vendor/assets/javascripts/theme-kr_theme-uncompressed.js +0 -182
 - data/vendor/assets/javascripts/theme-merbivore-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-merbivore-uncompressed-noconflict.js +0 -182
 - data/vendor/assets/javascripts/theme-merbivore-uncompressed.js +0 -182
 - data/vendor/assets/javascripts/theme-merbivore_soft-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-merbivore_soft-uncompressed-noconflict.js +0 -188
 - data/vendor/assets/javascripts/theme-merbivore_soft-uncompressed.js +0 -188
 - data/vendor/assets/javascripts/theme-mono_industrial-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-mono_industrial-uncompressed-noconflict.js +0 -190
 - data/vendor/assets/javascripts/theme-mono_industrial-uncompressed.js +0 -190
 - data/vendor/assets/javascripts/theme-monokai-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-monokai-uncompressed-noconflict.js +0 -191
 - data/vendor/assets/javascripts/theme-monokai-uncompressed.js +0 -191
 - data/vendor/assets/javascripts/theme-pastel_on_dark-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-pastel_on_dark-uncompressed-noconflict.js +0 -192
 - data/vendor/assets/javascripts/theme-pastel_on_dark-uncompressed.js +0 -192
 - data/vendor/assets/javascripts/theme-solarized_dark-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-solarized_dark-uncompressed-noconflict.js +0 -176
 - data/vendor/assets/javascripts/theme-solarized_dark-uncompressed.js +0 -176
 - data/vendor/assets/javascripts/theme-solarized_light-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-solarized_light-uncompressed-noconflict.js +0 -172
 - data/vendor/assets/javascripts/theme-solarized_light-uncompressed.js +0 -172
 - data/vendor/assets/javascripts/theme-textmate-noconflict.js +0 -0
 - data/vendor/assets/javascripts/theme-textmate-uncompressed-noconflict.js +0 -0
 - data/vendor/assets/javascripts/theme-textmate-uncompressed.js +0 -0
 - data/vendor/assets/javascripts/theme-tomorrow-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-tomorrow-uncompressed-noconflict.js +0 -206
 - data/vendor/assets/javascripts/theme-tomorrow-uncompressed.js +0 -206
 - data/vendor/assets/javascripts/theme-tomorrow_night-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night-uncompressed-noconflict.js +0 -206
 - data/vendor/assets/javascripts/theme-tomorrow_night-uncompressed.js +0 -206
 - data/vendor/assets/javascripts/theme-tomorrow_night_blue-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night_blue-uncompressed-noconflict.js +0 -209
 - data/vendor/assets/javascripts/theme-tomorrow_night_blue-uncompressed.js +0 -209
 - data/vendor/assets/javascripts/theme-tomorrow_night_bright-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night_bright-uncompressed-noconflict.js +0 -206
 - data/vendor/assets/javascripts/theme-tomorrow_night_bright-uncompressed.js +0 -206
 - data/vendor/assets/javascripts/theme-tomorrow_night_eighties-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-tomorrow_night_eighties-uncompressed-noconflict.js +0 -202
 - data/vendor/assets/javascripts/theme-tomorrow_night_eighties-uncompressed.js +0 -202
 - data/vendor/assets/javascripts/theme-twilight-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-twilight-uncompressed-noconflict.js +0 -204
 - data/vendor/assets/javascripts/theme-twilight-uncompressed.js +0 -204
 - data/vendor/assets/javascripts/theme-vibrant_ink-noconflict.js +0 -1
 - data/vendor/assets/javascripts/theme-vibrant_ink-uncompressed-noconflict.js +0 -183
 - data/vendor/assets/javascripts/theme-vibrant_ink-uncompressed.js +0 -183
 
| 
         @@ -0,0 +1,250 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            /* ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
      
 2 
     | 
    
         
            +
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
      
 3 
     | 
    
         
            +
             *
         
     | 
| 
      
 4 
     | 
    
         
            +
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
      
 5 
     | 
    
         
            +
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
      
 6 
     | 
    
         
            +
             * the License. You may obtain a copy of the License at
         
     | 
| 
      
 7 
     | 
    
         
            +
             * http://www.mozilla.org/MPL/
         
     | 
| 
      
 8 
     | 
    
         
            +
             *
         
     | 
| 
      
 9 
     | 
    
         
            +
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
      
 10 
     | 
    
         
            +
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
      
 11 
     | 
    
         
            +
             * for the specific language governing rights and limitations under the
         
     | 
| 
      
 12 
     | 
    
         
            +
             * License.
         
     | 
| 
      
 13 
     | 
    
         
            +
             *
         
     | 
| 
      
 14 
     | 
    
         
            +
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
      
 15 
     | 
    
         
            +
             *
         
     | 
| 
      
 16 
     | 
    
         
            +
             * The Initial Developer of the Original Code is
         
     | 
| 
      
 17 
     | 
    
         
            +
             * Ajax.org B.V.
         
     | 
| 
      
 18 
     | 
    
         
            +
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
      
 19 
     | 
    
         
            +
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
      
 20 
     | 
    
         
            +
             *
         
     | 
| 
      
 21 
     | 
    
         
            +
             * Contributor(s):
         
     | 
| 
      
 22 
     | 
    
         
            +
             *
         
     | 
| 
      
 23 
     | 
    
         
            +
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
      
 24 
     | 
    
         
            +
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
      
 25 
     | 
    
         
            +
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
      
 26 
     | 
    
         
            +
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
      
 27 
     | 
    
         
            +
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
      
 28 
     | 
    
         
            +
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
      
 29 
     | 
    
         
            +
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
      
 30 
     | 
    
         
            +
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
      
 31 
     | 
    
         
            +
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
      
 32 
     | 
    
         
            +
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
      
 33 
     | 
    
         
            +
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
      
 34 
     | 
    
         
            +
             *
         
     | 
| 
      
 35 
     | 
    
         
            +
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
      
 36 
     | 
    
         
            +
             
     | 
| 
      
 37 
     | 
    
         
            +
            define('ace/mode/diff', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/diff_highlight_rules', 'ace/mode/folding/diff'], function(require, exports, module) {
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            var oop = require("../lib/oop");
         
     | 
| 
      
 41 
     | 
    
         
            +
            var TextMode = require("./text").Mode;
         
     | 
| 
      
 42 
     | 
    
         
            +
            var Tokenizer = require("../tokenizer").Tokenizer;
         
     | 
| 
      
 43 
     | 
    
         
            +
            var HighlightRules = require("./diff_highlight_rules").DiffHighlightRules;
         
     | 
| 
      
 44 
     | 
    
         
            +
            var FoldMode = require("./folding/diff").FoldMode;
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            var Mode = function() {
         
     | 
| 
      
 47 
     | 
    
         
            +
                this.$tokenizer = new Tokenizer(new HighlightRules().getRules(), "i");
         
     | 
| 
      
 48 
     | 
    
         
            +
                this.foldingRules = new FoldMode(["diff", "index", "\\+{3}", "@@|\\*{5}"], "i");
         
     | 
| 
      
 49 
     | 
    
         
            +
            };
         
     | 
| 
      
 50 
     | 
    
         
            +
            oop.inherits(Mode, TextMode);
         
     | 
| 
      
 51 
     | 
    
         
            +
             
     | 
| 
      
 52 
     | 
    
         
            +
            (function() {
         
     | 
| 
      
 53 
     | 
    
         
            +
             
     | 
| 
      
 54 
     | 
    
         
            +
            }).call(Mode.prototype);
         
     | 
| 
      
 55 
     | 
    
         
            +
             
     | 
| 
      
 56 
     | 
    
         
            +
            exports.Mode = Mode;
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            });
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
            define('ace/mode/diff_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
      
 63 
     | 
    
         
            +
            var oop = require("../lib/oop");
         
     | 
| 
      
 64 
     | 
    
         
            +
            var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
         
     | 
| 
      
 65 
     | 
    
         
            +
             
     | 
| 
      
 66 
     | 
    
         
            +
            var DiffHighlightRules = function() {
         
     | 
| 
      
 67 
     | 
    
         
            +
                // regexp must not have capturing parentheses. Use (?:) instead.
         
     | 
| 
      
 68 
     | 
    
         
            +
                // regexps are ordered -> the first match is used
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                this.$rules = {
         
     | 
| 
      
 71 
     | 
    
         
            +
                    "start" : [{
         
     | 
| 
      
 72 
     | 
    
         
            +
                            "regex": "^(?:\\*{15}|={67}|-{3}|\\+{3})$",
         
     | 
| 
      
 73 
     | 
    
         
            +
                            "token": "punctuation.definition.separator.diff",
         
     | 
| 
      
 74 
     | 
    
         
            +
                            "name": "keyword"
         
     | 
| 
      
 75 
     | 
    
         
            +
                        }, { //diff.range.unified
         
     | 
| 
      
 76 
     | 
    
         
            +
                            "regex": "^(@@)(\\s*.+?\\s*)(@@)(.*)$",
         
     | 
| 
      
 77 
     | 
    
         
            +
                            "token": [
         
     | 
| 
      
 78 
     | 
    
         
            +
                                "constant",
         
     | 
| 
      
 79 
     | 
    
         
            +
                                "constant.numeric",
         
     | 
| 
      
 80 
     | 
    
         
            +
                                "constant",
         
     | 
| 
      
 81 
     | 
    
         
            +
                                "comment.doc.tag"
         
     | 
| 
      
 82 
     | 
    
         
            +
                            ]
         
     | 
| 
      
 83 
     | 
    
         
            +
                        }, { //diff.range.normal
         
     | 
| 
      
 84 
     | 
    
         
            +
                            "regex": "^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$",
         
     | 
| 
      
 85 
     | 
    
         
            +
                            "token": [
         
     | 
| 
      
 86 
     | 
    
         
            +
                                "constant.numeric",
         
     | 
| 
      
 87 
     | 
    
         
            +
                                "punctuation.definition.range.diff",
         
     | 
| 
      
 88 
     | 
    
         
            +
                                "constant.function",
         
     | 
| 
      
 89 
     | 
    
         
            +
                                "constant.numeric",
         
     | 
| 
      
 90 
     | 
    
         
            +
                                "punctuation.definition.range.diff",
         
     | 
| 
      
 91 
     | 
    
         
            +
                                "invalid"
         
     | 
| 
      
 92 
     | 
    
         
            +
                            ],
         
     | 
| 
      
 93 
     | 
    
         
            +
                            "name": "meta."
         
     | 
| 
      
 94 
     | 
    
         
            +
                        }, {
         
     | 
| 
      
 95 
     | 
    
         
            +
                            "regex": "^(?:(\\-{3}|\\+{3}|\\*{3})( .+))$",
         
     | 
| 
      
 96 
     | 
    
         
            +
                            "token": [
         
     | 
| 
      
 97 
     | 
    
         
            +
                                "constant.numeric",
         
     | 
| 
      
 98 
     | 
    
         
            +
                                "meta.tag"
         
     | 
| 
      
 99 
     | 
    
         
            +
                            ]
         
     | 
| 
      
 100 
     | 
    
         
            +
                        }, { // added
         
     | 
| 
      
 101 
     | 
    
         
            +
                            "regex": "^([!+>])(.*?)(\\s*)$",
         
     | 
| 
      
 102 
     | 
    
         
            +
                            "token": [
         
     | 
| 
      
 103 
     | 
    
         
            +
                                "support.constant",
         
     | 
| 
      
 104 
     | 
    
         
            +
                                "text",
         
     | 
| 
      
 105 
     | 
    
         
            +
                                "invalid"
         
     | 
| 
      
 106 
     | 
    
         
            +
                            ],
         
     | 
| 
      
 107 
     | 
    
         
            +
                        }, { // removed
         
     | 
| 
      
 108 
     | 
    
         
            +
                            "regex": "^([<\\-])(.*?)(\\s*)$",
         
     | 
| 
      
 109 
     | 
    
         
            +
                            "token": [
         
     | 
| 
      
 110 
     | 
    
         
            +
                                "support.function",
         
     | 
| 
      
 111 
     | 
    
         
            +
                                "string",
         
     | 
| 
      
 112 
     | 
    
         
            +
                                "invalid"
         
     | 
| 
      
 113 
     | 
    
         
            +
                            ],
         
     | 
| 
      
 114 
     | 
    
         
            +
                        }, {
         
     | 
| 
      
 115 
     | 
    
         
            +
                            "regex": "^(diff)(\\s+--\\w+)?(.+?)( .+)?$",
         
     | 
| 
      
 116 
     | 
    
         
            +
                            "token": ["variable", "variable", "keyword", "variable"]
         
     | 
| 
      
 117 
     | 
    
         
            +
                        }, {
         
     | 
| 
      
 118 
     | 
    
         
            +
                            "regex": "^Index.+$",
         
     | 
| 
      
 119 
     | 
    
         
            +
                            "token": "variable"
         
     | 
| 
      
 120 
     | 
    
         
            +
                        }, {
         
     | 
| 
      
 121 
     | 
    
         
            +
                            "regex": "^(.*?)(\\s*)$",
         
     | 
| 
      
 122 
     | 
    
         
            +
                            "token": ["invisible", "invalid"]
         
     | 
| 
      
 123 
     | 
    
         
            +
                        }
         
     | 
| 
      
 124 
     | 
    
         
            +
                    ]
         
     | 
| 
      
 125 
     | 
    
         
            +
                };
         
     | 
| 
      
 126 
     | 
    
         
            +
            };
         
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
            oop.inherits(DiffHighlightRules, TextHighlightRules);
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
      
 130 
     | 
    
         
            +
            exports.DiffHighlightRules = DiffHighlightRules;
         
     | 
| 
      
 131 
     | 
    
         
            +
            });
         
     | 
| 
      
 132 
     | 
    
         
            +
             
     | 
| 
      
 133 
     | 
    
         
            +
            define('ace/mode/folding/diff', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/folding/fold_mode', 'ace/range'], function(require, exports, module) {
         
     | 
| 
      
 134 
     | 
    
         
            +
             
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            var oop = require("../../lib/oop");
         
     | 
| 
      
 137 
     | 
    
         
            +
            var BaseFoldMode = require("./fold_mode").FoldMode;
         
     | 
| 
      
 138 
     | 
    
         
            +
            var Range = require("../../range").Range;
         
     | 
| 
      
 139 
     | 
    
         
            +
             
     | 
| 
      
 140 
     | 
    
         
            +
            var FoldMode = exports.FoldMode = function(levels, flag) {
         
     | 
| 
      
 141 
     | 
    
         
            +
            	this.regExpList = levels;
         
     | 
| 
      
 142 
     | 
    
         
            +
            	this.flag = flag;
         
     | 
| 
      
 143 
     | 
    
         
            +
            	this.foldingStartMarker = RegExp("^(" + levels.join("|") + ")", this.flag);
         
     | 
| 
      
 144 
     | 
    
         
            +
            };
         
     | 
| 
      
 145 
     | 
    
         
            +
            oop.inherits(FoldMode, BaseFoldMode);
         
     | 
| 
      
 146 
     | 
    
         
            +
             
     | 
| 
      
 147 
     | 
    
         
            +
            (function() {
         
     | 
| 
      
 148 
     | 
    
         
            +
                this.getFoldWidgetRange = function(session, foldStyle, row) {
         
     | 
| 
      
 149 
     | 
    
         
            +
                    var line = session.getLine(row);
         
     | 
| 
      
 150 
     | 
    
         
            +
                    var start = {row: row, column: line.length};
         
     | 
| 
      
 151 
     | 
    
         
            +
             
     | 
| 
      
 152 
     | 
    
         
            +
                    var regList = this.regExpList;
         
     | 
| 
      
 153 
     | 
    
         
            +
                    for (var i = 1; i <= regList.length; i++) {
         
     | 
| 
      
 154 
     | 
    
         
            +
                        var re = RegExp("^(" + regList.slice(0, i).join("|") + ")", this.flag);
         
     | 
| 
      
 155 
     | 
    
         
            +
                        if (re.test(line))
         
     | 
| 
      
 156 
     | 
    
         
            +
                            break;
         
     | 
| 
      
 157 
     | 
    
         
            +
                    }
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                    for (var l = session.getLength(); ++row < l; ) {
         
     | 
| 
      
 160 
     | 
    
         
            +
                        line = session.getLine(row);
         
     | 
| 
      
 161 
     | 
    
         
            +
                        if (re.test(line))
         
     | 
| 
      
 162 
     | 
    
         
            +
                            break;
         
     | 
| 
      
 163 
     | 
    
         
            +
                    }
         
     | 
| 
      
 164 
     | 
    
         
            +
                    if (row == start.row + 1)
         
     | 
| 
      
 165 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 166 
     | 
    
         
            +
                    return  Range.fromPoints(start, {row: row - 1, column: line.length});
         
     | 
| 
      
 167 
     | 
    
         
            +
                };
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
            }).call(FoldMode.prototype);
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
            });
         
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
      
 173 
     | 
    
         
            +
            define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
         
     | 
| 
      
 174 
     | 
    
         
            +
             
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
            var Range = require("../../range").Range;
         
     | 
| 
      
 177 
     | 
    
         
            +
             
     | 
| 
      
 178 
     | 
    
         
            +
            var FoldMode = exports.FoldMode = function() {};
         
     | 
| 
      
 179 
     | 
    
         
            +
             
     | 
| 
      
 180 
     | 
    
         
            +
            (function() {
         
     | 
| 
      
 181 
     | 
    
         
            +
             
     | 
| 
      
 182 
     | 
    
         
            +
                this.foldingStartMarker = null;
         
     | 
| 
      
 183 
     | 
    
         
            +
                this.foldingStopMarker = null;
         
     | 
| 
      
 184 
     | 
    
         
            +
             
     | 
| 
      
 185 
     | 
    
         
            +
                // must return "" if there's no fold, to enable caching
         
     | 
| 
      
 186 
     | 
    
         
            +
                this.getFoldWidget = function(session, foldStyle, row) {
         
     | 
| 
      
 187 
     | 
    
         
            +
                    var line = session.getLine(row);
         
     | 
| 
      
 188 
     | 
    
         
            +
                    if (this.foldingStartMarker.test(line))
         
     | 
| 
      
 189 
     | 
    
         
            +
                        return "start";
         
     | 
| 
      
 190 
     | 
    
         
            +
                    if (foldStyle == "markbeginend"
         
     | 
| 
      
 191 
     | 
    
         
            +
                            && this.foldingStopMarker
         
     | 
| 
      
 192 
     | 
    
         
            +
                            && this.foldingStopMarker.test(line))
         
     | 
| 
      
 193 
     | 
    
         
            +
                        return "end";
         
     | 
| 
      
 194 
     | 
    
         
            +
                    return "";
         
     | 
| 
      
 195 
     | 
    
         
            +
                };
         
     | 
| 
      
 196 
     | 
    
         
            +
             
     | 
| 
      
 197 
     | 
    
         
            +
                this.getFoldWidgetRange = function(session, foldStyle, row) {
         
     | 
| 
      
 198 
     | 
    
         
            +
                    return null;
         
     | 
| 
      
 199 
     | 
    
         
            +
                };
         
     | 
| 
      
 200 
     | 
    
         
            +
             
     | 
| 
      
 201 
     | 
    
         
            +
                this.indentationBlock = function(session, row, column) {
         
     | 
| 
      
 202 
     | 
    
         
            +
                    var re = /\S/;
         
     | 
| 
      
 203 
     | 
    
         
            +
                    var line = session.getLine(row);
         
     | 
| 
      
 204 
     | 
    
         
            +
                    var startLevel = line.search(re);
         
     | 
| 
      
 205 
     | 
    
         
            +
                    if (startLevel == -1)
         
     | 
| 
      
 206 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 207 
     | 
    
         
            +
             
     | 
| 
      
 208 
     | 
    
         
            +
                    var startColumn = column || line.length;
         
     | 
| 
      
 209 
     | 
    
         
            +
                    var maxRow = session.getLength();
         
     | 
| 
      
 210 
     | 
    
         
            +
                    var startRow = row;
         
     | 
| 
      
 211 
     | 
    
         
            +
                    var endRow = row;
         
     | 
| 
      
 212 
     | 
    
         
            +
             
     | 
| 
      
 213 
     | 
    
         
            +
                    while (++row < maxRow) {
         
     | 
| 
      
 214 
     | 
    
         
            +
                        var level = session.getLine(row).search(re);
         
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
      
 216 
     | 
    
         
            +
                        if (level == -1)
         
     | 
| 
      
 217 
     | 
    
         
            +
                            continue;
         
     | 
| 
      
 218 
     | 
    
         
            +
             
     | 
| 
      
 219 
     | 
    
         
            +
                        if (level <= startLevel)
         
     | 
| 
      
 220 
     | 
    
         
            +
                            break;
         
     | 
| 
      
 221 
     | 
    
         
            +
             
     | 
| 
      
 222 
     | 
    
         
            +
                        endRow = row;
         
     | 
| 
      
 223 
     | 
    
         
            +
                    }
         
     | 
| 
      
 224 
     | 
    
         
            +
             
     | 
| 
      
 225 
     | 
    
         
            +
                    if (endRow > startRow) {
         
     | 
| 
      
 226 
     | 
    
         
            +
                        var endColumn = session.getLine(endRow).length;
         
     | 
| 
      
 227 
     | 
    
         
            +
                        return new Range(startRow, startColumn, endRow, endColumn);
         
     | 
| 
      
 228 
     | 
    
         
            +
                    }
         
     | 
| 
      
 229 
     | 
    
         
            +
                };
         
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
      
 231 
     | 
    
         
            +
                this.openingBracketBlock = function(session, bracket, row, column, typeRe) {
         
     | 
| 
      
 232 
     | 
    
         
            +
                    var start = {row: row, column: column + 1};
         
     | 
| 
      
 233 
     | 
    
         
            +
                    var end = session.$findClosingBracket(bracket, start, typeRe);
         
     | 
| 
      
 234 
     | 
    
         
            +
                    if (!end)
         
     | 
| 
      
 235 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 236 
     | 
    
         
            +
             
     | 
| 
      
 237 
     | 
    
         
            +
                    var fw = session.foldWidgets[end.row];
         
     | 
| 
      
 238 
     | 
    
         
            +
                    if (fw == null)
         
     | 
| 
      
 239 
     | 
    
         
            +
                        fw = this.getFoldWidget(session, end.row);
         
     | 
| 
      
 240 
     | 
    
         
            +
             
     | 
| 
      
 241 
     | 
    
         
            +
                    if (fw == "start" && end.row > start.row) {
         
     | 
| 
      
 242 
     | 
    
         
            +
                        end.row --;
         
     | 
| 
      
 243 
     | 
    
         
            +
                        end.column = session.getLine(end.row).length;
         
     | 
| 
      
 244 
     | 
    
         
            +
                    }
         
     | 
| 
      
 245 
     | 
    
         
            +
                    return Range.fromPoints(start, end);
         
     | 
| 
      
 246 
     | 
    
         
            +
                };
         
     | 
| 
      
 247 
     | 
    
         
            +
             
     | 
| 
      
 248 
     | 
    
         
            +
            }).call(FoldMode.prototype);
         
     | 
| 
      
 249 
     | 
    
         
            +
             
     | 
| 
      
 250 
     | 
    
         
            +
            });
         
     | 
| 
         @@ -19,8 +19,7 @@ 
     | 
|
| 
       19 
19 
     | 
    
         
             
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       20 
20 
     | 
    
         
             
             *
         
     | 
| 
       21 
21 
     | 
    
         
             
             * Contributor(s):
         
     | 
| 
       22 
     | 
    
         
            -
             * 
     | 
| 
       23 
     | 
    
         
            -
             *      Gastón Kleiman <gaston.kleiman AT gmail DOT com>
         
     | 
| 
      
 22 
     | 
    
         
            +
             *
         
     | 
| 
       24 
23 
     | 
    
         
             
             *
         
     | 
| 
       25 
24 
     | 
    
         
             
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       26 
25 
     | 
    
         
             
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
         @@ -36,8 +35,31 @@ 
     | 
|
| 
       36 
35 
     | 
    
         
             
             *
         
     | 
| 
       37 
36 
     | 
    
         
             
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       38 
37 
     | 
    
         | 
| 
      
 38 
     | 
    
         
            +
            define('ace/mode/glsl', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/c_cpp', 'ace/tokenizer', 'ace/mode/glsl_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle'], function(require, exports, module) {
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            var oop = require("../lib/oop");
         
     | 
| 
      
 42 
     | 
    
         
            +
            var CMode = require("./c_cpp").Mode;
         
     | 
| 
      
 43 
     | 
    
         
            +
            var Tokenizer = require("../tokenizer").Tokenizer;
         
     | 
| 
      
 44 
     | 
    
         
            +
            var glslHighlightRules = require("./glsl_highlight_rules").glslHighlightRules;
         
     | 
| 
      
 45 
     | 
    
         
            +
            var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
         
     | 
| 
      
 46 
     | 
    
         
            +
            var Range = require("../range").Range;
         
     | 
| 
      
 47 
     | 
    
         
            +
            var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
         
     | 
| 
      
 48 
     | 
    
         
            +
            var CStyleFoldMode = require("./folding/cstyle").FoldMode;
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            var Mode = function() {
         
     | 
| 
      
 51 
     | 
    
         
            +
                this.$tokenizer = new Tokenizer(new glslHighlightRules().getRules());
         
     | 
| 
      
 52 
     | 
    
         
            +
                this.$outdent = new MatchingBraceOutdent();
         
     | 
| 
      
 53 
     | 
    
         
            +
                this.$behaviour = new CstyleBehaviour();
         
     | 
| 
      
 54 
     | 
    
         
            +
                this.foldingRules = new CStyleFoldMode();
         
     | 
| 
      
 55 
     | 
    
         
            +
            };
         
     | 
| 
      
 56 
     | 
    
         
            +
            oop.inherits(Mode, CMode);
         
     | 
| 
      
 57 
     | 
    
         
            +
             
     | 
| 
      
 58 
     | 
    
         
            +
            exports.Mode = Mode;
         
     | 
| 
      
 59 
     | 
    
         
            +
            });
         
     | 
| 
      
 60 
     | 
    
         
            +
             
     | 
| 
       39 
61 
     | 
    
         
             
            define('ace/mode/c_cpp', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text', 'ace/tokenizer', 'ace/mode/c_cpp_highlight_rules', 'ace/mode/matching_brace_outdent', 'ace/range', 'ace/mode/behaviour/cstyle', 'ace/mode/folding/cstyle'], function(require, exports, module) {
         
     | 
| 
       40 
     | 
    
         
            -
             
     | 
| 
      
 62 
     | 
    
         
            +
             
     | 
| 
       41 
63 
     | 
    
         | 
| 
       42 
64 
     | 
    
         
             
            var oop = require("../lib/oop");
         
     | 
| 
       43 
65 
     | 
    
         
             
            var TextMode = require("./text").Mode;
         
     | 
| 
         @@ -130,48 +152,9 @@ oop.inherits(Mode, TextMode); 
     | 
|
| 
       130 
152 
     | 
    
         | 
| 
       131 
153 
     | 
    
         
             
            exports.Mode = Mode;
         
     | 
| 
       132 
154 
     | 
    
         
             
            });
         
     | 
| 
       133 
     | 
    
         
            -
            /* ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
       134 
     | 
    
         
            -
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
       135 
     | 
    
         
            -
             *
         
     | 
| 
       136 
     | 
    
         
            -
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
       137 
     | 
    
         
            -
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
       138 
     | 
    
         
            -
             * the License. You may obtain a copy of the License at
         
     | 
| 
       139 
     | 
    
         
            -
             * http://www.mozilla.org/MPL/
         
     | 
| 
       140 
     | 
    
         
            -
             *
         
     | 
| 
       141 
     | 
    
         
            -
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
       142 
     | 
    
         
            -
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
       143 
     | 
    
         
            -
             * for the specific language governing rights and limitations under the
         
     | 
| 
       144 
     | 
    
         
            -
             * License.
         
     | 
| 
       145 
     | 
    
         
            -
             *
         
     | 
| 
       146 
     | 
    
         
            -
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
       147 
     | 
    
         
            -
             *
         
     | 
| 
       148 
     | 
    
         
            -
             * The Initial Developer of the Original Code is
         
     | 
| 
       149 
     | 
    
         
            -
             * Ajax.org B.V.
         
     | 
| 
       150 
     | 
    
         
            -
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
       151 
     | 
    
         
            -
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       152 
     | 
    
         
            -
             *
         
     | 
| 
       153 
     | 
    
         
            -
             * Contributor(s):
         
     | 
| 
       154 
     | 
    
         
            -
             *      Fabian Jakobs <fabian AT ajax DOT org>
         
     | 
| 
       155 
     | 
    
         
            -
             *      Gastón Kleiman <gaston.kleiman AT gmail DOT com>
         
     | 
| 
       156 
     | 
    
         
            -
             *
         
     | 
| 
       157 
     | 
    
         
            -
             * Based on Bespin's C/C++ Syntax Plugin by Marc McIntyre.
         
     | 
| 
       158 
     | 
    
         
            -
             *
         
     | 
| 
       159 
     | 
    
         
            -
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       160 
     | 
    
         
            -
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
       161 
     | 
    
         
            -
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
       162 
     | 
    
         
            -
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
       163 
     | 
    
         
            -
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
       164 
     | 
    
         
            -
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
       165 
     | 
    
         
            -
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
       166 
     | 
    
         
            -
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
       167 
     | 
    
         
            -
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
       168 
     | 
    
         
            -
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
       169 
     | 
    
         
            -
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
       170 
     | 
    
         
            -
             *
         
     | 
| 
       171 
     | 
    
         
            -
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       172 
155 
     | 
    
         | 
| 
       173 
156 
     | 
    
         
             
            define('ace/mode/c_cpp_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/doc_comment_highlight_rules', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
         
     | 
| 
       174 
     | 
    
         
            -
             
     | 
| 
      
 157 
     | 
    
         
            +
             
     | 
| 
       175 
158 
     | 
    
         | 
| 
       176 
159 
     | 
    
         
             
            var oop = require("../lib/oop");
         
     | 
| 
       177 
160 
     | 
    
         
             
            var lang = require("../lib/lang");
         
     | 
| 
         @@ -310,45 +293,9 @@ oop.inherits(c_cppHighlightRules, TextHighlightRules); 
     | 
|
| 
       310 
293 
     | 
    
         | 
| 
       311 
294 
     | 
    
         
             
            exports.c_cppHighlightRules = c_cppHighlightRules;
         
     | 
| 
       312 
295 
     | 
    
         
             
            });
         
     | 
| 
       313 
     | 
    
         
            -
            /* ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
       314 
     | 
    
         
            -
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
       315 
     | 
    
         
            -
             *
         
     | 
| 
       316 
     | 
    
         
            -
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
       317 
     | 
    
         
            -
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
       318 
     | 
    
         
            -
             * the License. You may obtain a copy of the License at
         
     | 
| 
       319 
     | 
    
         
            -
             * http://www.mozilla.org/MPL/
         
     | 
| 
       320 
     | 
    
         
            -
             *
         
     | 
| 
       321 
     | 
    
         
            -
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
       322 
     | 
    
         
            -
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
       323 
     | 
    
         
            -
             * for the specific language governing rights and limitations under the
         
     | 
| 
       324 
     | 
    
         
            -
             * License.
         
     | 
| 
       325 
     | 
    
         
            -
             *
         
     | 
| 
       326 
     | 
    
         
            -
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
       327 
     | 
    
         
            -
             *
         
     | 
| 
       328 
     | 
    
         
            -
             * The Initial Developer of the Original Code is
         
     | 
| 
       329 
     | 
    
         
            -
             * Ajax.org B.V.
         
     | 
| 
       330 
     | 
    
         
            -
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
       331 
     | 
    
         
            -
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       332 
     | 
    
         
            -
             *
         
     | 
| 
       333 
     | 
    
         
            -
             * Contributor(s):
         
     | 
| 
       334 
     | 
    
         
            -
             *      Fabian Jakobs <fabian AT ajax DOT org>
         
     | 
| 
       335 
     | 
    
         
            -
             *
         
     | 
| 
       336 
     | 
    
         
            -
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       337 
     | 
    
         
            -
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
       338 
     | 
    
         
            -
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
       339 
     | 
    
         
            -
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
       340 
     | 
    
         
            -
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
       341 
     | 
    
         
            -
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
       342 
     | 
    
         
            -
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
       343 
     | 
    
         
            -
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
       344 
     | 
    
         
            -
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
       345 
     | 
    
         
            -
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
       346 
     | 
    
         
            -
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
       347 
     | 
    
         
            -
             *
         
     | 
| 
       348 
     | 
    
         
            -
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       349 
296 
     | 
    
         | 
| 
       350 
297 
     | 
    
         
             
            define('ace/mode/doc_comment_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/text_highlight_rules'], function(require, exports, module) {
         
     | 
| 
       351 
     | 
    
         
            -
             
     | 
| 
      
 298 
     | 
    
         
            +
             
     | 
| 
       352 
299 
     | 
    
         | 
| 
       353 
300 
     | 
    
         
             
            var oop = require("../lib/oop");
         
     | 
| 
       354 
301 
     | 
    
         
             
            var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
         
     | 
| 
         @@ -403,45 +350,9 @@ DocCommentHighlightRules.getEndRule = function (start) { 
     | 
|
| 
       403 
350 
     | 
    
         
             
            exports.DocCommentHighlightRules = DocCommentHighlightRules;
         
     | 
| 
       404 
351 
     | 
    
         | 
| 
       405 
352 
     | 
    
         
             
            });
         
     | 
| 
       406 
     | 
    
         
            -
            /* ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
       407 
     | 
    
         
            -
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
       408 
     | 
    
         
            -
             *
         
     | 
| 
       409 
     | 
    
         
            -
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
       410 
     | 
    
         
            -
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
       411 
     | 
    
         
            -
             * the License. You may obtain a copy of the License at
         
     | 
| 
       412 
     | 
    
         
            -
             * http://www.mozilla.org/MPL/
         
     | 
| 
       413 
     | 
    
         
            -
             *
         
     | 
| 
       414 
     | 
    
         
            -
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
       415 
     | 
    
         
            -
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
       416 
     | 
    
         
            -
             * for the specific language governing rights and limitations under the
         
     | 
| 
       417 
     | 
    
         
            -
             * License.
         
     | 
| 
       418 
     | 
    
         
            -
             *
         
     | 
| 
       419 
     | 
    
         
            -
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
       420 
     | 
    
         
            -
             *
         
     | 
| 
       421 
     | 
    
         
            -
             * The Initial Developer of the Original Code is
         
     | 
| 
       422 
     | 
    
         
            -
             * Ajax.org B.V.
         
     | 
| 
       423 
     | 
    
         
            -
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
       424 
     | 
    
         
            -
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       425 
     | 
    
         
            -
             *
         
     | 
| 
       426 
     | 
    
         
            -
             * Contributor(s):
         
     | 
| 
       427 
     | 
    
         
            -
             *      Fabian Jakobs <fabian AT ajax DOT org>
         
     | 
| 
       428 
     | 
    
         
            -
             *
         
     | 
| 
       429 
     | 
    
         
            -
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       430 
     | 
    
         
            -
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
       431 
     | 
    
         
            -
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
       432 
     | 
    
         
            -
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
       433 
     | 
    
         
            -
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
       434 
     | 
    
         
            -
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
       435 
     | 
    
         
            -
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
       436 
     | 
    
         
            -
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
       437 
     | 
    
         
            -
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
       438 
     | 
    
         
            -
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
       439 
     | 
    
         
            -
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
       440 
     | 
    
         
            -
             *
         
     | 
| 
       441 
     | 
    
         
            -
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       442 
353 
     | 
    
         | 
| 
       443 
354 
     | 
    
         
             
            define('ace/mode/matching_brace_outdent', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
         
     | 
| 
       444 
     | 
    
         
            -
             
     | 
| 
      
 355 
     | 
    
         
            +
             
     | 
| 
       445 
356 
     | 
    
         | 
| 
       446 
357 
     | 
    
         
             
            var Range = require("../range").Range;
         
     | 
| 
       447 
358 
     | 
    
         | 
| 
         @@ -484,49 +395,12 @@ var MatchingBraceOutdent = function() {}; 
     | 
|
| 
       484 
395 
     | 
    
         | 
| 
       485 
396 
     | 
    
         
             
            exports.MatchingBraceOutdent = MatchingBraceOutdent;
         
     | 
| 
       486 
397 
     | 
    
         
             
            });
         
     | 
| 
       487 
     | 
    
         
            -
            /* vim:ts=4:sts=4:sw=4:
         
     | 
| 
       488 
     | 
    
         
            -
             * ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
       489 
     | 
    
         
            -
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
       490 
     | 
    
         
            -
             *
         
     | 
| 
       491 
     | 
    
         
            -
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
       492 
     | 
    
         
            -
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
       493 
     | 
    
         
            -
             * the License. You may obtain a copy of the License at
         
     | 
| 
       494 
     | 
    
         
            -
             * http://www.mozilla.org/MPL/
         
     | 
| 
       495 
     | 
    
         
            -
             *
         
     | 
| 
       496 
     | 
    
         
            -
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
       497 
     | 
    
         
            -
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
       498 
     | 
    
         
            -
             * for the specific language governing rights and limitations under the
         
     | 
| 
       499 
     | 
    
         
            -
             * License.
         
     | 
| 
       500 
     | 
    
         
            -
             *
         
     | 
| 
       501 
     | 
    
         
            -
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
       502 
     | 
    
         
            -
             *
         
     | 
| 
       503 
     | 
    
         
            -
             * The Initial Developer of the Original Code is
         
     | 
| 
       504 
     | 
    
         
            -
             * Ajax.org B.V.
         
     | 
| 
       505 
     | 
    
         
            -
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
       506 
     | 
    
         
            -
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       507 
     | 
    
         
            -
             *
         
     | 
| 
       508 
     | 
    
         
            -
             * Contributor(s):
         
     | 
| 
       509 
     | 
    
         
            -
             *      Chris Spencer <chris.ag.spencer AT googlemail DOT com>
         
     | 
| 
       510 
     | 
    
         
            -
             *
         
     | 
| 
       511 
     | 
    
         
            -
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       512 
     | 
    
         
            -
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
       513 
     | 
    
         
            -
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
       514 
     | 
    
         
            -
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
       515 
     | 
    
         
            -
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
       516 
     | 
    
         
            -
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
       517 
     | 
    
         
            -
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
       518 
     | 
    
         
            -
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
       519 
     | 
    
         
            -
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
       520 
     | 
    
         
            -
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
       521 
     | 
    
         
            -
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
       522 
     | 
    
         
            -
             *
         
     | 
| 
       523 
     | 
    
         
            -
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       524 
398 
     | 
    
         | 
| 
       525 
399 
     | 
    
         
             
            define('ace/mode/behaviour/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/mode/behaviour'], function(require, exports, module) {
         
     | 
| 
       526 
     | 
    
         
            -
             
     | 
| 
      
 400 
     | 
    
         
            +
             
     | 
| 
       527 
401 
     | 
    
         | 
| 
       528 
402 
     | 
    
         
             
            var oop = require("../../lib/oop");
         
     | 
| 
       529 
     | 
    
         
            -
            var Behaviour = require( 
     | 
| 
      
 403 
     | 
    
         
            +
            var Behaviour = require("../behaviour").Behaviour;
         
     | 
| 
       530 
404 
     | 
    
         | 
| 
       531 
405 
     | 
    
         
             
            var CstyleBehaviour = function () {
         
     | 
| 
       532 
406 
     | 
    
         | 
| 
         @@ -633,6 +507,49 @@ var CstyleBehaviour = function () { 
     | 
|
| 
       633 
507 
     | 
    
         
             
                    }
         
     | 
| 
       634 
508 
     | 
    
         
             
                });
         
     | 
| 
       635 
509 
     | 
    
         | 
| 
      
 510 
     | 
    
         
            +
                this.add("brackets", "insertion", function (state, action, editor, session, text) {
         
     | 
| 
      
 511 
     | 
    
         
            +
                    if (text == '[') {
         
     | 
| 
      
 512 
     | 
    
         
            +
                        var selection = editor.getSelectionRange();
         
     | 
| 
      
 513 
     | 
    
         
            +
                        var selected = session.doc.getTextRange(selection);
         
     | 
| 
      
 514 
     | 
    
         
            +
                        if (selected !== "") {
         
     | 
| 
      
 515 
     | 
    
         
            +
                            return {
         
     | 
| 
      
 516 
     | 
    
         
            +
                                text: '[' + selected + ']',
         
     | 
| 
      
 517 
     | 
    
         
            +
                                selection: false
         
     | 
| 
      
 518 
     | 
    
         
            +
                            };
         
     | 
| 
      
 519 
     | 
    
         
            +
                        } else {
         
     | 
| 
      
 520 
     | 
    
         
            +
                            return {
         
     | 
| 
      
 521 
     | 
    
         
            +
                                text: '[]',
         
     | 
| 
      
 522 
     | 
    
         
            +
                                selection: [1, 1]
         
     | 
| 
      
 523 
     | 
    
         
            +
                            };
         
     | 
| 
      
 524 
     | 
    
         
            +
                        }
         
     | 
| 
      
 525 
     | 
    
         
            +
                    } else if (text == ']') {
         
     | 
| 
      
 526 
     | 
    
         
            +
                        var cursor = editor.getCursorPosition();
         
     | 
| 
      
 527 
     | 
    
         
            +
                        var line = session.doc.getLine(cursor.row);
         
     | 
| 
      
 528 
     | 
    
         
            +
                        var rightChar = line.substring(cursor.column, cursor.column + 1);
         
     | 
| 
      
 529 
     | 
    
         
            +
                        if (rightChar == ']') {
         
     | 
| 
      
 530 
     | 
    
         
            +
                            var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
         
     | 
| 
      
 531 
     | 
    
         
            +
                            if (matching !== null) {
         
     | 
| 
      
 532 
     | 
    
         
            +
                                return {
         
     | 
| 
      
 533 
     | 
    
         
            +
                                    text: '',
         
     | 
| 
      
 534 
     | 
    
         
            +
                                    selection: [1, 1]
         
     | 
| 
      
 535 
     | 
    
         
            +
                                };
         
     | 
| 
      
 536 
     | 
    
         
            +
                            }
         
     | 
| 
      
 537 
     | 
    
         
            +
                        }
         
     | 
| 
      
 538 
     | 
    
         
            +
                    }
         
     | 
| 
      
 539 
     | 
    
         
            +
                });
         
     | 
| 
      
 540 
     | 
    
         
            +
             
     | 
| 
      
 541 
     | 
    
         
            +
                this.add("brackets", "deletion", function (state, action, editor, session, range) {
         
     | 
| 
      
 542 
     | 
    
         
            +
                    var selected = session.doc.getTextRange(range);
         
     | 
| 
      
 543 
     | 
    
         
            +
                    if (!range.isMultiLine() && selected == '[') {
         
     | 
| 
      
 544 
     | 
    
         
            +
                        var line = session.doc.getLine(range.start.row);
         
     | 
| 
      
 545 
     | 
    
         
            +
                        var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
         
     | 
| 
      
 546 
     | 
    
         
            +
                        if (rightChar == ']') {
         
     | 
| 
      
 547 
     | 
    
         
            +
                            range.end.column++;
         
     | 
| 
      
 548 
     | 
    
         
            +
                            return range;
         
     | 
| 
      
 549 
     | 
    
         
            +
                        }
         
     | 
| 
      
 550 
     | 
    
         
            +
                    }
         
     | 
| 
      
 551 
     | 
    
         
            +
                });
         
     | 
| 
      
 552 
     | 
    
         
            +
             
     | 
| 
       636 
553 
     | 
    
         
             
                this.add("string_dquotes", "insertion", function (state, action, editor, session, text) {
         
     | 
| 
       637 
554 
     | 
    
         
             
                    if (text == '"' || text == "'") {
         
     | 
| 
       638 
555 
     | 
    
         
             
                        var quote = text;
         
     | 
| 
         @@ -654,7 +571,7 @@ var CstyleBehaviour = function () { 
     | 
|
| 
       654 
571 
     | 
    
         
             
                            }
         
     | 
| 
       655 
572 
     | 
    
         | 
| 
       656 
573 
     | 
    
         
             
                            // Find what token we're inside.
         
     | 
| 
       657 
     | 
    
         
            -
                            var tokens = session.getTokens(selection.start.row 
     | 
| 
      
 574 
     | 
    
         
            +
                            var tokens = session.getTokens(selection.start.row);
         
     | 
| 
       658 
575 
     | 
    
         
             
                            var col = 0, token;
         
     | 
| 
       659 
576 
     | 
    
         
             
                            var quotepos = -1; // Track whether we're inside an open quote.
         
     | 
| 
       660 
577 
     | 
    
         | 
| 
         @@ -709,45 +626,9 @@ oop.inherits(CstyleBehaviour, Behaviour); 
     | 
|
| 
       709 
626 
     | 
    
         | 
| 
       710 
627 
     | 
    
         
             
            exports.CstyleBehaviour = CstyleBehaviour;
         
     | 
| 
       711 
628 
     | 
    
         
             
            });
         
     | 
| 
       712 
     | 
    
         
            -
            /* ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
       713 
     | 
    
         
            -
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
       714 
     | 
    
         
            -
             *
         
     | 
| 
       715 
     | 
    
         
            -
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
       716 
     | 
    
         
            -
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
       717 
     | 
    
         
            -
             * the License. You may obtain a copy of the License at
         
     | 
| 
       718 
     | 
    
         
            -
             * http://www.mozilla.org/MPL/
         
     | 
| 
       719 
     | 
    
         
            -
             *
         
     | 
| 
       720 
     | 
    
         
            -
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
       721 
     | 
    
         
            -
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
       722 
     | 
    
         
            -
             * for the specific language governing rights and limitations under the
         
     | 
| 
       723 
     | 
    
         
            -
             * License.
         
     | 
| 
       724 
     | 
    
         
            -
             *
         
     | 
| 
       725 
     | 
    
         
            -
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
       726 
     | 
    
         
            -
             *
         
     | 
| 
       727 
     | 
    
         
            -
             * The Initial Developer of the Original Code is
         
     | 
| 
       728 
     | 
    
         
            -
             * Ajax.org B.V.
         
     | 
| 
       729 
     | 
    
         
            -
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
       730 
     | 
    
         
            -
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       731 
     | 
    
         
            -
             *
         
     | 
| 
       732 
     | 
    
         
            -
             * Contributor(s):
         
     | 
| 
       733 
     | 
    
         
            -
             *      Fabian Jakobs <fabian AT ajax DOT org>
         
     | 
| 
       734 
     | 
    
         
            -
             *
         
     | 
| 
       735 
     | 
    
         
            -
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       736 
     | 
    
         
            -
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
       737 
     | 
    
         
            -
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
       738 
     | 
    
         
            -
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
       739 
     | 
    
         
            -
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
       740 
     | 
    
         
            -
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
       741 
     | 
    
         
            -
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
       742 
     | 
    
         
            -
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
       743 
     | 
    
         
            -
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
       744 
     | 
    
         
            -
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
       745 
     | 
    
         
            -
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
       746 
     | 
    
         
            -
             *
         
     | 
| 
       747 
     | 
    
         
            -
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       748 
629 
     | 
    
         | 
| 
       749 
630 
     | 
    
         
             
            define('ace/mode/folding/cstyle', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/range', 'ace/mode/folding/fold_mode'], function(require, exports, module) {
         
     | 
| 
       750 
     | 
    
         
            -
             
     | 
| 
      
 631 
     | 
    
         
            +
             
     | 
| 
       751 
632 
     | 
    
         | 
| 
       752 
633 
     | 
    
         
             
            var oop = require("../../lib/oop");
         
     | 
| 
       753 
634 
     | 
    
         
             
            var Range = require("../../range").Range;
         
     | 
| 
         @@ -804,45 +685,9 @@ oop.inherits(FoldMode, BaseFoldMode); 
     | 
|
| 
       804 
685 
     | 
    
         
             
            }).call(FoldMode.prototype);
         
     | 
| 
       805 
686 
     | 
    
         | 
| 
       806 
687 
     | 
    
         
             
            });
         
     | 
| 
       807 
     | 
    
         
            -
            /* ***** BEGIN LICENSE BLOCK *****
         
     | 
| 
       808 
     | 
    
         
            -
             * Version: MPL 1.1/GPL 2.0/LGPL 2.1
         
     | 
| 
       809 
     | 
    
         
            -
             *
         
     | 
| 
       810 
     | 
    
         
            -
             * The contents of this file are subject to the Mozilla Public License Version
         
     | 
| 
       811 
     | 
    
         
            -
             * 1.1 (the "License"); you may not use this file except in compliance with
         
     | 
| 
       812 
     | 
    
         
            -
             * the License. You may obtain a copy of the License at
         
     | 
| 
       813 
     | 
    
         
            -
             * http://www.mozilla.org/MPL/
         
     | 
| 
       814 
     | 
    
         
            -
             *
         
     | 
| 
       815 
     | 
    
         
            -
             * Software distributed under the License is distributed on an "AS IS" basis,
         
     | 
| 
       816 
     | 
    
         
            -
             * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
         
     | 
| 
       817 
     | 
    
         
            -
             * for the specific language governing rights and limitations under the
         
     | 
| 
       818 
     | 
    
         
            -
             * License.
         
     | 
| 
       819 
     | 
    
         
            -
             *
         
     | 
| 
       820 
     | 
    
         
            -
             * The Original Code is Ajax.org Code Editor (ACE).
         
     | 
| 
       821 
     | 
    
         
            -
             *
         
     | 
| 
       822 
     | 
    
         
            -
             * The Initial Developer of the Original Code is
         
     | 
| 
       823 
     | 
    
         
            -
             * Ajax.org B.V.
         
     | 
| 
       824 
     | 
    
         
            -
             * Portions created by the Initial Developer are Copyright (C) 2010
         
     | 
| 
       825 
     | 
    
         
            -
             * the Initial Developer. All Rights Reserved.
         
     | 
| 
       826 
     | 
    
         
            -
             *
         
     | 
| 
       827 
     | 
    
         
            -
             * Contributor(s):
         
     | 
| 
       828 
     | 
    
         
            -
             *      Fabian Jakobs <fabian AT ajax DOT org>
         
     | 
| 
       829 
     | 
    
         
            -
             *
         
     | 
| 
       830 
     | 
    
         
            -
             * Alternatively, the contents of this file may be used under the terms of
         
     | 
| 
       831 
     | 
    
         
            -
             * either the GNU General Public License Version 2 or later (the "GPL"), or
         
     | 
| 
       832 
     | 
    
         
            -
             * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
         
     | 
| 
       833 
     | 
    
         
            -
             * in which case the provisions of the GPL or the LGPL are applicable instead
         
     | 
| 
       834 
     | 
    
         
            -
             * of those above. If you wish to allow use of your version of this file only
         
     | 
| 
       835 
     | 
    
         
            -
             * under the terms of either the GPL or the LGPL, and not to allow others to
         
     | 
| 
       836 
     | 
    
         
            -
             * use your version of this file under the terms of the MPL, indicate your
         
     | 
| 
       837 
     | 
    
         
            -
             * decision by deleting the provisions above and replace them with the notice
         
     | 
| 
       838 
     | 
    
         
            -
             * and other provisions required by the GPL or the LGPL. If you do not delete
         
     | 
| 
       839 
     | 
    
         
            -
             * the provisions above, a recipient may use your version of this file under
         
     | 
| 
       840 
     | 
    
         
            -
             * the terms of any one of the MPL, the GPL or the LGPL.
         
     | 
| 
       841 
     | 
    
         
            -
             *
         
     | 
| 
       842 
     | 
    
         
            -
             * ***** END LICENSE BLOCK ***** */
         
     | 
| 
       843 
688 
     | 
    
         | 
| 
       844 
689 
     | 
    
         
             
            define('ace/mode/folding/fold_mode', ['require', 'exports', 'module' , 'ace/range'], function(require, exports, module) {
         
     | 
| 
       845 
     | 
    
         
            -
             
     | 
| 
      
 690 
     | 
    
         
            +
             
     | 
| 
       846 
691 
     | 
    
         | 
| 
       847 
692 
     | 
    
         
             
            var Range = require("../../range").Range;
         
     | 
| 
       848 
693 
     | 
    
         | 
| 
         @@ -864,25 +709,27 @@ var FoldMode = exports.FoldMode = function() {}; 
     | 
|
| 
       864 
709 
     | 
    
         
             
                        return "end";
         
     | 
| 
       865 
710 
     | 
    
         
             
                    return "";
         
     | 
| 
       866 
711 
     | 
    
         
             
                };
         
     | 
| 
       867 
     | 
    
         
            -
             
     | 
| 
      
 712 
     | 
    
         
            +
             
     | 
| 
       868 
713 
     | 
    
         
             
                this.getFoldWidgetRange = function(session, foldStyle, row) {
         
     | 
| 
       869 
714 
     | 
    
         
             
                    return null;
         
     | 
| 
       870 
715 
     | 
    
         
             
                };
         
     | 
| 
       871 
716 
     | 
    
         | 
| 
       872 
717 
     | 
    
         
             
                this.indentationBlock = function(session, row, column) {
         
     | 
| 
       873 
     | 
    
         
            -
                    var re =  
     | 
| 
       874 
     | 
    
         
            -
                    var startRow = row;
         
     | 
| 
       875 
     | 
    
         
            -
                    var endRow = row;
         
     | 
| 
      
 718 
     | 
    
         
            +
                    var re = /\S/;
         
     | 
| 
       876 
719 
     | 
    
         
             
                    var line = session.getLine(row);
         
     | 
| 
      
 720 
     | 
    
         
            +
                    var startLevel = line.search(re);
         
     | 
| 
      
 721 
     | 
    
         
            +
                    if (startLevel == -1)
         
     | 
| 
      
 722 
     | 
    
         
            +
                        return;
         
     | 
| 
      
 723 
     | 
    
         
            +
             
     | 
| 
       877 
724 
     | 
    
         
             
                    var startColumn = column || line.length;
         
     | 
| 
       878 
     | 
    
         
            -
                    var  
     | 
| 
       879 
     | 
    
         
            -
                    var  
     | 
| 
       880 
     | 
    
         
            -
                    
         
     | 
| 
      
 725 
     | 
    
         
            +
                    var maxRow = session.getLength();
         
     | 
| 
      
 726 
     | 
    
         
            +
                    var startRow = row;
         
     | 
| 
      
 727 
     | 
    
         
            +
                    var endRow = row;
         
     | 
| 
      
 728 
     | 
    
         
            +
             
     | 
| 
       881 
729 
     | 
    
         
             
                    while (++row < maxRow) {
         
     | 
| 
       882 
     | 
    
         
            -
                         
     | 
| 
       883 
     | 
    
         
            -
                        var level = line.match(re)[0].length;
         
     | 
| 
      
 730 
     | 
    
         
            +
                        var level = session.getLine(row).search(re);
         
     | 
| 
       884 
731 
     | 
    
         | 
| 
       885 
     | 
    
         
            -
                        if (level ==  
     | 
| 
      
 732 
     | 
    
         
            +
                        if (level == -1)
         
     | 
| 
       886 
733 
     | 
    
         
             
                            continue;
         
     | 
| 
       887 
734 
     | 
    
         | 
| 
       888 
735 
     | 
    
         
             
                        if (level <= startLevel)
         
     | 
| 
         @@ -897,9 +744,9 @@ var FoldMode = exports.FoldMode = function() {}; 
     | 
|
| 
       897 
744 
     | 
    
         
             
                    }
         
     | 
| 
       898 
745 
     | 
    
         
             
                };
         
     | 
| 
       899 
746 
     | 
    
         | 
| 
       900 
     | 
    
         
            -
                this.openingBracketBlock = function(session, bracket, row, column) {
         
     | 
| 
      
 747 
     | 
    
         
            +
                this.openingBracketBlock = function(session, bracket, row, column, typeRe) {
         
     | 
| 
       901 
748 
     | 
    
         
             
                    var start = {row: row, column: column + 1};
         
     | 
| 
       902 
     | 
    
         
            -
                    var end = session.$findClosingBracket(bracket, start);
         
     | 
| 
      
 749 
     | 
    
         
            +
                    var end = session.$findClosingBracket(bracket, start, typeRe);
         
     | 
| 
       903 
750 
     | 
    
         
             
                    if (!end)
         
     | 
| 
       904 
751 
     | 
    
         
             
                        return;
         
     | 
| 
       905 
752 
     | 
    
         | 
| 
         @@ -907,7 +754,7 @@ var FoldMode = exports.FoldMode = function() {}; 
     | 
|
| 
       907 
754 
     | 
    
         
             
                    if (fw == null)
         
     | 
| 
       908 
755 
     | 
    
         
             
                        fw = this.getFoldWidget(session, end.row);
         
     | 
| 
       909 
756 
     | 
    
         | 
| 
       910 
     | 
    
         
            -
                    if (fw == "start") {
         
     | 
| 
      
 757 
     | 
    
         
            +
                    if (fw == "start" && end.row > start.row) {
         
     | 
| 
       911 
758 
     | 
    
         
             
                        end.row --;
         
     | 
| 
       912 
759 
     | 
    
         
             
                        end.column = session.getLine(end.row).length;
         
     | 
| 
       913 
760 
     | 
    
         
             
                    }
         
     | 
| 
         @@ -917,3 +764,59 @@ var FoldMode = exports.FoldMode = function() {}; 
     | 
|
| 
       917 
764 
     | 
    
         
             
            }).call(FoldMode.prototype);
         
     | 
| 
       918 
765 
     | 
    
         | 
| 
       919 
766 
     | 
    
         
             
            });
         
     | 
| 
      
 767 
     | 
    
         
            +
             
     | 
| 
      
 768 
     | 
    
         
            +
            define('ace/mode/glsl_highlight_rules', ['require', 'exports', 'module' , 'ace/lib/oop', 'ace/lib/lang', 'ace/mode/c_cpp_highlight_rules'], function(require, exports, module) {
         
     | 
| 
      
 769 
     | 
    
         
            +
             
     | 
| 
      
 770 
     | 
    
         
            +
             
     | 
| 
      
 771 
     | 
    
         
            +
            var oop = require("../lib/oop");
         
     | 
| 
      
 772 
     | 
    
         
            +
            var lang = require("../lib/lang");
         
     | 
| 
      
 773 
     | 
    
         
            +
            var c_cppHighlightRules = require("./c_cpp_highlight_rules").c_cppHighlightRules;
         
     | 
| 
      
 774 
     | 
    
         
            +
             
     | 
| 
      
 775 
     | 
    
         
            +
            var glslHighlightRules = function() {
         
     | 
| 
      
 776 
     | 
    
         
            +
             
     | 
| 
      
 777 
     | 
    
         
            +
                var keywords = lang.arrayToMap(
         
     | 
| 
      
 778 
     | 
    
         
            +
                    ("attribute|const|uniform|varying|break|continue|do|for|while|" +
         
     | 
| 
      
 779 
     | 
    
         
            +
                    "if|else|in|out|inout|float|int|void|bool|true|false|" +
         
     | 
| 
      
 780 
     | 
    
         
            +
                    "lowp|mediump|highp|precision|invariant|discard|return|mat2|mat3|" +
         
     | 
| 
      
 781 
     | 
    
         
            +
                    "mat4|vec2|vec3|vec4|ivec2|ivec3|ivec4|bvec2|bvec3|bvec4|sampler2D|" +
         
     | 
| 
      
 782 
     | 
    
         
            +
                    "samplerCube|struct").split("|")
         
     | 
| 
      
 783 
     | 
    
         
            +
                );
         
     | 
| 
      
 784 
     | 
    
         
            +
             
     | 
| 
      
 785 
     | 
    
         
            +
                var buildinConstants = lang.arrayToMap(
         
     | 
| 
      
 786 
     | 
    
         
            +
                    ("radians|degrees|sin|cos|tan|asin|acos|atan|pow|" +
         
     | 
| 
      
 787 
     | 
    
         
            +
                    "exp|log|exp2|log2|sqrt|inversesqrt|abs|sign|floor|ceil|fract|mod|" +
         
     | 
| 
      
 788 
     | 
    
         
            +
                    "min|max|clamp|mix|step|smoothstep|length|distance|dot|cross|" +
         
     | 
| 
      
 789 
     | 
    
         
            +
                    "normalize|faceforward|reflect|refract|matrixCompMult|lessThan|" +
         
     | 
| 
      
 790 
     | 
    
         
            +
                    "lessThanEqual|greaterThan|greaterThanEqual|equal|notEqual|any|all|" +
         
     | 
| 
      
 791 
     | 
    
         
            +
                    "not|dFdx|dFdy|fwidth|texture2D|texture2DProj|texture2DLod|" +
         
     | 
| 
      
 792 
     | 
    
         
            +
                    "texture2DProjLod|textureCube|textureCubeLod|" +
         
     | 
| 
      
 793 
     | 
    
         
            +
                    "gl_MaxVertexAttribs|gl_MaxVertexUniformVectors|gl_MaxVaryingVectors|" +
         
     | 
| 
      
 794 
     | 
    
         
            +
                    "gl_MaxVertexTextureImageUnits|gl_MaxCombinedTextureImageUnits|" +
         
     | 
| 
      
 795 
     | 
    
         
            +
                    "gl_MaxTextureImageUnits|gl_MaxFragmentUniformVectors|gl_MaxDrawBuffers|" +
         
     | 
| 
      
 796 
     | 
    
         
            +
                    "gl_DepthRangeParameters|gl_DepthRange|" +
         
     | 
| 
      
 797 
     | 
    
         
            +
                    // The following two are only for MIME x-shader/x-vertex.
         
     | 
| 
      
 798 
     | 
    
         
            +
                    "gl_Position|gl_PointSize|" +
         
     | 
| 
      
 799 
     | 
    
         
            +
                    // The following five are only for MIME x-shader/x-fragment.
         
     | 
| 
      
 800 
     | 
    
         
            +
                    "gl_FragCoord|gl_FrontFacing|gl_PointCoord|gl_FragColor|gl_FragData").split("|")
         
     | 
| 
      
 801 
     | 
    
         
            +
                );
         
     | 
| 
      
 802 
     | 
    
         
            +
             
     | 
| 
      
 803 
     | 
    
         
            +
                this.$rules = new c_cppHighlightRules().$rules;
         
     | 
| 
      
 804 
     | 
    
         
            +
                this.$rules.start.forEach(function(rule) {
         
     | 
| 
      
 805 
     | 
    
         
            +
            		if (typeof rule.token == "function")
         
     | 
| 
      
 806 
     | 
    
         
            +
            			rule.token = function(value) {
         
     | 
| 
      
 807 
     | 
    
         
            +
            				if (value == "this")
         
     | 
| 
      
 808 
     | 
    
         
            +
            					return "variable.language";
         
     | 
| 
      
 809 
     | 
    
         
            +
            				else if (keywords.hasOwnProperty(value))
         
     | 
| 
      
 810 
     | 
    
         
            +
            					return "keyword";
         
     | 
| 
      
 811 
     | 
    
         
            +
            				else if (buildinConstants.hasOwnProperty(value))
         
     | 
| 
      
 812 
     | 
    
         
            +
            					return "constant.language";
         
     | 
| 
      
 813 
     | 
    
         
            +
            				else
         
     | 
| 
      
 814 
     | 
    
         
            +
            					return "identifier";
         
     | 
| 
      
 815 
     | 
    
         
            +
            			};
         
     | 
| 
      
 816 
     | 
    
         
            +
                })
         
     | 
| 
      
 817 
     | 
    
         
            +
            };
         
     | 
| 
      
 818 
     | 
    
         
            +
             
     | 
| 
      
 819 
     | 
    
         
            +
            oop.inherits(glslHighlightRules, c_cppHighlightRules);
         
     | 
| 
      
 820 
     | 
    
         
            +
             
     | 
| 
      
 821 
     | 
    
         
            +
            exports.glslHighlightRules = glslHighlightRules;
         
     | 
| 
      
 822 
     | 
    
         
            +
            });
         
     |