James Allen пре 12 година
родитељ
комит
a7cab5bf4f
100 измењених фајлова са 4 додато и 46768 уклоњено
  1. 4 13
      services/web/public/js/ace/ext-language_tools.js
  2. 0 5397
      services/web/public/js/ace/src/ace.js
  3. 0 335
      services/web/public/js/ace/src/ext-beautify.js
  4. 0 542
      services/web/public/js/ace/src/ext-chromevox.js
  5. 0 276
      services/web/public/js/ace/src/ext-elastic_tabstops_lite.js
  6. 0 1168
      services/web/public/js/ace/src/ext-emmet.js
  7. 0 6
      services/web/public/js/ace/src/ext-error_marker.js
  8. 0 180
      services/web/public/js/ace/src/ext-keybinding_menu.js
  9. 0 1813
      services/web/public/js/ace/src/ext-language_tools.js
  10. 0 53
      services/web/public/js/ace/src/ext-linking.js
  11. 0 178
      services/web/public/js/ace/src/ext-modelist.js
  12. 0 478
      services/web/public/js/ace/src/ext-old_ie.js
  13. 0 393
      services/web/public/js/ace/src/ext-searchbox.js
  14. 0 622
      services/web/public/js/ace/src/ext-settings_menu.js
  15. 0 72
      services/web/public/js/ace/src/ext-spellcheck.js
  16. 0 247
      services/web/public/js/ace/src/ext-split.js
  17. 0 153
      services/web/public/js/ace/src/ext-static_highlight.js
  18. 0 53
      services/web/public/js/ace/src/ext-statusbar.js
  19. 0 621
      services/web/public/js/ace/src/ext-textarea.js
  20. 0 59
      services/web/public/js/ace/src/ext-themelist.js
  21. 0 179
      services/web/public/js/ace/src/ext-whitespace.js
  22. 0 1070
      services/web/public/js/ace/src/keybinding-emacs.js
  23. 0 1758
      services/web/public/js/ace/src/keybinding-vim.js
  24. 0 230
      services/web/public/js/ace/src/mode-abap.js
  25. 0 12
      services/web/public/js/ace/src/mode-actionscript.js
  26. 0 87
      services/web/public/js/ace/src/mode-ada.js
  27. 0 310
      services/web/public/js/ace/src/mode-apache_conf.js
  28. 0 226
      services/web/public/js/ace/src/mode-applescript.js
  29. 0 342
      services/web/public/js/ace/src/mode-asciidoc.js
  30. 0 10
      services/web/public/js/ace/src/mode-assembly_x86.js
  31. 0 8
      services/web/public/js/ace/src/mode-autohotkey.js
  32. 0 177
      services/web/public/js/ace/src/mode-batchfile.js
  33. 0 275
      services/web/public/js/ace/src/mode-c9search.js
  34. 0 50
      services/web/public/js/ace/src/mode-c_cpp.js
  35. 0 202
      services/web/public/js/ace/src/mode-cirru.js
  36. 0 306
      services/web/public/js/ace/src/mode-clojure.js
  37. 0 94
      services/web/public/js/ace/src/mode-cobol.js
  38. 0 412
      services/web/public/js/ace/src/mode-coffee.js
  39. 0 942
      services/web/public/js/ace/src/mode-coldfusion.js
  40. 0 798
      services/web/public/js/ace/src/mode-csharp.js
  41. 0 6
      services/web/public/js/ace/src/mode-css.js
  42. 0 942
      services/web/public/js/ace/src/mode-curly.js
  43. 0 461
      services/web/public/js/ace/src/mode-d.js
  44. 0 50
      services/web/public/js/ace/src/mode-dart.js
  45. 0 139
      services/web/public/js/ace/src/mode-diff.js
  46. 0 942
      services/web/public/js/ace/src/mode-django.js
  47. 0 700
      services/web/public/js/ace/src/mode-dockerfile.js
  48. 0 361
      services/web/public/js/ace/src/mode-dot.js
  49. 0 6
      services/web/public/js/ace/src/mode-ejs.js
  50. 0 956
      services/web/public/js/ace/src/mode-erlang.js
  51. 0 244
      services/web/public/js/ace/src/mode-forth.js
  52. 0 6
      services/web/public/js/ace/src/mode-ftl.js
  53. 0 129
      services/web/public/js/ace/src/mode-gherkin.js
  54. 0 50
      services/web/public/js/ace/src/mode-gitignore.js
  55. 0 50
      services/web/public/js/ace/src/mode-glsl.js
  56. 0 701
      services/web/public/js/ace/src/mode-golang.js
  57. 0 1127
      services/web/public/js/ace/src/mode-groovy.js
  58. 0 464
      services/web/public/js/ace/src/mode-haml.js
  59. 0 942
      services/web/public/js/ace/src/mode-handlebars.js
  60. 0 326
      services/web/public/js/ace/src/mode-haskell.js
  61. 0 687
      services/web/public/js/ace/src/mode-haxe.js
  62. 0 942
      services/web/public/js/ace/src/mode-html.js
  63. 0 6
      services/web/public/js/ace/src/mode-html_ruby.js
  64. 0 154
      services/web/public/js/ace/src/mode-ini.js
  65. 0 652
      services/web/public/js/ace/src/mode-jack.js
  66. 0 572
      services/web/public/js/ace/src/mode-jade.js
  67. 0 1082
      services/web/public/js/ace/src/mode-java.js
  68. 0 935
      services/web/public/js/ace/src/mode-javascript.js
  69. 0 624
      services/web/public/js/ace/src/mode-json.js
  70. 0 1523
      services/web/public/js/ace/src/mode-jsoniq.js
  71. 0 6
      services/web/public/js/ace/src/mode-jsp.js
  72. 0 712
      services/web/public/js/ace/src/mode-jsx.js
  73. 0 250
      services/web/public/js/ace/src/mode-julia.js
  74. 0 190
      services/web/public/js/ace/src/mode-latex.js
  75. 0 853
      services/web/public/js/ace/src/mode-less.js
  76. 0 6
      services/web/public/js/ace/src/mode-liquid.js
  77. 0 104
      services/web/public/js/ace/src/mode-lisp.js
  78. 0 289
      services/web/public/js/ace/src/mode-livescript.js
  79. 0 668
      services/web/public/js/ace/src/mode-logiql.js
  80. 0 11
      services/web/public/js/ace/src/mode-lsl.js
  81. 0 426
      services/web/public/js/ace/src/mode-lua.js
  82. 0 942
      services/web/public/js/ace/src/mode-luapage.js
  83. 0 69
      services/web/public/js/ace/src/mode-lucene.js
  84. 0 298
      services/web/public/js/ace/src/mode-makefile.js
  85. 0 1551
      services/web/public/js/ace/src/mode-markdown.js
  86. 0 199
      services/web/public/js/ace/src/mode-matlab.js
  87. 0 14
      services/web/public/js/ace/src/mode-mel.js
  88. 0 674
      services/web/public/js/ace/src/mode-mushcode.js
  89. 0 53
      services/web/public/js/ace/src/mode-mysql.js
  90. 0 50
      services/web/public/js/ace/src/mode-nix.js
  91. 0 50
      services/web/public/js/ace/src/mode-objectivec.js
  92. 0 414
      services/web/public/js/ace/src/mode-ocaml.js
  93. 0 197
      services/web/public/js/ace/src/mode-pascal.js
  94. 0 328
      services/web/public/js/ace/src/mode-perl.js
  95. 0 1328
      services/web/public/js/ace/src/mode-pgsql.js
  96. 0 50
      services/web/public/js/ace/src/mode-php.js
  97. 0 25
      services/web/public/js/ace/src/mode-plain_text.js
  98. 0 695
      services/web/public/js/ace/src/mode-powershell.js
  99. 0 318
      services/web/public/js/ace/src/mode-prolog.js
  100. 0 72
      services/web/public/js/ace/src/mode-properties.js

+ 4 - 13
services/web/public/js/ace/ext-language_tools.js

@@ -1218,7 +1218,7 @@ exports.parForEach = function(array, fn, callback) {
     }
 };
 
-var ID_REGEX = /[\\a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;
+var ID_REGEX = /[a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;
 
 exports.retrievePrecedingIdentifier = function(text, pos, regex) {
     regex = regex || ID_REGEX;
@@ -1229,9 +1229,7 @@ exports.retrievePrecedingIdentifier = function(text, pos, regex) {
         else
             break;
     }
-    var frag = buf.reverse().join("");
-    console.log("NATIVE FRAGMENT", frag, buf, regex, text.slice(pos - 10, pos));
-    return frag;
+    return buf.reverse().join("");
 };
 
 exports.retrieveFollowingIdentifier = function(text, pos, regex) {
@@ -1259,7 +1257,7 @@ var lang = require("./lib/lang");
 var snippetManager = require("./snippets").snippetManager;
 
 var Autocomplete = function() {
-    this.autoInsert = false;
+    this.autoInsert = true;
     this.autoSelect = true;
     this.keyboardHandler = new HashHandler();
     this.keyboardHandler.bindKeys(this.commands);
@@ -1417,7 +1415,6 @@ var Autocomplete = function() {
     };
 
     this.gatherCompletions = function(editor, callback) {
-        console.log("gatherCompletions");
         var session = editor.getSession();
         var pos = editor.getCursorPosition();
 
@@ -1434,7 +1431,6 @@ var Autocomplete = function() {
                     matches = matches.concat(results);
                 var pos = editor.getCursorPosition();
                 var line = session.getLine(pos.row);
-                console.log("IN COMPLETER", results)
                 callback(null, {
                     prefix: util.retrievePrecedingIdentifier(line, pos.column, results[0] && results[0].identifierRegex),
                     matches: matches,
@@ -1487,12 +1483,9 @@ var Autocomplete = function() {
         this.gatherCompletions(this.editor, function(err, results) {
             var detachIfFinished = function() {
                 if (!results.finished) return;
-                console.log("DETACHING");
                 return this.detach();
             }.bind(this);
 
-            console.log("UPDATE COMPLETIONS CALLBACK", results)
-
             var prefix = results.prefix;
             var matches = results && results.matches;
             
@@ -1511,7 +1504,6 @@ var Autocomplete = function() {
             if (this.autoInsert && filtered.length == 1)
                 return this.insertMatch(filtered[0]);
 
-            console.log("opening pop up", prefix, keepPopupPosition);
             this.openPopup(this.editor, prefix, keepPopupPosition);
         }.bind(this));
     };
@@ -1527,7 +1519,7 @@ Autocomplete.startCommand = {
     exec: function(editor) {
         if (!editor.completer)
             editor.completer = new Autocomplete();
-        editor.completer.autoInsert = false;
+        editor.completer.autoInsert = 
         editor.completer.autoSelect = true;
         editor.completer.showPopup(editor);
         editor.completer.cancelContextMenu();
@@ -1738,7 +1730,6 @@ var loadSnippetFile = function(id) {
 };
 
 function getCompletionPrefix(editor) {
-    console.log("getCompletionPrefix");
     var pos = editor.getCursorPosition();
     var line = editor.session.getLine(pos.row);
     var prefix = util.retrievePrecedingIdentifier(line, pos.column);

Разлика између датотеке није приказан због своје велике величине
+ 0 - 5397
services/web/public/js/ace/src/ace.js


+ 0 - 335
services/web/public/js/ace/src/ext-beautify.js

@@ -1,335 +0,0 @@
-define("ace/ext/beautify/php_rules",["require","exports","module","ace/token_iterator"], function(require, exports, module) {
-"use strict";
-var TokenIterator = require("ace/token_iterator").TokenIterator;
-exports.newLines = [{
-    type: 'support.php_tag',
-    value: '<?php'
-}, {
-    type: 'support.php_tag',
-    value: '<?'
-}, {
-    type: 'support.php_tag',
-    value: '?>'
-}, {
-    type: 'paren.lparen',
-    value: '{',
-    indent: true
-}, {
-    type: 'paren.rparen',
-    breakBefore: true,
-    value: '}',
-    indent: false
-}, {
-    type: 'paren.rparen',
-    breakBefore: true,
-    value: '})',
-    indent: false,
-    dontBreak: true
-}, {
-    type: 'comment'
-}, {
-    type: 'text',
-    value: ';'
-}, {
-    type: 'text',
-    value: ':',
-    context: 'php'
-}, {
-    type: 'keyword',
-    value: 'case',
-    indent: true,
-    dontBreak: true
-}, {
-    type: 'keyword',
-    value: 'default',
-    indent: true,
-    dontBreak: true
-}, {
-    type: 'keyword',
-    value: 'break',
-    indent: false,
-    dontBreak: true
-}, {
-    type: 'punctuation.doctype.end',
-    value: '>'
-}, {
-    type: 'meta.tag.punctuation.end',
-    value: '>'
-}, {
-    type: 'meta.tag.punctuation.begin',
-    value: '<',
-    blockTag: true,
-    indent: true,
-    dontBreak: true
-}, {
-    type: 'meta.tag.punctuation.begin',
-    value: '</',
-    indent: false,
-    breakBefore: true,
-    dontBreak: true
-}, {
-    type: 'punctuation.operator',
-    value: ';'
-}];
-
-exports.spaces = [{
-    type: 'xml-pe',
-    prepend: true
-},{
-    type: 'entity.other.attribute-name',
-    prepend: true
-}, {
-    type: 'storage.type',
-    value: 'var',
-    append: true
-}, {
-    type: 'storage.type',
-    value: 'function',
-    append: true
-}, {
-    type: 'keyword.operator',
-    value: '='
-}, {
-    type: 'keyword',
-    value: 'as',
-    prepend: true,
-    append: true
-}, {
-    type: 'keyword',
-    value: 'function',
-    append: true
-}, {
-    type: 'support.function',
-    next: /[^\(]/,
-    append: true
-}, {
-    type: 'keyword',
-    value: 'or',
-    append: true,
-    prepend: true
-}, {
-    type: 'keyword',
-    value: 'and',
-    append: true,
-    prepend: true
-}, {
-    type: 'keyword',
-    value: 'case',
-    append: true
-}, {
-    type: 'keyword.operator',
-    value: '||',
-    append: true,
-    prepend: true
-}, {
-    type: 'keyword.operator',
-    value: '&&',
-    append: true,
-    prepend: true
-}];
-exports.singleTags = ['!doctype','area','base','br','hr','input','img','link','meta'];
-
-exports.transform = function(iterator, maxPos, context) {
-    var token = iterator.getCurrentToken();
-    
-    var newLines = exports.newLines;
-    var spaces = exports.spaces;
-    var singleTags = exports.singleTags;
-
-    var code = '';
-    
-    var indentation = 0;
-    var dontBreak = false;
-    var tag;
-    var lastTag;
-    var lastToken = {};
-    var nextTag;
-    var nextToken = {};
-    var breakAdded = false;
-    var value = '';
-
-    while (token!==null) {
-        console.log(token);
-
-        if( !token ){
-            token = iterator.stepForward();
-            continue;
-        }
-        if( token.type == 'support.php_tag' && token.value != '?>' ){
-            context = 'php';
-        }
-        else if( token.type == 'support.php_tag' && token.value == '?>' ){
-            context = 'html';
-        }
-        else if( token.type == 'meta.tag.name.style' && context != 'css' ){
-            context = 'css';
-        }
-        else if( token.type == 'meta.tag.name.style' && context == 'css' ){
-            context = 'html';
-        }
-        else if( token.type == 'meta.tag.name.script' && context != 'js' ){
-            context = 'js';
-        }
-        else if( token.type == 'meta.tag.name.script' && context == 'js' ){
-            context = 'html';
-        }
-
-        nextToken = iterator.stepForward();
-        if (nextToken && nextToken.type.indexOf('meta.tag.name') == 0) {
-            nextTag = nextToken.value;
-        }
-        if ( lastToken.type == 'support.php_tag' && lastToken.value == '<?=') {
-            dontBreak = true;
-        }
-        if (token.type == 'meta.tag.name') {
-            token.value = token.value.toLowerCase();
-        }
-        if (token.type == 'text') {
-            token.value = token.value.trim();
-        }
-        if (!token.value) {
-            token = nextToken;
-            continue;
-        }
-        value = token.value;
-        for (var i in spaces) {
-            if (
-                token.type == spaces[i].type &&
-                (!spaces[i].value || token.value == spaces[i].value) &&
-                (
-                    nextToken &&
-                    (!spaces[i].next || spaces[i].next.test(nextToken.value))
-                )
-            ) {
-                if (spaces[i].prepend) {
-                    value = ' ' + token.value;
-                }
-
-                if (spaces[i].append) {
-                    value += ' ';
-                }
-            }
-        }
-        if (token.type.indexOf('meta.tag.name') == 0) {
-            tag = token.value;
-        }
-        breakAdded = false;
-        for (i in newLines) {
-            if (
-                token.type == newLines[i].type &&
-                (
-                    !newLines[i].value ||
-                    token.value == newLines[i].value
-                ) &&
-                (
-                    !newLines[i].blockTag ||
-                    singleTags.indexOf(nextTag) === -1
-                ) &&
-                (
-                    !newLines[i].context ||
-                    newLines[i].context === context
-                )
-            ) {
-                if (newLines[i].indent === false) {
-                    indentation--;
-                }
-
-                if (
-                    newLines[i].breakBefore &&
-                    ( !newLines[i].prev || newLines[i].prev.test(lastToken.value) )
-                ) {
-                    code += "\n";
-                    breakAdded = true;
-                    for (i = 0; i < indentation; i++) {
-                        code += "\t";
-                    }
-                }
-
-                break;
-            }
-        }
-
-        if (dontBreak===false) {
-            for (i in newLines) {
-                if (
-                    lastToken.type == newLines[i].type &&
-                    (
-                        !newLines[i].value || lastToken.value == newLines[i].value
-                    ) &&
-                    (
-                        !newLines[i].blockTag ||
-                        singleTags.indexOf(tag) === -1
-                    ) &&
-                    (
-                        !newLines[i].context ||
-                        newLines[i].context === context
-                    )
-                ) {
-                    if (newLines[i].indent === true) {
-                        indentation++;
-                    }
-
-                    if (!newLines[i].dontBreak  && !breakAdded) {
-                        code += "\n";
-                        for (i = 0; i < indentation; i++) {
-                            code += "\t";
-                        }
-                    }
-
-                    break;
-                }
-            }
-        }
-
-        code += value;
-        if ( lastToken.type == 'support.php_tag' && lastToken.value == '?>' ) {
-            dontBreak = false;
-        }
-        lastTag = tag;
-
-        lastToken = token;
-
-        token = nextToken;
-
-        if (token===null) {
-            break;
-        }
-    }
-    
-    return code;
-};
-
-
-
-});
-
-define("ace/ext/beautify",["require","exports","module","ace/token_iterator","ace/ext/beautify/php_rules"], function(require, exports, module) {
-"use strict";
-var TokenIterator = require("ace/token_iterator").TokenIterator;
-
-var phpTransform = require("./beautify/php_rules").transform;
-
-exports.beautify = function(session) {
-    var iterator = new TokenIterator(session, 0, 0);
-    var token = iterator.getCurrentToken();
-
-    var context = session.$modeId.split("/").pop();
-
-    var code = phpTransform(iterator, context);
-    session.doc.setValue(code);
-};
-
-exports.commands = [{
-    name: "beautify",
-    exec: function(editor) {
-        exports.beautify(editor.session);
-    },
-    bindKey: "Ctrl-Shift-B"
-}]
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/beautify"], function() {});
-                })();
-            

+ 0 - 542
services/web/public/js/ace/src/ext-chromevox.js

@@ -1,542 +0,0 @@
-define("ace/ext/chromevox",["require","exports","module","ace/editor","ace/config"], function(require, exports, module) {
-var cvoxAce = {};
-cvoxAce.SpeechProperty;
-cvoxAce.Cursor;
-cvoxAce.Token;
-cvoxAce.Annotation;
-var CONSTANT_PROP = {
-  'rate': 0.8,
-  'pitch': 0.4,
-  'volume': 0.9
-};
-var DEFAULT_PROP = {
-  'rate': 1,
-  'pitch': 0.5,
-  'volume': 0.9
-};
-var ENTITY_PROP = {
-  'rate': 0.8,
-  'pitch': 0.8,
-  'volume': 0.9
-};
-var KEYWORD_PROP = {
-  'rate': 0.8,
-  'pitch': 0.3,
-  'volume': 0.9
-};
-var STORAGE_PROP = {
-  'rate': 0.8,
-  'pitch': 0.7,
-  'volume': 0.9
-};
-var VARIABLE_PROP = {
-  'rate': 0.8,
-  'pitch': 0.8,
-  'volume': 0.9
-};
-var DELETED_PROP = {
-  'punctuationEcho': 'none',
-  'relativePitch': -0.6
-};
-var ERROR_EARCON = 'ALERT_NONMODAL';
-var MODE_SWITCH_EARCON = 'ALERT_MODAL';
-var NO_MATCH_EARCON = 'INVALID_KEYPRESS';
-var INSERT_MODE_STATE = 'insertMode';
-var COMMAND_MODE_STATE = 'start';
-
-var REPLACE_LIST = [
-  {
-    substr: ';',
-    newSubstr: ' semicolon '
-  },
-  {
-    substr: ':',
-    newSubstr: ' colon '
-  }
-];
-var Command = {
-  SPEAK_ANNOT: 'annots',
-  SPEAK_ALL_ANNOTS: 'all_annots',
-  TOGGLE_LOCATION: 'toggle_location',
-  SPEAK_MODE: 'mode',
-  SPEAK_ROW_COL: 'row_col',
-  TOGGLE_DISPLACEMENT: 'toggle_displacement',
-  FOCUS_TEXT: 'focus_text'
-};
-var KEY_PREFIX = 'CONTROL + SHIFT ';
-cvoxAce.editor = null;
-var lastCursor = null;
-var annotTable = {};
-var shouldSpeakRowLocation = false;
-var shouldSpeakDisplacement = false;
-var changed = false;
-var vimState = null;
-var keyCodeToShortcutMap = {};
-var cmdToShortcutMap = {};
-var getKeyShortcutString = function(keyCode) {
-  return KEY_PREFIX + String.fromCharCode(keyCode);
-};
-var isVimMode = function() {
-  var keyboardHandler = cvoxAce.editor.keyBinding.getKeyboardHandler();
-  return keyboardHandler.$id === 'ace/keyboard/vim';
-};
-var getCurrentToken = function(cursor) {
-  return cvoxAce.editor.getSession().getTokenAt(cursor.row, cursor.column + 1);
-};
-var getCurrentLine = function(cursor) {
-  return cvoxAce.editor.getSession().getLine(cursor.row);
-};
-var onRowChange = function(currCursor) {
-  if (annotTable[currCursor.row]) {
-    cvox.Api.playEarcon(ERROR_EARCON);
-  }
-  if (shouldSpeakRowLocation) {
-    cvox.Api.stop();
-    speakChar(currCursor);
-    speakTokenQueue(getCurrentToken(currCursor));
-    speakLine(currCursor.row, 1);
-  } else {
-    speakLine(currCursor.row, 0);
-  }
-};
-var isWord = function(cursor) {
-  var line = getCurrentLine(cursor);
-  var lineSuffix = line.substr(cursor.column - 1);
-  if (cursor.column === 0) {
-    lineSuffix = ' ' + line;
-  }
-  var firstWordRegExp = /^\W(\w+)/;
-  var words = firstWordRegExp.exec(lineSuffix);
-  return words !== null;
-};
-var rules = {
-  'constant': {
-    prop: CONSTANT_PROP
-  },
-  'entity': {
-    prop: ENTITY_PROP
-  },
-  'keyword': {
-    prop: KEYWORD_PROP
-  },
-  'storage': {
-    prop: STORAGE_PROP
-  },
-  'variable': {
-    prop: VARIABLE_PROP
-  },
-  'meta': {
-    prop: DEFAULT_PROP,
-    replace: [
-      {
-        substr: '</',
-        newSubstr: ' closing tag '
-      },
-      {
-        substr: '/>',
-        newSubstr: ' close tag '
-      },
-      {
-        substr: '<',
-        newSubstr: ' tag start '
-      },
-      {
-        substr: '>',
-        newSubstr: ' tag end '
-      }
-    ]
-  }
-};
-var DEFAULT_RULE = {
-  prop: DEFAULT_RULE
-};
-var expand = function(value, replaceRules) {
-  var newValue = value;
-  for (var i = 0; i < replaceRules.length; i++) {
-    var replaceRule = replaceRules[i];
-    var regexp = new RegExp(replaceRule.substr, 'g');
-    newValue = newValue.replace(regexp, replaceRule.newSubstr);
-  }
-  return newValue;
-};
-var mergeTokens = function(tokens, start, end) {
-  var newToken = {};
-  newToken.value = '';
-  newToken.type = tokens[start].type;
-  for (var j = start; j < end; j++) {
-    newToken.value += tokens[j].value;
-  }
-  return newToken;
-};
-var mergeLikeTokens = function(tokens) {
-  if (tokens.length <= 1) {
-    return tokens;
-  }
-  var newTokens = [];
-  var lastLikeIndex = 0;
-  for (var i = 1; i < tokens.length; i++) {
-    var lastLikeToken = tokens[lastLikeIndex];
-    var currToken = tokens[i];
-    if (getTokenRule(lastLikeToken) !== getTokenRule(currToken)) {
-      newTokens.push(mergeTokens(tokens, lastLikeIndex, i));
-      lastLikeIndex = i;
-    }
-  }
-  newTokens.push(mergeTokens(tokens, lastLikeIndex, tokens.length));
-  return newTokens;
-};
-var isRowWhiteSpace = function(row) {
-  var line = cvoxAce.editor.getSession().getLine(row);
-  var whiteSpaceRegexp = /^\s*$/;
-  return whiteSpaceRegexp.exec(line) !== null;
-};
-var speakLine = function(row, queue) {
-  var tokens = cvoxAce.editor.getSession().getTokens(row);
-  if (tokens.length === 0 || isRowWhiteSpace(row)) {
-    cvox.Api.playEarcon('EDITABLE_TEXT');
-    return;
-  }
-  tokens = mergeLikeTokens(tokens);
-  var firstToken = tokens[0];
-  tokens = tokens.filter(function(token) {
-    return token !== firstToken;
-  });
-  speakToken_(firstToken, queue);
-  tokens.forEach(speakTokenQueue);
-};
-var speakTokenFlush = function(token) {
-  speakToken_(token, 0);
-};
-var speakTokenQueue = function(token) {
-  speakToken_(token, 1);
-};
-var getTokenRule = function(token) {
-  if (!token || !token.type) {
-    return;
-  }
-  var split = token.type.split('.');
-  if (split.length === 0) {
-    return;
-  }
-  var type = split[0];
-  var rule = rules[type];
-  if (!rule) {
-    return DEFAULT_RULE;
-  }
-  return rule;
-};
-var speakToken_ = function(token, queue) {
-  var rule = getTokenRule(token);
-  var value = expand(token.value, REPLACE_LIST);
-  if (rule.replace) {
-    value = expand(value, rule.replace);
-  }
-  cvox.Api.speak(value, queue, rule.prop);
-};
-var speakChar = function(cursor) {
-  var line = getCurrentLine(cursor);
-  cvox.Api.speak(line[cursor.column], 1);
-};
-var speakDisplacement = function(lastCursor, currCursor) {
-  var line = getCurrentLine(currCursor);
-  var displace = line.substring(lastCursor.column, currCursor.column);
-  displace = displace.replace(/ /g, ' space ');
-  cvox.Api.speak(displace);
-};
-var speakCharOrWordOrLine = function(lastCursor, currCursor) {
-  if (Math.abs(lastCursor.column - currCursor.column) !== 1) {
-    var currLineLength = getCurrentLine(currCursor).length;
-    if (currCursor.column === 0 || currCursor.column === currLineLength) {
-      speakLine(currCursor.row, 0);
-      return;
-    }
-    if (isWord(currCursor)) {
-      cvox.Api.stop();
-      speakTokenQueue(getCurrentToken(currCursor));
-      return;
-    }
-  }
-  speakChar(currCursor);
-};
-var onColumnChange = function(lastCursor, currCursor) {
-  if (!cvoxAce.editor.selection.isEmpty()) {
-    speakDisplacement(lastCursor, currCursor);
-    cvox.Api.speak('selected', 1);
-  }
-  else if (shouldSpeakDisplacement) {
-    speakDisplacement(lastCursor, currCursor);
-  } else {
-    speakCharOrWordOrLine(lastCursor, currCursor);
-  }
-};
-var onCursorChange = function(evt) {
-  if (changed) {
-    changed = false;
-    return;
-  }
-  var currCursor = cvoxAce.editor.selection.getCursor();
-  if (currCursor.row !== lastCursor.row) {
-    onRowChange(currCursor);
-  } else {
-    onColumnChange(lastCursor, currCursor);
-  }
-  lastCursor = currCursor;
-};
-var onSelectionChange = function(evt) {
-  if (cvoxAce.editor.selection.isEmpty()) {
-    cvox.Api.speak('unselected');
-  }
-};
-var onChange = function(evt) {
-  var data = evt.data;
-  switch (data.action) {
-  case 'removeText':
-    cvox.Api.speak(data.text, 0, DELETED_PROP);
-    changed = true;
-    break;
-  case 'insertText':
-    cvox.Api.speak(data.text, 0);
-    changed = true;
-    break;
-  }
-};
-var isNewAnnotation = function(annot) {
-  var row = annot.row;
-  var col = annot.column;
-  return !annotTable[row] || !annotTable[row][col];
-};
-var populateAnnotations = function(annotations) {
-  annotTable = {};
-  for (var i = 0; i < annotations.length; i++) {
-    var annotation = annotations[i];
-    var row = annotation.row;
-    var col = annotation.column;
-    if (!annotTable[row]) {
-      annotTable[row] = {};
-    }
-    annotTable[row][col] = annotation;
-  }
-};
-var onAnnotationChange = function(evt) {
-  var annotations = cvoxAce.editor.getSession().getAnnotations();
-  var newAnnotations = annotations.filter(isNewAnnotation);
-  if (newAnnotations.length > 0) {
-    cvox.Api.playEarcon(ERROR_EARCON);
-  }
-  populateAnnotations(annotations);
-};
-var speakAnnot = function(annot) {
-  var annotText = annot.type + ' ' + annot.text + ' on ' +
-      rowColToString(annot.row, annot.column);
-  annotText = annotText.replace(';', 'semicolon');
-  cvox.Api.speak(annotText, 1);
-};
-var speakAnnotsByRow = function(row) {
-  var annots = annotTable[row];
-  for (var col in annots) {
-    speakAnnot(annots[col]);
-  }
-};
-var rowColToString = function(row, col) {
-  return 'row ' + (row + 1) + ' column ' + (col + 1);
-};
-var speakCurrRowAndCol = function() {
-  cvox.Api.speak(rowColToString(lastCursor.row, lastCursor.column));
-};
-var speakAllAnnots = function() {
-  for (var row in annotTable) {
-    speakAnnotsByRow(row);
-  }
-};
-var speakMode = function() {
-  if (!isVimMode()) {
-    return;
-  }
-  switch (cvoxAce.editor.keyBinding.$data.state) {
-  case INSERT_MODE_STATE:
-    cvox.Api.speak('Insert mode');
-    break;
-  case COMMAND_MODE_STATE:
-    cvox.Api.speak('Command mode');
-    break;
-  }
-};
-var toggleSpeakRowLocation = function() {
-  shouldSpeakRowLocation = !shouldSpeakRowLocation;
-  if (shouldSpeakRowLocation) {
-    cvox.Api.speak('Speak location on row change enabled.');
-  } else {
-    cvox.Api.speak('Speak location on row change disabled.');
-  }
-};
-var toggleSpeakDisplacement = function() {
-  shouldSpeakDisplacement = !shouldSpeakDisplacement;
-  if (shouldSpeakDisplacement) {
-    cvox.Api.speak('Speak displacement on column changes.');
-  } else {
-    cvox.Api.speak('Speak current character or word on column changes.');
-  }
-};
-var onKeyDown = function(evt) {
-  if (evt.ctrlKey && evt.shiftKey) {
-    var shortcut = keyCodeToShortcutMap[evt.keyCode];
-    if (shortcut) {
-      shortcut.func();
-    }
-  }
-};
-var onChangeStatus = function(evt, editor) {
-  if (!isVimMode()) {
-    return;
-  }
-  var state = editor.keyBinding.$data.state;
-  if (state === vimState) {
-    return;
-  }
-  switch (state) {
-  case INSERT_MODE_STATE:
-    cvox.Api.playEarcon(MODE_SWITCH_EARCON);
-    cvox.Api.setKeyEcho(true);
-    break;
-  case COMMAND_MODE_STATE:
-    cvox.Api.playEarcon(MODE_SWITCH_EARCON);
-    cvox.Api.setKeyEcho(false);
-    break;
-  }
-  vimState = state;
-};
-var contextMenuHandler = function(evt) {
-  var cmd = evt.detail['customCommand'];
-  var shortcut = cmdToShortcutMap[cmd];
-  if (shortcut) {
-    shortcut.func();
-    cvoxAce.editor.focus();
-  }
-};
-var initContextMenu = function() {
-  var ACTIONS = SHORTCUTS.map(function(shortcut) {
-    return {
-      desc: shortcut.desc + getKeyShortcutString(shortcut.keyCode),
-      cmd: shortcut.cmd
-    };
-  });
-  var body = document.querySelector('body');
-  body.setAttribute('contextMenuActions', JSON.stringify(ACTIONS));
-  body.addEventListener('ATCustomEvent', contextMenuHandler, true);
-};
-var onFindSearchbox = function(evt) {
-  if (evt.match) {
-    speakLine(lastCursor.row, 0);
-  } else {
-    cvox.Api.playEarcon(NO_MATCH_EARCON);
-  }
-};
-var focus = function() {
-  cvoxAce.editor.focus();
-};
-var SHORTCUTS = [
-  {
-    keyCode: 49,
-    func: function() {
-      speakAnnotsByRow(lastCursor.row);
-    },
-    cmd: Command.SPEAK_ANNOT,
-    desc: 'Speak annotations on line'
-  },
-  {
-    keyCode: 50,
-    func: speakAllAnnots,
-    cmd: Command.SPEAK_ALL_ANNOTS,
-    desc: 'Speak all annotations'
-  },
-  {
-    keyCode: 51,
-    func: speakMode,
-    cmd: Command.SPEAK_MODE,
-    desc: 'Speak Vim mode'
-  },
-  {
-    keyCode: 52,
-    func: toggleSpeakRowLocation,
-    cmd: Command.TOGGLE_LOCATION,
-    desc: 'Toggle speak row location'
-  },
-  {
-    keyCode: 53,
-    func: speakCurrRowAndCol,
-    cmd: Command.SPEAK_ROW_COL,
-    desc: 'Speak row and column'
-  },
-  {
-    keyCode: 54,
-    func: toggleSpeakDisplacement,
-    cmd: Command.TOGGLE_DISPLACEMENT,
-    desc: 'Toggle speak displacement'
-  },
-  {
-    keyCode: 55,
-    func: focus,
-    cmd: Command.FOCUS_TEXT,
-    desc: 'Focus text'
-  }
-];
-var onFocus = function() {
-  cvoxAce.editor = editor;
-  editor.getSession().selection.on('changeCursor', onCursorChange);
-  editor.getSession().selection.on('changeSelection', onSelectionChange);
-  editor.getSession().on('change', onChange);
-  editor.getSession().on('changeAnnotation', onAnnotationChange);
-  editor.on('changeStatus', onChangeStatus);
-  editor.on('findSearchBox', onFindSearchbox);
-  editor.container.addEventListener('keydown', onKeyDown);
-
-  lastCursor = editor.selection.getCursor();
-};
-var init = function(editor) {
-  onFocus();
-  SHORTCUTS.forEach(function(shortcut) {
-    keyCodeToShortcutMap[shortcut.keyCode] = shortcut;
-    cmdToShortcutMap[shortcut.cmd] = shortcut;
-  });
-
-  editor.on('focus', onFocus);
-  if (isVimMode()) {
-    cvox.Api.setKeyEcho(false);
-  }
-  initContextMenu();
-};
-function cvoxApiExists() {
-  return (typeof(cvox) !== 'undefined') && cvox && cvox.Api;
-}
-var tries = 0;
-var MAX_TRIES = 15;
-function watchForCvoxLoad(editor) {
-  if (cvoxApiExists()) {
-    init(editor);
-  } else {
-    tries++;
-    if (tries >= MAX_TRIES) {
-      return;
-    }
-    window.setTimeout(watchForCvoxLoad, 500, editor);
-  }
-}
-
-var Editor = require('../editor').Editor;
-require('../config').defineOptions(Editor.prototype, 'editor', {
-  enableChromevoxEnhancements: {
-    set: function(val) {
-      if (val) {
-        watchForCvoxLoad(this);
-      }
-    },
-    value: true // turn it on by default or check for window.cvox
-  }
-});
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/chromevox"], function() {});
-                })();
-            

+ 0 - 276
services/web/public/js/ace/src/ext-elastic_tabstops_lite.js

@@ -1,276 +0,0 @@
-define("ace/ext/elastic_tabstops_lite",["require","exports","module","ace/editor","ace/config"], function(require, exports, module) {
-"use strict";
-
-var ElasticTabstopsLite = function(editor) {
-    this.$editor = editor;
-    var self = this;
-    var changedRows = [];
-    var recordChanges = false;
-    this.onAfterExec = function() {
-        recordChanges = false;
-        self.processRows(changedRows);
-        changedRows = [];
-    };
-    this.onExec = function() {
-        recordChanges = true;
-    };
-    this.onChange = function(e) {
-        var range = e.data.range
-        if (recordChanges) {
-            if (changedRows.indexOf(range.start.row) == -1)
-                changedRows.push(range.start.row);
-            if (range.end.row != range.start.row)
-                changedRows.push(range.end.row);
-        }
-    };
-};
-
-(function() {
-    this.processRows = function(rows) {
-        this.$inChange = true;
-        var checkedRows = [];
-
-        for (var r = 0, rowCount = rows.length; r < rowCount; r++) {
-            var row = rows[r];
-
-            if (checkedRows.indexOf(row) > -1)
-                continue;
-
-            var cellWidthObj = this.$findCellWidthsForBlock(row);
-            var cellWidths = this.$setBlockCellWidthsToMax(cellWidthObj.cellWidths);
-            var rowIndex = cellWidthObj.firstRow;
-
-            for (var w = 0, l = cellWidths.length; w < l; w++) {
-                var widths = cellWidths[w];
-                checkedRows.push(rowIndex);
-                this.$adjustRow(rowIndex, widths);
-                rowIndex++;
-            }
-        }
-        this.$inChange = false;
-    };
-
-    this.$findCellWidthsForBlock = function(row) {
-        var cellWidths = [], widths;
-        var rowIter = row;
-        while (rowIter >= 0) {
-            widths = this.$cellWidthsForRow(rowIter);
-            if (widths.length == 0)
-                break;
-
-            cellWidths.unshift(widths);
-            rowIter--;
-        }
-        var firstRow = rowIter + 1;
-        rowIter = row;
-        var numRows = this.$editor.session.getLength();
-
-        while (rowIter < numRows - 1) {
-            rowIter++;
-
-            widths = this.$cellWidthsForRow(rowIter);
-            if (widths.length == 0)
-                break;
-
-            cellWidths.push(widths);
-        }
-
-        return { cellWidths: cellWidths, firstRow: firstRow };
-    };
-
-    this.$cellWidthsForRow = function(row) {
-        var selectionColumns = this.$selectionColumnsForRow(row);
-
-        var tabs = [-1].concat(this.$tabsForRow(row));
-        var widths = tabs.map(function(el) { return 0; } ).slice(1);
-        var line = this.$editor.session.getLine(row);
-
-        for (var i = 0, len = tabs.length - 1; i < len; i++) {
-            var leftEdge = tabs[i]+1;
-            var rightEdge = tabs[i+1];
-
-            var rightmostSelection = this.$rightmostSelectionInCell(selectionColumns, rightEdge);
-            var cell = line.substring(leftEdge, rightEdge);
-            widths[i] = Math.max(cell.replace(/\s+$/g,'').length, rightmostSelection - leftEdge);
-        }
-
-        return widths;
-    };
-
-    this.$selectionColumnsForRow = function(row) {
-        var selections = [], cursor = this.$editor.getCursorPosition();
-        if (this.$editor.session.getSelection().isEmpty()) {
-            if (row == cursor.row)
-                selections.push(cursor.column);
-        }
-
-        return selections;
-    };
-
-    this.$setBlockCellWidthsToMax = function(cellWidths) {
-        var startingNewBlock = true, blockStartRow, blockEndRow, maxWidth;
-        var columnInfo = this.$izip_longest(cellWidths);
-
-        for (var c = 0, l = columnInfo.length; c < l; c++) {
-            var column = columnInfo[c];
-            if (!column.push) {
-                console.error(column);
-                continue;
-            }
-            column.push(NaN);
-
-            for (var r = 0, s = column.length; r < s; r++) {
-                var width = column[r];
-                if (startingNewBlock) {
-                    blockStartRow = r;
-                    maxWidth = 0;
-                    startingNewBlock = false;
-                }
-                if (isNaN(width)) {
-                    blockEndRow = r;
-
-                    for (var j = blockStartRow; j < blockEndRow; j++) {
-                        cellWidths[j][c] = maxWidth;
-                    }
-                    startingNewBlock = true;
-                }
-
-                maxWidth = Math.max(maxWidth, width);
-            }
-        }
-
-        return cellWidths;
-    };
-
-    this.$rightmostSelectionInCell = function(selectionColumns, cellRightEdge) {
-        var rightmost = 0;
-
-        if (selectionColumns.length) {
-            var lengths = [];
-            for (var s = 0, length = selectionColumns.length; s < length; s++) {
-                if (selectionColumns[s] <= cellRightEdge)
-                    lengths.push(s);
-                else
-                    lengths.push(0);
-            }
-            rightmost = Math.max.apply(Math, lengths);
-        }
-
-        return rightmost;
-    };
-
-    this.$tabsForRow = function(row) {
-        var rowTabs = [], line = this.$editor.session.getLine(row),
-            re = /\t/g, match;
-
-        while ((match = re.exec(line)) != null) {
-            rowTabs.push(match.index);
-        }
-
-        return rowTabs;
-    };
-
-    this.$adjustRow = function(row, widths) {
-        var rowTabs = this.$tabsForRow(row);
-
-        if (rowTabs.length == 0)
-            return;
-
-        var bias = 0, location = -1;
-        var expandedSet = this.$izip(widths, rowTabs);
-
-        for (var i = 0, l = expandedSet.length; i < l; i++) {
-            var w = expandedSet[i][0], it = expandedSet[i][1];
-            location += 1 + w;
-            it += bias;
-            var difference = location - it;
-
-            if (difference == 0)
-                continue;
-
-            var partialLine = this.$editor.session.getLine(row).substr(0, it );
-            var strippedPartialLine = partialLine.replace(/\s*$/g, "");
-            var ispaces = partialLine.length - strippedPartialLine.length;
-
-            if (difference > 0) {
-                this.$editor.session.getDocument().insertInLine({row: row, column: it + 1}, Array(difference + 1).join(" ") + "\t");
-                this.$editor.session.getDocument().removeInLine(row, it, it + 1);
-
-                bias += difference;
-            }
-
-            if (difference < 0 && ispaces >= -difference) {
-                this.$editor.session.getDocument().removeInLine(row, it + difference, it);
-                bias += difference;
-            }
-        }
-    };
-    this.$izip_longest = function(iterables) {
-        if (!iterables[0])
-            return [];
-        var longest = iterables[0].length;
-        var iterablesLength = iterables.length;
-
-        for (var i = 1; i < iterablesLength; i++) {
-            var iLength = iterables[i].length;
-            if (iLength > longest)
-                longest = iLength;
-        }
-
-        var expandedSet = [];
-
-        for (var l = 0; l < longest; l++) {
-            var set = [];
-            for (var i = 0; i < iterablesLength; i++) {
-                if (iterables[i][l] === "")
-                    set.push(NaN);
-                else
-                    set.push(iterables[i][l]);
-            }
-
-            expandedSet.push(set);
-        }
-
-
-        return expandedSet;
-    };
-    this.$izip = function(widths, tabs) {
-        var size = widths.length >= tabs.length ? tabs.length : widths.length;
-
-        var expandedSet = [];
-        for (var i = 0; i < size; i++) {
-            var set = [ widths[i], tabs[i] ];
-            expandedSet.push(set);
-        }
-        return expandedSet;
-    };
-
-}).call(ElasticTabstopsLite.prototype);
-
-exports.ElasticTabstopsLite = ElasticTabstopsLite;
-
-var Editor = require("../editor").Editor;
-require("../config").defineOptions(Editor.prototype, "editor", {
-    useElasticTabstops: {
-        set: function(val) {
-            if (val) {
-                if (!this.elasticTabstops)
-                    this.elasticTabstops = new ElasticTabstopsLite(this);
-                this.commands.on("afterExec", this.elasticTabstops.onAfterExec);
-                this.commands.on("exec", this.elasticTabstops.onExec);
-                this.on("change", this.elasticTabstops.onChange);
-            } else if (this.elasticTabstops) {
-                this.commands.removeListener("afterExec", this.elasticTabstops.onAfterExec);
-                this.commands.removeListener("exec", this.elasticTabstops.onExec);
-                this.removeListener("change", this.elasticTabstops.onChange);
-            }
-        }
-    }
-});
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/elastic_tabstops_lite"], function() {});
-                })();
-            

+ 0 - 1168
services/web/public/js/ace/src/ext-emmet.js

@@ -1,1168 +0,0 @@
-define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"], function(require, exports, module) {
-"use strict";
-var oop = require("./lib/oop");
-var EventEmitter = require("./lib/event_emitter").EventEmitter;
-var lang = require("./lib/lang");
-var Range = require("./range").Range;
-var Anchor = require("./anchor").Anchor;
-var HashHandler = require("./keyboard/hash_handler").HashHandler;
-var Tokenizer = require("./tokenizer").Tokenizer;
-var comparePoints = Range.comparePoints;
-
-var SnippetManager = function() {
-    this.snippetMap = {};
-    this.snippetNameMap = {};
-};
-
-(function() {
-    oop.implement(this, EventEmitter);
-    
-    this.getTokenizer = function() {
-        function TabstopToken(str, _, stack) {
-            str = str.substr(1);
-            if (/^\d+$/.test(str) && !stack.inFormatString)
-                return [{tabstopId: parseInt(str, 10)}];
-            return [{text: str}];
-        }
-        function escape(ch) {
-            return "(?:[^\\\\" + ch + "]|\\\\.)";
-        }
-        SnippetManager.$tokenizer = new Tokenizer({
-            start: [
-                {regex: /:/, onMatch: function(val, state, stack) {
-                    if (stack.length && stack[0].expectIf) {
-                        stack[0].expectIf = false;
-                        stack[0].elseBranch = stack[0];
-                        return [stack[0]];
-                    }
-                    return ":";
-                }},
-                {regex: /\\./, onMatch: function(val, state, stack) {
-                    var ch = val[1];
-                    if (ch == "}" && stack.length) {
-                        val = ch;
-                    }else if ("`$\\".indexOf(ch) != -1) {
-                        val = ch;
-                    } else if (stack.inFormatString) {
-                        if (ch == "n")
-                            val = "\n";
-                        else if (ch == "t")
-                            val = "\n";
-                        else if ("ulULE".indexOf(ch) != -1) {
-                            val = {changeCase: ch, local: ch > "a"};
-                        }
-                    }
-
-                    return [val];
-                }},
-                {regex: /}/, onMatch: function(val, state, stack) {
-                    return [stack.length ? stack.shift() : val];
-                }},
-                {regex: /\$(?:\d+|\w+)/, onMatch: TabstopToken},
-                {regex: /\$\{[\dA-Z_a-z]+/, onMatch: function(str, state, stack) {
-                    var t = TabstopToken(str.substr(1), state, stack);
-                    stack.unshift(t[0]);
-                    return t;
-                }, next: "snippetVar"},
-                {regex: /\n/, token: "newline", merge: false}
-            ],
-            snippetVar: [
-                {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
-                    stack[0].choices = val.slice(1, -1).split(",");
-                }, next: "start"},
-                {regex: "/(" + escape("/") + "+)/(?:(" + escape("/") + "*)/)(\\w*):?",
-                 onMatch: function(val, state, stack) {
-                    var ts = stack[0];
-                    ts.fmtString = val;
-
-                    val = this.splitRegex.exec(val);
-                    ts.guard = val[1];
-                    ts.fmt = val[2];
-                    ts.flag = val[3];
-                    return "";
-                }, next: "start"},
-                {regex: "`" + escape("`") + "*`", onMatch: function(val, state, stack) {
-                    stack[0].code = val.splice(1, -1);
-                    return "";
-                }, next: "start"},
-                {regex: "\\?", onMatch: function(val, state, stack) {
-                    if (stack[0])
-                        stack[0].expectIf = true;
-                }, next: "start"},
-                {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "start"}
-            ],
-            formatString: [
-                {regex: "/(" + escape("/") + "+)/", token: "regex"},
-                {regex: "", onMatch: function(val, state, stack) {
-                    stack.inFormatString = true;
-                }, next: "start"}
-            ]
-        });
-        SnippetManager.prototype.getTokenizer = function() {
-            return SnippetManager.$tokenizer;
-        };
-        return SnippetManager.$tokenizer;
-    };
-
-    this.tokenizeTmSnippet = function(str, startState) {
-        return this.getTokenizer().getLineTokens(str, startState).tokens.map(function(x) {
-            return x.value || x;
-        });
-    };
-
-    this.$getDefaultValue = function(editor, name) {
-        if (/^[A-Z]\d+$/.test(name)) {
-            var i = name.substr(1);
-            return (this.variables[name[0] + "__"] || {})[i];
-        }
-        if (/^\d+$/.test(name)) {
-            return (this.variables.__ || {})[name];
-        }
-        name = name.replace(/^TM_/, "");
-
-        if (!editor)
-            return;
-        var s = editor.session;
-        switch(name) {
-            case "CURRENT_WORD":
-                var r = s.getWordRange();
-            case "SELECTION":
-            case "SELECTED_TEXT":
-                return s.getTextRange(r);
-            case "CURRENT_LINE":
-                return s.getLine(editor.getCursorPosition().row);
-            case "PREV_LINE": // not possible in textmate
-                return s.getLine(editor.getCursorPosition().row - 1);
-            case "LINE_INDEX":
-                return editor.getCursorPosition().column;
-            case "LINE_NUMBER":
-                return editor.getCursorPosition().row + 1;
-            case "SOFT_TABS":
-                return s.getUseSoftTabs() ? "YES" : "NO";
-            case "TAB_SIZE":
-                return s.getTabSize();
-            case "FILENAME":
-            case "FILEPATH":
-                return "";
-            case "FULLNAME":
-                return "Ace";
-        }
-    };
-    this.variables = {};
-    this.getVariableValue = function(editor, varName) {
-        if (this.variables.hasOwnProperty(varName))
-            return this.variables[varName](editor, varName) || "";
-        return this.$getDefaultValue(editor, varName) || "";
-    };
-    this.tmStrFormat = function(str, ch, editor) {
-        var flag = ch.flag || "";
-        var re = ch.guard;
-        re = new RegExp(re, flag.replace(/[^gi]/, ""));
-        var fmtTokens = this.tokenizeTmSnippet(ch.fmt, "formatString");
-        var _self = this;
-        var formatted = str.replace(re, function() {
-            _self.variables.__ = arguments;
-            var fmtParts = _self.resolveVariables(fmtTokens, editor);
-            var gChangeCase = "E";
-            for (var i  = 0; i < fmtParts.length; i++) {
-                var ch = fmtParts[i];
-                if (typeof ch == "object") {
-                    fmtParts[i] = "";
-                    if (ch.changeCase && ch.local) {
-                        var next = fmtParts[i + 1];
-                        if (next && typeof next == "string") {
-                            if (ch.changeCase == "u")
-                                fmtParts[i] = next[0].toUpperCase();
-                            else
-                                fmtParts[i] = next[0].toLowerCase();
-                            fmtParts[i + 1] = next.substr(1);
-                        }
-                    } else if (ch.changeCase) {
-                        gChangeCase = ch.changeCase;
-                    }
-                } else if (gChangeCase == "U") {
-                    fmtParts[i] = ch.toUpperCase();
-                } else if (gChangeCase == "L") {
-                    fmtParts[i] = ch.toLowerCase();
-                }
-            }
-            return fmtParts.join("");
-        });
-        this.variables.__ = null;
-        return formatted;
-    };
-
-    this.resolveVariables = function(snippet, editor) {
-        var result = [];
-        for (var i = 0; i < snippet.length; i++) {
-            var ch = snippet[i];
-            if (typeof ch == "string") {
-                result.push(ch);
-            } else if (typeof ch != "object") {
-                continue;
-            } else if (ch.skip) {
-                gotoNext(ch);
-            } else if (ch.processed < i) {
-                continue;
-            } else if (ch.text) {
-                var value = this.getVariableValue(editor, ch.text);
-                if (value && ch.fmtString)
-                    value = this.tmStrFormat(value, ch);
-                ch.processed = i;
-                if (ch.expectIf == null) {
-                    if (value) {
-                        result.push(value);
-                        gotoNext(ch);
-                    }
-                } else {
-                    if (value) {
-                        ch.skip = ch.elseBranch;
-                    } else
-                        gotoNext(ch);
-                }
-            } else if (ch.tabstopId != null) {
-                result.push(ch);
-            } else if (ch.changeCase != null) {
-                result.push(ch);
-            }
-        }
-        function gotoNext(ch) {
-            var i1 = snippet.indexOf(ch, i + 1);
-            if (i1 != -1)
-                i = i1;
-        }
-        return result;
-    };
-
-    this.insertSnippetForSelection = function(editor, snippetText) {
-        var cursor = editor.getCursorPosition();
-        var line = editor.session.getLine(cursor.row);
-        var tabString = editor.session.getTabString();
-        var indentString = line.match(/^\s*/)[0];
-        
-        if (cursor.column < indentString.length)
-            indentString = indentString.slice(0, cursor.column);
-
-        var tokens = this.tokenizeTmSnippet(snippetText);
-        tokens = this.resolveVariables(tokens, editor);
-        tokens = tokens.map(function(x) {
-            if (x == "\n")
-                return x + indentString;
-            if (typeof x == "string")
-                return x.replace(/\t/g, tabString);
-            return x;
-        });
-        var tabstops = [];
-        tokens.forEach(function(p, i) {
-            if (typeof p != "object")
-                return;
-            var id = p.tabstopId;
-            var ts = tabstops[id];
-            if (!ts) {
-                ts = tabstops[id] = [];
-                ts.index = id;
-                ts.value = "";
-            }
-            if (ts.indexOf(p) !== -1)
-                return;
-            ts.push(p);
-            var i1 = tokens.indexOf(p, i + 1);
-            if (i1 === -1)
-                return;
-
-            var value = tokens.slice(i + 1, i1);
-            var isNested = value.some(function(t) {return typeof t === "object"});          
-            if (isNested && !ts.value) {
-                ts.value = value;
-            } else if (value.length && (!ts.value || typeof ts.value !== "string")) {
-                ts.value = value.join("");
-            }
-        });
-        tabstops.forEach(function(ts) {ts.length = 0});
-        var expanding = {};
-        function copyValue(val) {
-            var copy = [];
-            for (var i = 0; i < val.length; i++) {
-                var p = val[i];
-                if (typeof p == "object") {
-                    if (expanding[p.tabstopId])
-                        continue;
-                    var j = val.lastIndexOf(p, i - 1);
-                    p = copy[j] || {tabstopId: p.tabstopId};
-                }
-                copy[i] = p;
-            }
-            return copy;
-        }
-        for (var i = 0; i < tokens.length; i++) {
-            var p = tokens[i];
-            if (typeof p != "object")
-                continue;
-            var id = p.tabstopId;
-            var i1 = tokens.indexOf(p, i + 1);
-            if (expanding[id]) {
-                if (expanding[id] === p)
-                    expanding[id] = null;
-                continue;
-            }
-            
-            var ts = tabstops[id];
-            var arg = typeof ts.value == "string" ? [ts.value] : copyValue(ts.value);
-            arg.unshift(i + 1, Math.max(0, i1 - i));
-            arg.push(p);
-            expanding[id] = p;
-            tokens.splice.apply(tokens, arg);
-
-            if (ts.indexOf(p) === -1)
-                ts.push(p);
-        }
-        var row = 0, column = 0;
-        var text = "";
-        tokens.forEach(function(t) {
-            if (typeof t === "string") {
-                if (t[0] === "\n"){
-                    column = t.length - 1;
-                    row ++;
-                } else
-                    column += t.length;
-                text += t;
-            } else {
-                if (!t.start)
-                    t.start = {row: row, column: column};
-                else
-                    t.end = {row: row, column: column};
-            }
-        });
-        var range = editor.getSelectionRange();
-        var end = editor.session.replace(range, text);
-
-        var tabstopManager = new TabstopManager(editor);
-        var selectionId = editor.inVirtualSelectionMode && editor.selection.index;
-        tabstopManager.addTabstops(tabstops, range.start, end, selectionId);
-    };
-    
-    this.insertSnippet = function(editor, snippetText) {
-        var self = this;
-        if (editor.inVirtualSelectionMode)
-            return self.insertSnippetForSelection(editor, snippetText);
-        
-        editor.forEachSelection(function() {
-            self.insertSnippetForSelection(editor, snippetText);
-        }, null, {keepOrder: true});
-        
-        if (editor.tabstopManager)
-            editor.tabstopManager.tabNext();
-    };
-
-    this.$getScope = function(editor) {
-        var scope = editor.session.$mode.$id || "";
-        scope = scope.split("/").pop();
-        if (scope === "html" || scope === "php") {
-            if (scope === "php" && !editor.session.$mode.inlinePhp) 
-                scope = "html";
-            var c = editor.getCursorPosition();
-            var state = editor.session.getState(c.row);
-            if (typeof state === "object") {
-                state = state[0];
-            }
-            if (state.substring) {
-                if (state.substring(0, 3) == "js-")
-                    scope = "javascript";
-                else if (state.substring(0, 4) == "css-")
-                    scope = "css";
-                else if (state.substring(0, 4) == "php-")
-                    scope = "php";
-            }
-        }
-        
-        return scope;
-    };
-
-    this.getActiveScopes = function(editor) {
-        var scope = this.$getScope(editor);
-        var scopes = [scope];
-        var snippetMap = this.snippetMap;
-        if (snippetMap[scope] && snippetMap[scope].includeScopes) {
-            scopes.push.apply(scopes, snippetMap[scope].includeScopes);
-        }
-        scopes.push("_");
-        return scopes;
-    };
-
-    this.expandWithTab = function(editor, options) {
-        var self = this;
-        var result = editor.forEachSelection(function() {
-            return self.expandSnippetForSelection(editor, options);
-        }, null, {keepOrder: true});
-        if (result && editor.tabstopManager)
-            editor.tabstopManager.tabNext();
-        return result;
-    };
-    
-    this.expandSnippetForSelection = function(editor, options) {
-        var cursor = editor.getCursorPosition();
-        var line = editor.session.getLine(cursor.row);
-        var before = line.substring(0, cursor.column);
-        var after = line.substr(cursor.column);
-
-        var snippetMap = this.snippetMap;
-        var snippet;
-        this.getActiveScopes(editor).some(function(scope) {
-            var snippets = snippetMap[scope];
-            if (snippets)
-                snippet = this.findMatchingSnippet(snippets, before, after);
-            return !!snippet;
-        }, this);
-        if (!snippet)
-            return false;
-        if (options && options.dryRun)
-            return true;
-        editor.session.doc.removeInLine(cursor.row,
-            cursor.column - snippet.replaceBefore.length,
-            cursor.column + snippet.replaceAfter.length
-        );
-
-        this.variables.M__ = snippet.matchBefore;
-        this.variables.T__ = snippet.matchAfter;
-        this.insertSnippetForSelection(editor, snippet.content);
-
-        this.variables.M__ = this.variables.T__ = null;
-        return true;
-    };
-
-    this.findMatchingSnippet = function(snippetList, before, after) {
-        for (var i = snippetList.length; i--;) {
-            var s = snippetList[i];
-            if (s.startRe && !s.startRe.test(before))
-                continue;
-            if (s.endRe && !s.endRe.test(after))
-                continue;
-            if (!s.startRe && !s.endRe)
-                continue;
-
-            s.matchBefore = s.startRe ? s.startRe.exec(before) : [""];
-            s.matchAfter = s.endRe ? s.endRe.exec(after) : [""];
-            s.replaceBefore = s.triggerRe ? s.triggerRe.exec(before)[0] : "";
-            s.replaceAfter = s.endTriggerRe ? s.endTriggerRe.exec(after)[0] : "";
-            return s;
-        }
-    };
-
-    this.snippetMap = {};
-    this.snippetNameMap = {};
-    this.register = function(snippets, scope) {
-        var snippetMap = this.snippetMap;
-        var snippetNameMap = this.snippetNameMap;
-        var self = this;
-        function wrapRegexp(src) {
-            if (src && !/^\^?\(.*\)\$?$|^\\b$/.test(src))
-                src = "(?:" + src + ")";
-
-            return src || "";
-        }
-        function guardedRegexp(re, guard, opening) {
-            re = wrapRegexp(re);
-            guard = wrapRegexp(guard);
-            if (opening) {
-                re = guard + re;
-                if (re && re[re.length - 1] != "$")
-                    re = re + "$";
-            } else {
-                re = re + guard;
-                if (re && re[0] != "^")
-                    re = "^" + re;
-            }
-            return new RegExp(re);
-        }
-
-        function addSnippet(s) {
-            if (!s.scope)
-                s.scope = scope || "_";
-            scope = s.scope;
-            if (!snippetMap[scope]) {
-                snippetMap[scope] = [];
-                snippetNameMap[scope] = {};
-            }
-
-            var map = snippetNameMap[scope];
-            if (s.name) {
-                var old = map[s.name];
-                if (old)
-                    self.unregister(old);
-                map[s.name] = s;
-            }
-            snippetMap[scope].push(s);
-
-            if (s.tabTrigger && !s.trigger) {
-                if (!s.guard && /^\w/.test(s.tabTrigger))
-                    s.guard = "\\b";
-                s.trigger = lang.escapeRegExp(s.tabTrigger);
-            }
-
-            s.startRe = guardedRegexp(s.trigger, s.guard, true);
-            s.triggerRe = new RegExp(s.trigger, "", true);
-
-            s.endRe = guardedRegexp(s.endTrigger, s.endGuard, true);
-            s.endTriggerRe = new RegExp(s.endTrigger, "", true);
-        }
-
-        if (snippets.content)
-            addSnippet(snippets);
-        else if (Array.isArray(snippets))
-            snippets.forEach(addSnippet);
-        
-        this._signal("registerSnippets", {scope: scope});
-    };
-    this.unregister = function(snippets, scope) {
-        var snippetMap = this.snippetMap;
-        var snippetNameMap = this.snippetNameMap;
-
-        function removeSnippet(s) {
-            var nameMap = snippetNameMap[s.scope||scope];
-            if (nameMap && nameMap[s.name]) {
-                delete nameMap[s.name];
-                var map = snippetMap[s.scope||scope];
-                var i = map && map.indexOf(s);
-                if (i >= 0)
-                    map.splice(i, 1);
-            }
-        }
-        if (snippets.content)
-            removeSnippet(snippets);
-        else if (Array.isArray(snippets))
-            snippets.forEach(removeSnippet);
-    };
-    this.parseSnippetFile = function(str) {
-        str = str.replace(/\r/g, "");
-        var list = [], snippet = {};
-        var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
-        var m;
-        while (m = re.exec(str)) {
-            if (m[1]) {
-                try {
-                    snippet = JSON.parse(m[1]);
-                    list.push(snippet);
-                } catch (e) {}
-            } if (m[4]) {
-                snippet.content = m[4].replace(/^\t/gm, "");
-                list.push(snippet);
-                snippet = {};
-            } else {
-                var key = m[2], val = m[3];
-                if (key == "regex") {
-                    var guardRe = /\/((?:[^\/\\]|\\.)*)|$/g;
-                    snippet.guard = guardRe.exec(val)[1];
-                    snippet.trigger = guardRe.exec(val)[1];
-                    snippet.endTrigger = guardRe.exec(val)[1];
-                    snippet.endGuard = guardRe.exec(val)[1];
-                } else if (key == "snippet") {
-                    snippet.tabTrigger = val.match(/^\S*/)[0];
-                    if (!snippet.name)
-                        snippet.name = val;
-                } else {
-                    snippet[key] = val;
-                }
-            }
-        }
-        return list;
-    };
-    this.getSnippetByName = function(name, editor) {
-        var snippetMap = this.snippetNameMap;
-        var snippet;
-        this.getActiveScopes(editor).some(function(scope) {
-            var snippets = snippetMap[scope];
-            if (snippets)
-                snippet = snippets[name];
-            return !!snippet;
-        }, this);
-        return snippet;
-    };
-
-}).call(SnippetManager.prototype);
-
-
-var TabstopManager = function(editor) {
-    if (editor.tabstopManager)
-        return editor.tabstopManager;
-    editor.tabstopManager = this;
-    this.$onChange = this.onChange.bind(this);
-    this.$onChangeSelection = lang.delayedCall(this.onChangeSelection.bind(this)).schedule;
-    this.$onChangeSession = this.onChangeSession.bind(this);
-    this.$onAfterExec = this.onAfterExec.bind(this);
-    this.attach(editor);
-};
-(function() {
-    this.attach = function(editor) {
-        this.index = 0;
-        this.ranges = [];
-        this.tabstops = [];
-        this.$openTabstops = null;
-        this.selectedTabstop = null;
-
-        this.editor = editor;
-        this.editor.on("change", this.$onChange);
-        this.editor.on("changeSelection", this.$onChangeSelection);
-        this.editor.on("changeSession", this.$onChangeSession);
-        this.editor.commands.on("afterExec", this.$onAfterExec);
-        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
-    };
-    this.detach = function() {
-        this.tabstops.forEach(this.removeTabstopMarkers, this);
-        this.ranges = null;
-        this.tabstops = null;
-        this.selectedTabstop = null;
-        this.editor.removeListener("change", this.$onChange);
-        this.editor.removeListener("changeSelection", this.$onChangeSelection);
-        this.editor.removeListener("changeSession", this.$onChangeSession);
-        this.editor.commands.removeListener("afterExec", this.$onAfterExec);
-        this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);
-        this.editor.tabstopManager = null;
-        this.editor = null;
-    };
-
-    this.onChange = function(e) {
-        var changeRange = e.data.range;
-        var isRemove = e.data.action[0] == "r";
-        var start = changeRange.start;
-        var end = changeRange.end;
-        var startRow = start.row;
-        var endRow = end.row;
-        var lineDif = endRow - startRow;
-        var colDiff = end.column - start.column;
-
-        if (isRemove) {
-            lineDif = -lineDif;
-            colDiff = -colDiff;
-        }
-        if (!this.$inChange && isRemove) {
-            var ts = this.selectedTabstop;
-            var changedOutside = ts && !ts.some(function(r) {
-                return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;
-            });
-            if (changedOutside)
-                return this.detach();
-        }
-        var ranges = this.ranges;
-        for (var i = 0; i < ranges.length; i++) {
-            var r = ranges[i];
-            if (r.end.row < start.row)
-                continue;
-
-            if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {
-                this.removeRange(r);
-                i--;
-                continue;
-            }
-
-            if (r.start.row == startRow && r.start.column > start.column)
-                r.start.column += colDiff;
-            if (r.end.row == startRow && r.end.column >= start.column)
-                r.end.column += colDiff;
-            if (r.start.row >= startRow)
-                r.start.row += lineDif;
-            if (r.end.row >= startRow)
-                r.end.row += lineDif;
-
-            if (comparePoints(r.start, r.end) > 0)
-                this.removeRange(r);
-        }
-        if (!ranges.length)
-            this.detach();
-    };
-    this.updateLinkedFields = function() {
-        var ts = this.selectedTabstop;
-        if (!ts || !ts.hasLinkedRanges)
-            return;
-        this.$inChange = true;
-        var session = this.editor.session;
-        var text = session.getTextRange(ts.firstNonLinked);
-        for (var i = ts.length; i--;) {
-            var range = ts[i];
-            if (!range.linked)
-                continue;
-            var fmt = exports.snippetManager.tmStrFormat(text, range.original);
-            session.replace(range, fmt);
-        }
-        this.$inChange = false;
-    };
-    this.onAfterExec = function(e) {
-        if (e.command && !e.command.readOnly)
-            this.updateLinkedFields();
-    };
-    this.onChangeSelection = function() {
-        if (!this.editor)
-            return;
-        var lead = this.editor.selection.lead;
-        var anchor = this.editor.selection.anchor;
-        var isEmpty = this.editor.selection.isEmpty();
-        for (var i = this.ranges.length; i--;) {
-            if (this.ranges[i].linked)
-                continue;
-            var containsLead = this.ranges[i].contains(lead.row, lead.column);
-            var containsAnchor = isEmpty || this.ranges[i].contains(anchor.row, anchor.column);
-            if (containsLead && containsAnchor)
-                return;
-        }
-        this.detach();
-    };
-    this.onChangeSession = function() {
-        this.detach();
-    };
-    this.tabNext = function(dir) {
-        var max = this.tabstops.length;
-        var index = this.index + (dir || 1);
-        index = Math.min(Math.max(index, 1), max);
-        if (index == max)
-            index = 0;
-        this.selectTabstop(index);
-        if (index === 0)
-            this.detach();
-    };
-    this.selectTabstop = function(index) {
-        this.$openTabstops = null;
-        var ts = this.tabstops[this.index];
-        if (ts)
-            this.addTabstopMarkers(ts);
-        this.index = index;
-        ts = this.tabstops[this.index];
-        if (!ts || !ts.length)
-            return;
-        
-        this.selectedTabstop = ts;
-        if (!this.editor.inVirtualSelectionMode) {        
-            var sel = this.editor.multiSelect;
-            sel.toSingleRange(ts.firstNonLinked.clone());
-            for (var i = ts.length; i--;) {
-                if (ts.hasLinkedRanges && ts[i].linked)
-                    continue;
-                sel.addRange(ts[i].clone(), true);
-            }
-            if (sel.ranges[0])
-                sel.addRange(sel.ranges[0].clone());
-        } else {
-            this.editor.selection.setRange(ts.firstNonLinked);
-        }
-        
-        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
-    };
-    this.addTabstops = function(tabstops, start, end) {
-        if (!this.$openTabstops)
-            this.$openTabstops = [];
-        if (!tabstops[0]) {
-            var p = Range.fromPoints(end, end);
-            moveRelative(p.start, start);
-            moveRelative(p.end, start);
-            tabstops[0] = [p];
-            tabstops[0].index = 0;
-        }
-
-        var i = this.index;
-        var arg = [i + 1, 0];
-        var ranges = this.ranges;
-        tabstops.forEach(function(ts, index) {
-            var dest = this.$openTabstops[index] || ts;
-                
-            for (var i = ts.length; i--;) {
-                var p = ts[i];
-                var range = Range.fromPoints(p.start, p.end || p.start);
-                movePoint(range.start, start);
-                movePoint(range.end, start);
-                range.original = p;
-                range.tabstop = dest;
-                ranges.push(range);
-                if (dest != ts)
-                    dest.unshift(range);
-                else
-                    dest[i] = range;
-                if (p.fmtString) {
-                    range.linked = true;
-                    dest.hasLinkedRanges = true;
-                } else if (!dest.firstNonLinked)
-                    dest.firstNonLinked = range;
-            }
-            if (!dest.firstNonLinked)
-                dest.hasLinkedRanges = false;
-            if (dest === ts) {
-                arg.push(dest);
-                this.$openTabstops[index] = dest;
-            }
-            this.addTabstopMarkers(dest);
-        }, this);
-        
-        if (arg.length > 2) {
-            if (this.tabstops.length)
-                arg.push(arg.splice(2, 1)[0]);
-            this.tabstops.splice.apply(this.tabstops, arg);
-        }
-    };
-
-    this.addTabstopMarkers = function(ts) {
-        var session = this.editor.session;
-        ts.forEach(function(range) {
-            if  (!range.markerId)
-                range.markerId = session.addMarker(range, "ace_snippet-marker", "text");
-        });
-    };
-    this.removeTabstopMarkers = function(ts) {
-        var session = this.editor.session;
-        ts.forEach(function(range) {
-            session.removeMarker(range.markerId);
-            range.markerId = null;
-        });
-    };
-    this.removeRange = function(range) {
-        var i = range.tabstop.indexOf(range);
-        range.tabstop.splice(i, 1);
-        i = this.ranges.indexOf(range);
-        this.ranges.splice(i, 1);
-        this.editor.session.removeMarker(range.markerId);
-        if (!range.tabstop.length) {
-            i = this.tabstops.indexOf(range.tabstop);
-            if (i != -1)
-                this.tabstops.splice(i, 1);
-            if (!this.tabstops.length)
-                this.detach();
-        }
-    };
-
-    this.keyboardHandler = new HashHandler();
-    this.keyboardHandler.bindKeys({
-        "Tab": function(ed) {
-            if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {
-                return;
-            }
-
-            ed.tabstopManager.tabNext(1);
-        },
-        "Shift-Tab": function(ed) {
-            ed.tabstopManager.tabNext(-1);
-        },
-        "Esc": function(ed) {
-            ed.tabstopManager.detach();
-        },
-        "Return": function(ed) {
-            return false;
-        }
-    });
-}).call(TabstopManager.prototype);
-
-
-
-var changeTracker = {};
-changeTracker.onChange = Anchor.prototype.onChange;
-changeTracker.setPosition = function(row, column) {
-    this.pos.row = row;
-    this.pos.column = column;
-};
-changeTracker.update = function(pos, delta, $insertRight) {
-    this.$insertRight = $insertRight;
-    this.pos = pos; 
-    this.onChange(delta);
-};
-
-var movePoint = function(point, diff) {
-    if (point.row == 0)
-        point.column += diff.column;
-    point.row += diff.row;
-};
-
-var moveRelative = function(point, start) {
-    if (point.row == start.row)
-        point.column -= start.column;
-    point.row -= start.row;
-};
-
-
-require("./lib/dom").importCssString("\
-.ace_snippet-marker {\
-    -moz-box-sizing: border-box;\
-    box-sizing: border-box;\
-    background: rgba(194, 193, 208, 0.09);\
-    border: 1px dotted rgba(211, 208, 235, 0.62);\
-    position: absolute;\
-}");
-
-exports.snippetManager = new SnippetManager();
-
-
-var Editor = require("./editor").Editor;
-(function() {
-    this.insertSnippet = function(content, options) {
-        return exports.snippetManager.insertSnippet(this, content, options);
-    };
-    this.expandSnippet = function(options) {
-        return exports.snippetManager.expandWithTab(this, options);
-    };
-}).call(Editor.prototype);
-
-});
-
-define("ace/ext/emmet",["require","exports","module","ace/keyboard/hash_handler","ace/editor","ace/snippets","ace/range","resources","resources","range","tabStops","resources","utils","actions","ace/config"], function(require, exports, module) {
-"use strict";
-var HashHandler = require("ace/keyboard/hash_handler").HashHandler;
-var Editor = require("ace/editor").Editor;
-var snippetManager = require("ace/snippets").snippetManager;
-var Range = require("ace/range").Range;
-var emmet;
-
-Editor.prototype.indexToPosition = function(index) {
-    return this.session.doc.indexToPosition(index);
-};
-
-Editor.prototype.positionToIndex = function(pos) {
-    return this.session.doc.positionToIndex(pos);
-};
-function AceEmmetEditor() {}
-
-AceEmmetEditor.prototype = {
-    setupContext: function(editor) {
-        this.ace = editor;
-        this.indentation = editor.session.getTabString();
-        if (!emmet)
-            emmet = window.emmet;
-        emmet.require("resources").setVariable("indentation", this.indentation);
-        this.$syntax = null;
-        this.$syntax = this.getSyntax();
-    },
-    getSelectionRange: function() {
-        var range = this.ace.getSelectionRange();
-        return {
-            start: this.ace.positionToIndex(range.start),
-            end: this.ace.positionToIndex(range.end)
-        };
-    },
-    createSelection: function(start, end) {
-        this.ace.selection.setRange({
-            start: this.ace.indexToPosition(start),
-            end: this.ace.indexToPosition(end)
-        });
-    },
-    getCurrentLineRange: function() {
-        var row = this.ace.getCursorPosition().row;
-        var lineLength = this.ace.session.getLine(row).length;
-        var index = this.ace.positionToIndex({row: row, column: 0});
-        return {
-            start: index,
-            end: index + lineLength
-        };
-    },
-    getCaretPos: function(){
-        var pos = this.ace.getCursorPosition();
-        return this.ace.positionToIndex(pos);
-    },
-    setCaretPos: function(index){
-        var pos = this.ace.indexToPosition(index);
-        this.ace.selection.moveToPosition(pos);
-    },
-    getCurrentLine: function() {
-        var row = this.ace.getCursorPosition().row;
-        return this.ace.session.getLine(row);
-    },
-    replaceContent: function(value, start, end, noIndent) {
-        if (end == null)
-            end = start == null ? this.getContent().length : start;
-        if (start == null)
-            start = 0;        
-        
-        var editor = this.ace;
-        var range = Range.fromPoints(editor.indexToPosition(start), editor.indexToPosition(end));
-        editor.session.remove(range);
-        
-        range.end = range.start;
-        
-        value = this.$updateTabstops(value);
-        snippetManager.insertSnippet(editor, value)
-    },
-    getContent: function(){
-        return this.ace.getValue();
-    },
-    getSyntax: function() {
-        if (this.$syntax)
-            return this.$syntax;
-        var syntax = this.ace.session.$modeId.split("/").pop();
-        if (syntax == "html" || syntax == "php") {
-            var cursor = this.ace.getCursorPosition();
-            var state = this.ace.session.getState(cursor.row);
-            if (typeof state != "string")
-                state = state[0];
-            if (state) {
-                state = state.split("-");
-                if (state.length > 1)
-                    syntax = state[0];
-                else if (syntax == "php")
-                    syntax = "html";
-            }
-        }
-        return syntax;
-    },
-    getProfileName: function() {
-        switch(this.getSyntax()) {
-          case "css": return "css";
-          case "xml":
-          case "xsl":
-            return "xml";
-          case "html":
-            var profile = emmet.require("resources").getVariable("profile");
-            if (!profile)
-                profile = this.ace.session.getLines(0,2).join("").search(/<!DOCTYPE[^>]+XHTML/i) != -1 ? "xhtml": "html";
-            return profile;
-        }
-        return "xhtml";
-    },
-    prompt: function(title) {
-        return prompt(title);
-    },
-    getSelection: function() {
-        return this.ace.session.getTextRange();
-    },
-    getFilePath: function() {
-        return "";
-    },
-    $updateTabstops: function(value) {
-        var base = 1000;
-        var zeroBase = 0;
-        var lastZero = null;
-        var range = emmet.require('range');
-        var ts = emmet.require('tabStops');
-        var settings = emmet.require('resources').getVocabulary("user");
-        var tabstopOptions = {
-            tabstop: function(data) {
-                var group = parseInt(data.group, 10);
-                var isZero = group === 0;
-                if (isZero)
-                    group = ++zeroBase;
-                else
-                    group += base;
-
-                var placeholder = data.placeholder;
-                if (placeholder) {
-                    placeholder = ts.processText(placeholder, tabstopOptions);
-                }
-
-                var result = '${' + group + (placeholder ? ':' + placeholder : '') + '}';
-
-                if (isZero) {
-                    lastZero = range.create(data.start, result);
-                }
-
-                return result
-            },
-            escape: function(ch) {
-                if (ch == '$') return '\\$';
-                if (ch == '\\') return '\\\\';
-                return ch;
-            }
-        };
-
-        value = ts.processText(value, tabstopOptions);
-
-        if (settings.variables['insert_final_tabstop'] && !/\$\{0\}$/.test(value)) {
-            value += '${0}';
-        } else if (lastZero) {
-            value = emmet.require('utils').replaceSubstring(value, '${0}', lastZero);
-        }
-        
-        return value;
-    }
-};
-
-
-var keymap = {
-    expand_abbreviation: {"mac": "ctrl+alt+e", "win": "alt+e"},
-    match_pair_outward: {"mac": "ctrl+d", "win": "ctrl+,"},
-    match_pair_inward: {"mac": "ctrl+j", "win": "ctrl+shift+0"},
-    matching_pair: {"mac": "ctrl+alt+j", "win": "alt+j"},
-    next_edit_point: "alt+right",
-    prev_edit_point: "alt+left",
-    toggle_comment: {"mac": "command+/", "win": "ctrl+/"},
-    split_join_tag: {"mac": "shift+command+'", "win": "shift+ctrl+`"},
-    remove_tag: {"mac": "command+'", "win": "shift+ctrl+;"},
-    evaluate_math_expression: {"mac": "shift+command+y", "win": "shift+ctrl+y"},
-    increment_number_by_1: "ctrl+up",
-    decrement_number_by_1: "ctrl+down",
-    increment_number_by_01: "alt+up",
-    decrement_number_by_01: "alt+down",
-    increment_number_by_10: {"mac": "alt+command+up", "win": "shift+alt+up"},
-    decrement_number_by_10: {"mac": "alt+command+down", "win": "shift+alt+down"},
-    select_next_item: {"mac": "shift+command+.", "win": "shift+ctrl+."},
-    select_previous_item: {"mac": "shift+command+,", "win": "shift+ctrl+,"},
-    reflect_css_value: {"mac": "shift+command+r", "win": "shift+ctrl+r"},
-
-    encode_decode_data_url: {"mac": "shift+ctrl+d", "win": "ctrl+'"},
-    expand_abbreviation_with_tab: "Tab",
-    wrap_with_abbreviation: {"mac": "shift+ctrl+a", "win": "shift+ctrl+a"}
-};
-
-var editorProxy = new AceEmmetEditor();
-exports.commands = new HashHandler();
-exports.runEmmetCommand = function(editor) {
-    editorProxy.setupContext(editor);
-    if (editorProxy.getSyntax() == "php")
-        return false;
-    var actions = emmet.require("actions");
-
-    if (this.action == "expand_abbreviation_with_tab") {
-        if (!editor.selection.isEmpty())
-            return false;
-    }
-    
-    if (this.action == "wrap_with_abbreviation") {
-        return setTimeout(function() {
-            actions.run("wrap_with_abbreviation", editorProxy);
-        }, 0);
-    }
-    
-    try {
-        var result = actions.run(this.action, editorProxy);
-    } catch(e) {
-        editor._signal("changeStatus", typeof e == "string" ? e : e.message);
-        console.log(e);
-        result = false
-    }
-    return result;
-};
-
-for (var command in keymap) {
-    exports.commands.addCommand({
-        name: "emmet:" + command,
-        action: command,
-        bindKey: keymap[command],
-        exec: exports.runEmmetCommand,
-        multiSelectAction: "forEach"
-    });
-}
-
-var onChangeMode = function(e, target) {
-    var editor = target;
-    if (!editor)
-        return;
-    var modeId = editor.session.$modeId;
-    var enabled = modeId && /css|less|scss|sass|stylus|html|php/.test(modeId);
-    if (e.enableEmmet === false)
-        enabled = false;
-    if (enabled)
-        editor.keyBinding.addKeyboardHandler(exports.commands);
-    else
-        editor.keyBinding.removeKeyboardHandler(exports.commands);
-};
-
-
-exports.AceEmmetEditor = AceEmmetEditor;
-require("ace/config").defineOptions(Editor.prototype, "editor", {
-    enableEmmet: {
-        set: function(val) {
-            this[val ? "on" : "removeListener"]("changeMode", onChangeMode);
-            onChangeMode({enableEmmet: !!val}, this);
-        },
-        value: true
-    }
-});
-
-
-exports.setCore = function(e) {emmet = e;};
-});
-;
-                (function() {
-                    window.require(["ace/ext/emmet"], function() {});
-                })();
-            

+ 0 - 6
services/web/public/js/ace/src/ext-error_marker.js

@@ -1,6 +0,0 @@
-
-;
-                (function() {
-                    window.require(["ace/ext/error_marker"], function() {});
-                })();
-            

+ 0 - 180
services/web/public/js/ace/src/ext-keybinding_menu.js

@@ -1,180 +0,0 @@
-define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"], function(require, exports, module) {
-'use strict';
-var dom = require("../../lib/dom");
-var cssText = "#ace_settingsmenu, #kbshortcutmenu {\
-background-color: #F7F7F7;\
-color: black;\
-box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);\
-padding: 1em 0.5em 2em 1em;\
-overflow: auto;\
-position: absolute;\
-margin: 0;\
-bottom: 0;\
-right: 0;\
-top: 0;\
-z-index: 9991;\
-cursor: default;\
-}\
-.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {\
-box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);\
-background-color: rgba(255, 255, 255, 0.6);\
-color: black;\
-}\
-.ace_optionsMenuEntry:hover {\
-background-color: rgba(100, 100, 100, 0.1);\
--webkit-transition: all 0.5s;\
-transition: all 0.3s\
-}\
-.ace_closeButton {\
-background: rgba(245, 146, 146, 0.5);\
-border: 1px solid #F48A8A;\
-border-radius: 50%;\
-padding: 7px;\
-position: absolute;\
-right: -8px;\
-top: -8px;\
-z-index: 1000;\
-}\
-.ace_closeButton{\
-background: rgba(245, 146, 146, 0.9);\
-}\
-.ace_optionsMenuKey {\
-color: darkslateblue;\
-font-weight: bold;\
-}\
-.ace_optionsMenuCommand {\
-color: darkcyan;\
-font-weight: normal;\
-}";
-dom.importCssString(cssText);
-module.exports.overlayPage = function overlayPage(editor, contentElement, top, right, bottom, left) {
-    top = top ? 'top: ' + top + ';' : '';
-    bottom = bottom ? 'bottom: ' + bottom + ';' : '';
-    right = right ? 'right: ' + right + ';' : '';
-    left = left ? 'left: ' + left + ';' : '';
-
-    var closer = document.createElement('div');
-    var contentContainer = document.createElement('div');
-
-    function documentEscListener(e) {
-        if (e.keyCode === 27) {
-            closer.click();
-        }
-    }
-
-    closer.style.cssText = 'margin: 0; padding: 0; ' +
-        'position: fixed; top:0; bottom:0; left:0; right:0;' +
-        'z-index: 9990; ' +
-        'background-color: rgba(0, 0, 0, 0.3);';
-    closer.addEventListener('click', function() {
-        document.removeEventListener('keydown', documentEscListener);
-        closer.parentNode.removeChild(closer);
-        editor.focus();
-        closer = null;
-    });
-    document.addEventListener('keydown', documentEscListener);
-
-    contentContainer.style.cssText = top + right + bottom + left;
-    contentContainer.addEventListener('click', function(e) {
-        e.stopPropagation();
-    });
-
-    var wrapper = dom.createElement("div");
-    wrapper.style.position = "relative";
-    
-    var closeButton = dom.createElement("div");
-    closeButton.className = "ace_closeButton";
-    closeButton.addEventListener('click', function() {
-        closer.click();
-    });
-    
-    wrapper.appendChild(closeButton);
-    contentContainer.appendChild(wrapper);
-    
-    contentContainer.appendChild(contentElement);
-    closer.appendChild(contentContainer);
-    document.body.appendChild(closer);
-    editor.blur();
-};
-
-});
-
-define("ace/ext/menu_tools/get_editor_keyboard_shortcuts",["require","exports","module","ace/lib/keys"], function(require, exports, module) {
-"use strict";
-var keys = require("../../lib/keys");
-module.exports.getEditorKeybordShortcuts = function(editor) {
-    var KEY_MODS = keys.KEY_MODS;
-    var keybindings = [];
-    var commandMap = {};
-    editor.keyBinding.$handlers.forEach(function(handler) {
-        var ckb = handler.commandKeyBinding;
-        for (var i in ckb) {
-            var modifier = parseInt(i);
-            if (modifier == -1) {
-                modifier = "";
-            } else if(isNaN(modifier)) {
-                modifier = i;
-            } else {
-                modifier = "" +
-                    (modifier & KEY_MODS.command ? "Cmd-"   : "") +
-                    (modifier & KEY_MODS.ctrl    ? "Ctrl-"  : "") +
-                    (modifier & KEY_MODS.alt     ? "Alt-"   : "") +
-                    (modifier & KEY_MODS.shift   ? "Shift-" : "");
-            }
-            for (var key in ckb[i]) {
-                var command = ckb[i][key]
-                if (typeof command != "string")
-                    command  = command.name
-                if (commandMap[command]) {
-                    commandMap[command].key += "|" + modifier + key;
-                } else {
-                    commandMap[command] = {key: modifier+key, command: command};
-                    keybindings.push(commandMap[command]);
-                }
-            }
-        }
-    });
-    return keybindings;
-};
-
-});
-
-define("ace/ext/keybinding_menu",["require","exports","module","ace/editor","ace/ext/menu_tools/overlay_page","ace/ext/menu_tools/get_editor_keyboard_shortcuts"], function(require, exports, module) {
-    "use strict";
-    var Editor = require("ace/editor").Editor;
-    function showKeyboardShortcuts (editor) {
-        if(!document.getElementById('kbshortcutmenu')) {
-            var overlayPage = require('./menu_tools/overlay_page').overlayPage;
-            var getEditorKeybordShortcuts = require('./menu_tools/get_editor_keyboard_shortcuts').getEditorKeybordShortcuts;
-            var kb = getEditorKeybordShortcuts(editor);
-            var el = document.createElement('div');
-            var commands = kb.reduce(function(previous, current) {
-                return previous + '<div class="ace_optionsMenuEntry"><span class="ace_optionsMenuCommand">' 
-                    + current.command + '</span> : '
-                    + '<span class="ace_optionsMenuKey">' + current.key + '</span></div>';
-            }, '');
-
-            el.id = 'kbshortcutmenu';
-            el.innerHTML = '<h1>Keyboard Shortcuts</h1>' + commands + '</div>';
-            overlayPage(editor, el, '0', '0', '0', null);
-        }
-    };
-    module.exports.init = function(editor) {
-        Editor.prototype.showKeyboardShortcuts = function() {
-            showKeyboardShortcuts(this);
-        };
-        editor.commands.addCommands([{
-            name: "showKeyboardShortcuts",
-            bindKey: {win: "Ctrl-Alt-h", mac: "Command-Alt-h"},
-            exec: function(editor, line) {
-                editor.showKeyboardShortcuts();
-            }
-        }]);
-    };
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/keybinding_menu"], function() {});
-                })();
-            

+ 0 - 1813
services/web/public/js/ace/src/ext-language_tools.js

@@ -1,1813 +0,0 @@
-define("ace/snippets",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/anchor","ace/keyboard/hash_handler","ace/tokenizer","ace/lib/dom","ace/editor"], function(require, exports, module) {
-"use strict";
-var oop = require("./lib/oop");
-var EventEmitter = require("./lib/event_emitter").EventEmitter;
-var lang = require("./lib/lang");
-var Range = require("./range").Range;
-var Anchor = require("./anchor").Anchor;
-var HashHandler = require("./keyboard/hash_handler").HashHandler;
-var Tokenizer = require("./tokenizer").Tokenizer;
-var comparePoints = Range.comparePoints;
-
-var SnippetManager = function() {
-    this.snippetMap = {};
-    this.snippetNameMap = {};
-};
-
-(function() {
-    oop.implement(this, EventEmitter);
-    
-    this.getTokenizer = function() {
-        function TabstopToken(str, _, stack) {
-            str = str.substr(1);
-            if (/^\d+$/.test(str) && !stack.inFormatString)
-                return [{tabstopId: parseInt(str, 10)}];
-            return [{text: str}];
-        }
-        function escape(ch) {
-            return "(?:[^\\\\" + ch + "]|\\\\.)";
-        }
-        SnippetManager.$tokenizer = new Tokenizer({
-            start: [
-                {regex: /:/, onMatch: function(val, state, stack) {
-                    if (stack.length && stack[0].expectIf) {
-                        stack[0].expectIf = false;
-                        stack[0].elseBranch = stack[0];
-                        return [stack[0]];
-                    }
-                    return ":";
-                }},
-                {regex: /\\./, onMatch: function(val, state, stack) {
-                    var ch = val[1];
-                    if (ch == "}" && stack.length) {
-                        val = ch;
-                    }else if ("`$\\".indexOf(ch) != -1) {
-                        val = ch;
-                    } else if (stack.inFormatString) {
-                        if (ch == "n")
-                            val = "\n";
-                        else if (ch == "t")
-                            val = "\n";
-                        else if ("ulULE".indexOf(ch) != -1) {
-                            val = {changeCase: ch, local: ch > "a"};
-                        }
-                    }
-
-                    return [val];
-                }},
-                {regex: /}/, onMatch: function(val, state, stack) {
-                    return [stack.length ? stack.shift() : val];
-                }},
-                {regex: /\$(?:\d+|\w+)/, onMatch: TabstopToken},
-                {regex: /\$\{[\dA-Z_a-z]+/, onMatch: function(str, state, stack) {
-                    var t = TabstopToken(str.substr(1), state, stack);
-                    stack.unshift(t[0]);
-                    return t;
-                }, next: "snippetVar"},
-                {regex: /\n/, token: "newline", merge: false}
-            ],
-            snippetVar: [
-                {regex: "\\|" + escape("\\|") + "*\\|", onMatch: function(val, state, stack) {
-                    stack[0].choices = val.slice(1, -1).split(",");
-                }, next: "start"},
-                {regex: "/(" + escape("/") + "+)/(?:(" + escape("/") + "*)/)(\\w*):?",
-                 onMatch: function(val, state, stack) {
-                    var ts = stack[0];
-                    ts.fmtString = val;
-
-                    val = this.splitRegex.exec(val);
-                    ts.guard = val[1];
-                    ts.fmt = val[2];
-                    ts.flag = val[3];
-                    return "";
-                }, next: "start"},
-                {regex: "`" + escape("`") + "*`", onMatch: function(val, state, stack) {
-                    stack[0].code = val.splice(1, -1);
-                    return "";
-                }, next: "start"},
-                {regex: "\\?", onMatch: function(val, state, stack) {
-                    if (stack[0])
-                        stack[0].expectIf = true;
-                }, next: "start"},
-                {regex: "([^:}\\\\]|\\\\.)*:?", token: "", next: "start"}
-            ],
-            formatString: [
-                {regex: "/(" + escape("/") + "+)/", token: "regex"},
-                {regex: "", onMatch: function(val, state, stack) {
-                    stack.inFormatString = true;
-                }, next: "start"}
-            ]
-        });
-        SnippetManager.prototype.getTokenizer = function() {
-            return SnippetManager.$tokenizer;
-        };
-        return SnippetManager.$tokenizer;
-    };
-
-    this.tokenizeTmSnippet = function(str, startState) {
-        return this.getTokenizer().getLineTokens(str, startState).tokens.map(function(x) {
-            return x.value || x;
-        });
-    };
-
-    this.$getDefaultValue = function(editor, name) {
-        if (/^[A-Z]\d+$/.test(name)) {
-            var i = name.substr(1);
-            return (this.variables[name[0] + "__"] || {})[i];
-        }
-        if (/^\d+$/.test(name)) {
-            return (this.variables.__ || {})[name];
-        }
-        name = name.replace(/^TM_/, "");
-
-        if (!editor)
-            return;
-        var s = editor.session;
-        switch(name) {
-            case "CURRENT_WORD":
-                var r = s.getWordRange();
-            case "SELECTION":
-            case "SELECTED_TEXT":
-                return s.getTextRange(r);
-            case "CURRENT_LINE":
-                return s.getLine(editor.getCursorPosition().row);
-            case "PREV_LINE": // not possible in textmate
-                return s.getLine(editor.getCursorPosition().row - 1);
-            case "LINE_INDEX":
-                return editor.getCursorPosition().column;
-            case "LINE_NUMBER":
-                return editor.getCursorPosition().row + 1;
-            case "SOFT_TABS":
-                return s.getUseSoftTabs() ? "YES" : "NO";
-            case "TAB_SIZE":
-                return s.getTabSize();
-            case "FILENAME":
-            case "FILEPATH":
-                return "";
-            case "FULLNAME":
-                return "Ace";
-        }
-    };
-    this.variables = {};
-    this.getVariableValue = function(editor, varName) {
-        if (this.variables.hasOwnProperty(varName))
-            return this.variables[varName](editor, varName) || "";
-        return this.$getDefaultValue(editor, varName) || "";
-    };
-    this.tmStrFormat = function(str, ch, editor) {
-        var flag = ch.flag || "";
-        var re = ch.guard;
-        re = new RegExp(re, flag.replace(/[^gi]/, ""));
-        var fmtTokens = this.tokenizeTmSnippet(ch.fmt, "formatString");
-        var _self = this;
-        var formatted = str.replace(re, function() {
-            _self.variables.__ = arguments;
-            var fmtParts = _self.resolveVariables(fmtTokens, editor);
-            var gChangeCase = "E";
-            for (var i  = 0; i < fmtParts.length; i++) {
-                var ch = fmtParts[i];
-                if (typeof ch == "object") {
-                    fmtParts[i] = "";
-                    if (ch.changeCase && ch.local) {
-                        var next = fmtParts[i + 1];
-                        if (next && typeof next == "string") {
-                            if (ch.changeCase == "u")
-                                fmtParts[i] = next[0].toUpperCase();
-                            else
-                                fmtParts[i] = next[0].toLowerCase();
-                            fmtParts[i + 1] = next.substr(1);
-                        }
-                    } else if (ch.changeCase) {
-                        gChangeCase = ch.changeCase;
-                    }
-                } else if (gChangeCase == "U") {
-                    fmtParts[i] = ch.toUpperCase();
-                } else if (gChangeCase == "L") {
-                    fmtParts[i] = ch.toLowerCase();
-                }
-            }
-            return fmtParts.join("");
-        });
-        this.variables.__ = null;
-        return formatted;
-    };
-
-    this.resolveVariables = function(snippet, editor) {
-        var result = [];
-        for (var i = 0; i < snippet.length; i++) {
-            var ch = snippet[i];
-            if (typeof ch == "string") {
-                result.push(ch);
-            } else if (typeof ch != "object") {
-                continue;
-            } else if (ch.skip) {
-                gotoNext(ch);
-            } else if (ch.processed < i) {
-                continue;
-            } else if (ch.text) {
-                var value = this.getVariableValue(editor, ch.text);
-                if (value && ch.fmtString)
-                    value = this.tmStrFormat(value, ch);
-                ch.processed = i;
-                if (ch.expectIf == null) {
-                    if (value) {
-                        result.push(value);
-                        gotoNext(ch);
-                    }
-                } else {
-                    if (value) {
-                        ch.skip = ch.elseBranch;
-                    } else
-                        gotoNext(ch);
-                }
-            } else if (ch.tabstopId != null) {
-                result.push(ch);
-            } else if (ch.changeCase != null) {
-                result.push(ch);
-            }
-        }
-        function gotoNext(ch) {
-            var i1 = snippet.indexOf(ch, i + 1);
-            if (i1 != -1)
-                i = i1;
-        }
-        return result;
-    };
-
-    this.insertSnippetForSelection = function(editor, snippetText) {
-        var cursor = editor.getCursorPosition();
-        var line = editor.session.getLine(cursor.row);
-        var tabString = editor.session.getTabString();
-        var indentString = line.match(/^\s*/)[0];
-        
-        if (cursor.column < indentString.length)
-            indentString = indentString.slice(0, cursor.column);
-
-        var tokens = this.tokenizeTmSnippet(snippetText);
-        tokens = this.resolveVariables(tokens, editor);
-        tokens = tokens.map(function(x) {
-            if (x == "\n")
-                return x + indentString;
-            if (typeof x == "string")
-                return x.replace(/\t/g, tabString);
-            return x;
-        });
-        var tabstops = [];
-        tokens.forEach(function(p, i) {
-            if (typeof p != "object")
-                return;
-            var id = p.tabstopId;
-            var ts = tabstops[id];
-            if (!ts) {
-                ts = tabstops[id] = [];
-                ts.index = id;
-                ts.value = "";
-            }
-            if (ts.indexOf(p) !== -1)
-                return;
-            ts.push(p);
-            var i1 = tokens.indexOf(p, i + 1);
-            if (i1 === -1)
-                return;
-
-            var value = tokens.slice(i + 1, i1);
-            var isNested = value.some(function(t) {return typeof t === "object"});          
-            if (isNested && !ts.value) {
-                ts.value = value;
-            } else if (value.length && (!ts.value || typeof ts.value !== "string")) {
-                ts.value = value.join("");
-            }
-        });
-        tabstops.forEach(function(ts) {ts.length = 0});
-        var expanding = {};
-        function copyValue(val) {
-            var copy = [];
-            for (var i = 0; i < val.length; i++) {
-                var p = val[i];
-                if (typeof p == "object") {
-                    if (expanding[p.tabstopId])
-                        continue;
-                    var j = val.lastIndexOf(p, i - 1);
-                    p = copy[j] || {tabstopId: p.tabstopId};
-                }
-                copy[i] = p;
-            }
-            return copy;
-        }
-        for (var i = 0; i < tokens.length; i++) {
-            var p = tokens[i];
-            if (typeof p != "object")
-                continue;
-            var id = p.tabstopId;
-            var i1 = tokens.indexOf(p, i + 1);
-            if (expanding[id]) {
-                if (expanding[id] === p)
-                    expanding[id] = null;
-                continue;
-            }
-            
-            var ts = tabstops[id];
-            var arg = typeof ts.value == "string" ? [ts.value] : copyValue(ts.value);
-            arg.unshift(i + 1, Math.max(0, i1 - i));
-            arg.push(p);
-            expanding[id] = p;
-            tokens.splice.apply(tokens, arg);
-
-            if (ts.indexOf(p) === -1)
-                ts.push(p);
-        }
-        var row = 0, column = 0;
-        var text = "";
-        tokens.forEach(function(t) {
-            if (typeof t === "string") {
-                if (t[0] === "\n"){
-                    column = t.length - 1;
-                    row ++;
-                } else
-                    column += t.length;
-                text += t;
-            } else {
-                if (!t.start)
-                    t.start = {row: row, column: column};
-                else
-                    t.end = {row: row, column: column};
-            }
-        });
-        var range = editor.getSelectionRange();
-        var end = editor.session.replace(range, text);
-
-        var tabstopManager = new TabstopManager(editor);
-        var selectionId = editor.inVirtualSelectionMode && editor.selection.index;
-        tabstopManager.addTabstops(tabstops, range.start, end, selectionId);
-    };
-    
-    this.insertSnippet = function(editor, snippetText) {
-        var self = this;
-        if (editor.inVirtualSelectionMode)
-            return self.insertSnippetForSelection(editor, snippetText);
-        
-        editor.forEachSelection(function() {
-            self.insertSnippetForSelection(editor, snippetText);
-        }, null, {keepOrder: true});
-        
-        if (editor.tabstopManager)
-            editor.tabstopManager.tabNext();
-    };
-
-    this.$getScope = function(editor) {
-        var scope = editor.session.$mode.$id || "";
-        scope = scope.split("/").pop();
-        if (scope === "html" || scope === "php") {
-            if (scope === "php" && !editor.session.$mode.inlinePhp) 
-                scope = "html";
-            var c = editor.getCursorPosition();
-            var state = editor.session.getState(c.row);
-            if (typeof state === "object") {
-                state = state[0];
-            }
-            if (state.substring) {
-                if (state.substring(0, 3) == "js-")
-                    scope = "javascript";
-                else if (state.substring(0, 4) == "css-")
-                    scope = "css";
-                else if (state.substring(0, 4) == "php-")
-                    scope = "php";
-            }
-        }
-        
-        return scope;
-    };
-
-    this.getActiveScopes = function(editor) {
-        var scope = this.$getScope(editor);
-        var scopes = [scope];
-        var snippetMap = this.snippetMap;
-        if (snippetMap[scope] && snippetMap[scope].includeScopes) {
-            scopes.push.apply(scopes, snippetMap[scope].includeScopes);
-        }
-        scopes.push("_");
-        return scopes;
-    };
-
-    this.expandWithTab = function(editor, options) {
-        var self = this;
-        var result = editor.forEachSelection(function() {
-            return self.expandSnippetForSelection(editor, options);
-        }, null, {keepOrder: true});
-        if (result && editor.tabstopManager)
-            editor.tabstopManager.tabNext();
-        return result;
-    };
-    
-    this.expandSnippetForSelection = function(editor, options) {
-        var cursor = editor.getCursorPosition();
-        var line = editor.session.getLine(cursor.row);
-        var before = line.substring(0, cursor.column);
-        var after = line.substr(cursor.column);
-
-        var snippetMap = this.snippetMap;
-        var snippet;
-        this.getActiveScopes(editor).some(function(scope) {
-            var snippets = snippetMap[scope];
-            if (snippets)
-                snippet = this.findMatchingSnippet(snippets, before, after);
-            return !!snippet;
-        }, this);
-        if (!snippet)
-            return false;
-        if (options && options.dryRun)
-            return true;
-        editor.session.doc.removeInLine(cursor.row,
-            cursor.column - snippet.replaceBefore.length,
-            cursor.column + snippet.replaceAfter.length
-        );
-
-        this.variables.M__ = snippet.matchBefore;
-        this.variables.T__ = snippet.matchAfter;
-        this.insertSnippetForSelection(editor, snippet.content);
-
-        this.variables.M__ = this.variables.T__ = null;
-        return true;
-    };
-
-    this.findMatchingSnippet = function(snippetList, before, after) {
-        for (var i = snippetList.length; i--;) {
-            var s = snippetList[i];
-            if (s.startRe && !s.startRe.test(before))
-                continue;
-            if (s.endRe && !s.endRe.test(after))
-                continue;
-            if (!s.startRe && !s.endRe)
-                continue;
-
-            s.matchBefore = s.startRe ? s.startRe.exec(before) : [""];
-            s.matchAfter = s.endRe ? s.endRe.exec(after) : [""];
-            s.replaceBefore = s.triggerRe ? s.triggerRe.exec(before)[0] : "";
-            s.replaceAfter = s.endTriggerRe ? s.endTriggerRe.exec(after)[0] : "";
-            return s;
-        }
-    };
-
-    this.snippetMap = {};
-    this.snippetNameMap = {};
-    this.register = function(snippets, scope) {
-        var snippetMap = this.snippetMap;
-        var snippetNameMap = this.snippetNameMap;
-        var self = this;
-        function wrapRegexp(src) {
-            if (src && !/^\^?\(.*\)\$?$|^\\b$/.test(src))
-                src = "(?:" + src + ")";
-
-            return src || "";
-        }
-        function guardedRegexp(re, guard, opening) {
-            re = wrapRegexp(re);
-            guard = wrapRegexp(guard);
-            if (opening) {
-                re = guard + re;
-                if (re && re[re.length - 1] != "$")
-                    re = re + "$";
-            } else {
-                re = re + guard;
-                if (re && re[0] != "^")
-                    re = "^" + re;
-            }
-            return new RegExp(re);
-        }
-
-        function addSnippet(s) {
-            if (!s.scope)
-                s.scope = scope || "_";
-            scope = s.scope;
-            if (!snippetMap[scope]) {
-                snippetMap[scope] = [];
-                snippetNameMap[scope] = {};
-            }
-
-            var map = snippetNameMap[scope];
-            if (s.name) {
-                var old = map[s.name];
-                if (old)
-                    self.unregister(old);
-                map[s.name] = s;
-            }
-            snippetMap[scope].push(s);
-
-            if (s.tabTrigger && !s.trigger) {
-                if (!s.guard && /^\w/.test(s.tabTrigger))
-                    s.guard = "\\b";
-                s.trigger = lang.escapeRegExp(s.tabTrigger);
-            }
-
-            s.startRe = guardedRegexp(s.trigger, s.guard, true);
-            s.triggerRe = new RegExp(s.trigger, "", true);
-
-            s.endRe = guardedRegexp(s.endTrigger, s.endGuard, true);
-            s.endTriggerRe = new RegExp(s.endTrigger, "", true);
-        }
-
-        if (snippets.content)
-            addSnippet(snippets);
-        else if (Array.isArray(snippets))
-            snippets.forEach(addSnippet);
-        
-        this._signal("registerSnippets", {scope: scope});
-    };
-    this.unregister = function(snippets, scope) {
-        var snippetMap = this.snippetMap;
-        var snippetNameMap = this.snippetNameMap;
-
-        function removeSnippet(s) {
-            var nameMap = snippetNameMap[s.scope||scope];
-            if (nameMap && nameMap[s.name]) {
-                delete nameMap[s.name];
-                var map = snippetMap[s.scope||scope];
-                var i = map && map.indexOf(s);
-                if (i >= 0)
-                    map.splice(i, 1);
-            }
-        }
-        if (snippets.content)
-            removeSnippet(snippets);
-        else if (Array.isArray(snippets))
-            snippets.forEach(removeSnippet);
-    };
-    this.parseSnippetFile = function(str) {
-        str = str.replace(/\r/g, "");
-        var list = [], snippet = {};
-        var re = /^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm;
-        var m;
-        while (m = re.exec(str)) {
-            if (m[1]) {
-                try {
-                    snippet = JSON.parse(m[1]);
-                    list.push(snippet);
-                } catch (e) {}
-            } if (m[4]) {
-                snippet.content = m[4].replace(/^\t/gm, "");
-                list.push(snippet);
-                snippet = {};
-            } else {
-                var key = m[2], val = m[3];
-                if (key == "regex") {
-                    var guardRe = /\/((?:[^\/\\]|\\.)*)|$/g;
-                    snippet.guard = guardRe.exec(val)[1];
-                    snippet.trigger = guardRe.exec(val)[1];
-                    snippet.endTrigger = guardRe.exec(val)[1];
-                    snippet.endGuard = guardRe.exec(val)[1];
-                } else if (key == "snippet") {
-                    snippet.tabTrigger = val.match(/^\S*/)[0];
-                    if (!snippet.name)
-                        snippet.name = val;
-                } else {
-                    snippet[key] = val;
-                }
-            }
-        }
-        return list;
-    };
-    this.getSnippetByName = function(name, editor) {
-        var snippetMap = this.snippetNameMap;
-        var snippet;
-        this.getActiveScopes(editor).some(function(scope) {
-            var snippets = snippetMap[scope];
-            if (snippets)
-                snippet = snippets[name];
-            return !!snippet;
-        }, this);
-        return snippet;
-    };
-
-}).call(SnippetManager.prototype);
-
-
-var TabstopManager = function(editor) {
-    if (editor.tabstopManager)
-        return editor.tabstopManager;
-    editor.tabstopManager = this;
-    this.$onChange = this.onChange.bind(this);
-    this.$onChangeSelection = lang.delayedCall(this.onChangeSelection.bind(this)).schedule;
-    this.$onChangeSession = this.onChangeSession.bind(this);
-    this.$onAfterExec = this.onAfterExec.bind(this);
-    this.attach(editor);
-};
-(function() {
-    this.attach = function(editor) {
-        this.index = 0;
-        this.ranges = [];
-        this.tabstops = [];
-        this.$openTabstops = null;
-        this.selectedTabstop = null;
-
-        this.editor = editor;
-        this.editor.on("change", this.$onChange);
-        this.editor.on("changeSelection", this.$onChangeSelection);
-        this.editor.on("changeSession", this.$onChangeSession);
-        this.editor.commands.on("afterExec", this.$onAfterExec);
-        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
-    };
-    this.detach = function() {
-        this.tabstops.forEach(this.removeTabstopMarkers, this);
-        this.ranges = null;
-        this.tabstops = null;
-        this.selectedTabstop = null;
-        this.editor.removeListener("change", this.$onChange);
-        this.editor.removeListener("changeSelection", this.$onChangeSelection);
-        this.editor.removeListener("changeSession", this.$onChangeSession);
-        this.editor.commands.removeListener("afterExec", this.$onAfterExec);
-        this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);
-        this.editor.tabstopManager = null;
-        this.editor = null;
-    };
-
-    this.onChange = function(e) {
-        var changeRange = e.data.range;
-        var isRemove = e.data.action[0] == "r";
-        var start = changeRange.start;
-        var end = changeRange.end;
-        var startRow = start.row;
-        var endRow = end.row;
-        var lineDif = endRow - startRow;
-        var colDiff = end.column - start.column;
-
-        if (isRemove) {
-            lineDif = -lineDif;
-            colDiff = -colDiff;
-        }
-        if (!this.$inChange && isRemove) {
-            var ts = this.selectedTabstop;
-            var changedOutside = ts && !ts.some(function(r) {
-                return comparePoints(r.start, start) <= 0 && comparePoints(r.end, end) >= 0;
-            });
-            if (changedOutside)
-                return this.detach();
-        }
-        var ranges = this.ranges;
-        for (var i = 0; i < ranges.length; i++) {
-            var r = ranges[i];
-            if (r.end.row < start.row)
-                continue;
-
-            if (isRemove && comparePoints(start, r.start) < 0 && comparePoints(end, r.end) > 0) {
-                this.removeRange(r);
-                i--;
-                continue;
-            }
-
-            if (r.start.row == startRow && r.start.column > start.column)
-                r.start.column += colDiff;
-            if (r.end.row == startRow && r.end.column >= start.column)
-                r.end.column += colDiff;
-            if (r.start.row >= startRow)
-                r.start.row += lineDif;
-            if (r.end.row >= startRow)
-                r.end.row += lineDif;
-
-            if (comparePoints(r.start, r.end) > 0)
-                this.removeRange(r);
-        }
-        if (!ranges.length)
-            this.detach();
-    };
-    this.updateLinkedFields = function() {
-        var ts = this.selectedTabstop;
-        if (!ts || !ts.hasLinkedRanges)
-            return;
-        this.$inChange = true;
-        var session = this.editor.session;
-        var text = session.getTextRange(ts.firstNonLinked);
-        for (var i = ts.length; i--;) {
-            var range = ts[i];
-            if (!range.linked)
-                continue;
-            var fmt = exports.snippetManager.tmStrFormat(text, range.original);
-            session.replace(range, fmt);
-        }
-        this.$inChange = false;
-    };
-    this.onAfterExec = function(e) {
-        if (e.command && !e.command.readOnly)
-            this.updateLinkedFields();
-    };
-    this.onChangeSelection = function() {
-        if (!this.editor)
-            return;
-        var lead = this.editor.selection.lead;
-        var anchor = this.editor.selection.anchor;
-        var isEmpty = this.editor.selection.isEmpty();
-        for (var i = this.ranges.length; i--;) {
-            if (this.ranges[i].linked)
-                continue;
-            var containsLead = this.ranges[i].contains(lead.row, lead.column);
-            var containsAnchor = isEmpty || this.ranges[i].contains(anchor.row, anchor.column);
-            if (containsLead && containsAnchor)
-                return;
-        }
-        this.detach();
-    };
-    this.onChangeSession = function() {
-        this.detach();
-    };
-    this.tabNext = function(dir) {
-        var max = this.tabstops.length;
-        var index = this.index + (dir || 1);
-        index = Math.min(Math.max(index, 1), max);
-        if (index == max)
-            index = 0;
-        this.selectTabstop(index);
-        if (index === 0)
-            this.detach();
-    };
-    this.selectTabstop = function(index) {
-        this.$openTabstops = null;
-        var ts = this.tabstops[this.index];
-        if (ts)
-            this.addTabstopMarkers(ts);
-        this.index = index;
-        ts = this.tabstops[this.index];
-        if (!ts || !ts.length)
-            return;
-        
-        this.selectedTabstop = ts;
-        if (!this.editor.inVirtualSelectionMode) {        
-            var sel = this.editor.multiSelect;
-            sel.toSingleRange(ts.firstNonLinked.clone());
-            for (var i = ts.length; i--;) {
-                if (ts.hasLinkedRanges && ts[i].linked)
-                    continue;
-                sel.addRange(ts[i].clone(), true);
-            }
-            if (sel.ranges[0])
-                sel.addRange(sel.ranges[0].clone());
-        } else {
-            this.editor.selection.setRange(ts.firstNonLinked);
-        }
-        
-        this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
-    };
-    this.addTabstops = function(tabstops, start, end) {
-        if (!this.$openTabstops)
-            this.$openTabstops = [];
-        if (!tabstops[0]) {
-            var p = Range.fromPoints(end, end);
-            moveRelative(p.start, start);
-            moveRelative(p.end, start);
-            tabstops[0] = [p];
-            tabstops[0].index = 0;
-        }
-
-        var i = this.index;
-        var arg = [i + 1, 0];
-        var ranges = this.ranges;
-        tabstops.forEach(function(ts, index) {
-            var dest = this.$openTabstops[index] || ts;
-                
-            for (var i = ts.length; i--;) {
-                var p = ts[i];
-                var range = Range.fromPoints(p.start, p.end || p.start);
-                movePoint(range.start, start);
-                movePoint(range.end, start);
-                range.original = p;
-                range.tabstop = dest;
-                ranges.push(range);
-                if (dest != ts)
-                    dest.unshift(range);
-                else
-                    dest[i] = range;
-                if (p.fmtString) {
-                    range.linked = true;
-                    dest.hasLinkedRanges = true;
-                } else if (!dest.firstNonLinked)
-                    dest.firstNonLinked = range;
-            }
-            if (!dest.firstNonLinked)
-                dest.hasLinkedRanges = false;
-            if (dest === ts) {
-                arg.push(dest);
-                this.$openTabstops[index] = dest;
-            }
-            this.addTabstopMarkers(dest);
-        }, this);
-        
-        if (arg.length > 2) {
-            if (this.tabstops.length)
-                arg.push(arg.splice(2, 1)[0]);
-            this.tabstops.splice.apply(this.tabstops, arg);
-        }
-    };
-
-    this.addTabstopMarkers = function(ts) {
-        var session = this.editor.session;
-        ts.forEach(function(range) {
-            if  (!range.markerId)
-                range.markerId = session.addMarker(range, "ace_snippet-marker", "text");
-        });
-    };
-    this.removeTabstopMarkers = function(ts) {
-        var session = this.editor.session;
-        ts.forEach(function(range) {
-            session.removeMarker(range.markerId);
-            range.markerId = null;
-        });
-    };
-    this.removeRange = function(range) {
-        var i = range.tabstop.indexOf(range);
-        range.tabstop.splice(i, 1);
-        i = this.ranges.indexOf(range);
-        this.ranges.splice(i, 1);
-        this.editor.session.removeMarker(range.markerId);
-        if (!range.tabstop.length) {
-            i = this.tabstops.indexOf(range.tabstop);
-            if (i != -1)
-                this.tabstops.splice(i, 1);
-            if (!this.tabstops.length)
-                this.detach();
-        }
-    };
-
-    this.keyboardHandler = new HashHandler();
-    this.keyboardHandler.bindKeys({
-        "Tab": function(ed) {
-            if (exports.snippetManager && exports.snippetManager.expandWithTab(ed)) {
-                return;
-            }
-
-            ed.tabstopManager.tabNext(1);
-        },
-        "Shift-Tab": function(ed) {
-            ed.tabstopManager.tabNext(-1);
-        },
-        "Esc": function(ed) {
-            ed.tabstopManager.detach();
-        },
-        "Return": function(ed) {
-            return false;
-        }
-    });
-}).call(TabstopManager.prototype);
-
-
-
-var changeTracker = {};
-changeTracker.onChange = Anchor.prototype.onChange;
-changeTracker.setPosition = function(row, column) {
-    this.pos.row = row;
-    this.pos.column = column;
-};
-changeTracker.update = function(pos, delta, $insertRight) {
-    this.$insertRight = $insertRight;
-    this.pos = pos; 
-    this.onChange(delta);
-};
-
-var movePoint = function(point, diff) {
-    if (point.row == 0)
-        point.column += diff.column;
-    point.row += diff.row;
-};
-
-var moveRelative = function(point, start) {
-    if (point.row == start.row)
-        point.column -= start.column;
-    point.row -= start.row;
-};
-
-
-require("./lib/dom").importCssString("\
-.ace_snippet-marker {\
-    -moz-box-sizing: border-box;\
-    box-sizing: border-box;\
-    background: rgba(194, 193, 208, 0.09);\
-    border: 1px dotted rgba(211, 208, 235, 0.62);\
-    position: absolute;\
-}");
-
-exports.snippetManager = new SnippetManager();
-
-
-var Editor = require("./editor").Editor;
-(function() {
-    this.insertSnippet = function(content, options) {
-        return exports.snippetManager.insertSnippet(this, content, options);
-    };
-    this.expandSnippet = function(options) {
-        return exports.snippetManager.expandWithTab(this, options);
-    };
-}).call(Editor.prototype);
-
-});
-
-define("ace/autocomplete/popup",["require","exports","module","ace/edit_session","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom"], function(require, exports, module) {
-"use strict";
-
-var EditSession = require("../edit_session").EditSession;
-var Renderer = require("../virtual_renderer").VirtualRenderer;
-var Editor = require("../editor").Editor;
-var Range = require("../range").Range;
-var event = require("../lib/event");
-var lang = require("../lib/lang");
-var dom = require("../lib/dom");
-
-var $singleLineEditor = function(el) {
-    var renderer = new Renderer(el);
-
-    renderer.$maxLines = 4;
-
-    var editor = new Editor(renderer);
-
-    editor.setHighlightActiveLine(false);
-    editor.setShowPrintMargin(false);
-    editor.renderer.setShowGutter(false);
-    editor.renderer.setHighlightGutterLine(false);
-
-    editor.$mouseHandler.$focusWaitTimout = 0;
-
-    return editor;
-};
-
-var AcePopup = function(parentNode) {
-    var el = dom.createElement("div");
-    var popup = new $singleLineEditor(el);
-
-    if (parentNode)
-        parentNode.appendChild(el);
-    el.style.display = "none";
-    popup.renderer.content.style.cursor = "default";
-    popup.renderer.setStyle("ace_autocomplete");
-
-    popup.setOption("displayIndentGuides", false);
-    popup.setOption("dragDelay", 150);
-
-    var noop = function(){};
-
-    popup.focus = noop;
-    popup.$isFocused = true;
-
-    popup.renderer.$cursorLayer.restartTimer = noop;
-    popup.renderer.$cursorLayer.element.style.opacity = 0;
-
-    popup.renderer.$maxLines = 8;
-    popup.renderer.$keepTextAreaAtCursor = false;
-
-    popup.setHighlightActiveLine(false);
-    popup.session.highlight("");
-    popup.session.$searchHighlight.clazz = "ace_highlight-marker";
-
-    popup.on("mousedown", function(e) {
-        var pos = e.getDocumentPosition();
-        popup.selection.moveToPosition(pos);
-        selectionMarker.start.row = selectionMarker.end.row = pos.row;
-        e.stop();
-    });
-
-    var lastMouseEvent;
-    var hoverMarker = new Range(-1,0,-1,Infinity);
-    var selectionMarker = new Range(-1,0,-1,Infinity);
-    selectionMarker.id = popup.session.addMarker(selectionMarker, "ace_active-line", "fullLine");
-    popup.setSelectOnHover = function(val) {
-        if (!val) {
-            hoverMarker.id = popup.session.addMarker(hoverMarker, "ace_line-hover", "fullLine");
-        } else if (hoverMarker.id) {
-            popup.session.removeMarker(hoverMarker.id);
-            hoverMarker.id = null;
-        }
-    }
-    popup.setSelectOnHover(false);
-    popup.on("mousemove", function(e) {
-        if (!lastMouseEvent) {
-            lastMouseEvent = e;
-            return;
-        }
-        if (lastMouseEvent.x == e.x && lastMouseEvent.y == e.y) {
-            return;
-        }
-        lastMouseEvent = e;
-        lastMouseEvent.scrollTop = popup.renderer.scrollTop;
-        var row = lastMouseEvent.getDocumentPosition().row;
-        if (hoverMarker.start.row != row) {
-            if (!hoverMarker.id)
-                popup.setRow(row);
-            setHoverMarker(row);
-        }
-    });
-    popup.renderer.on("beforeRender", function() {
-        if (lastMouseEvent && hoverMarker.start.row != -1) {
-            lastMouseEvent.$pos = null;
-            var row = lastMouseEvent.getDocumentPosition().row;
-            if (!hoverMarker.id)
-                popup.setRow(row);
-            setHoverMarker(row, true);
-        }
-    });
-    popup.renderer.on("afterRender", function() {
-        var row = popup.getRow();
-        var t = popup.renderer.$textLayer;
-        var selected = t.element.childNodes[row - t.config.firstRow];
-        if (selected == t.selectedNode)
-            return;
-        if (t.selectedNode)
-            dom.removeCssClass(t.selectedNode, "ace_selected");
-        t.selectedNode = selected;
-        if (selected)
-            dom.addCssClass(selected, "ace_selected");
-    });
-    var hideHoverMarker = function() { setHoverMarker(-1) };
-    var setHoverMarker = function(row, suppressRedraw) {
-        if (row !== hoverMarker.start.row) {
-            hoverMarker.start.row = hoverMarker.end.row = row;
-            if (!suppressRedraw)
-                popup.session._emit("changeBackMarker");
-            popup._emit("changeHoverMarker");
-        }
-    };
-    popup.getHoveredRow = function() {
-        return hoverMarker.start.row;
-    };
-
-    event.addListener(popup.container, "mouseout", hideHoverMarker);
-    popup.on("hide", hideHoverMarker);
-    popup.on("changeSelection", hideHoverMarker);
-
-    popup.session.doc.getLength = function() {
-        return popup.data.length;
-    };
-    popup.session.doc.getLine = function(i) {
-        var data = popup.data[i];
-        if (typeof data == "string")
-            return data;
-        return (data && data.value) || "";
-    };
-
-    var bgTokenizer = popup.session.bgTokenizer;
-    bgTokenizer.$tokenizeRow = function(i) {
-        var data = popup.data[i];
-        var tokens = [];
-        if (!data)
-            return tokens;
-        if (typeof data == "string")
-            data = {value: data};
-        if (!data.caption)
-            data.caption = data.value || data.name;
-
-        var last = -1;
-        var flag, c;
-        for (var i = 0; i < data.caption.length; i++) {
-            c = data.caption[i];
-            flag = data.matchMask & (1 << i) ? 1 : 0;
-            if (last !== flag) {
-                tokens.push({type: data.className || "" + ( flag ? "completion-highlight" : ""), value: c});
-                last = flag;
-            } else {
-                tokens[tokens.length - 1].value += c;
-            }
-        }
-
-        if (data.meta) {
-            var maxW = popup.renderer.$size.scrollerWidth / popup.renderer.layerConfig.characterWidth;
-            if (data.meta.length + data.caption.length < maxW - 2)
-                tokens.push({type: "rightAlignedText", value: data.meta});
-        }
-        return tokens;
-    };
-    bgTokenizer.$updateOnChange = noop;
-    bgTokenizer.start = noop;
-
-    popup.session.$computeWidth = function() {
-        return this.screenWidth = 0;
-    }
-    popup.isOpen = false;
-    popup.isTopdown = false;
-
-    popup.data = [];
-    popup.setData = function(list) {
-        popup.data = list || [];
-        popup.setValue(lang.stringRepeat("\n", list.length), -1);
-        popup.setRow(0);
-    };
-    popup.getData = function(row) {
-        return popup.data[row];
-    };
-
-    popup.getRow = function() {
-        return selectionMarker.start.row;
-    };
-    popup.setRow = function(line) {
-        line = Math.max(-1, Math.min(this.data.length, line));
-        if (selectionMarker.start.row != line) {
-            popup.selection.clearSelection();
-            selectionMarker.start.row = selectionMarker.end.row = line || 0;
-            popup.session._emit("changeBackMarker");
-            popup.moveCursorTo(line || 0, 0);
-            if (popup.isOpen)
-                popup._signal("select");
-        }
-    };
-
-    popup.on("changeSelection", function() {
-        if (popup.isOpen)
-            popup.setRow(popup.selection.lead.row);
-    });
-
-    popup.hide = function() {
-        this.container.style.display = "none";
-        this._signal("hide");
-        popup.isOpen = false;
-    };
-    popup.show = function(pos, lineHeight, topdownOnly) {
-        var el = this.container;
-        var screenHeight = window.innerHeight;
-        var screenWidth = window.innerWidth;
-        var renderer = this.renderer;
-        var maxH = renderer.$maxLines * lineHeight * 1.4;
-        var top = pos.top + this.$borderSize;
-        if (top + maxH > screenHeight - lineHeight && !topdownOnly) {
-            el.style.top = "";
-            el.style.bottom = screenHeight - top + "px";
-            popup.isTopdown = false;
-        } else {
-            top += lineHeight;
-            el.style.top = top + "px";
-            el.style.bottom = "";
-            popup.isTopdown = true;
-        }
-
-        el.style.display = "";
-        this.renderer.$textLayer.checkForSizeChanges();
-
-        var left = pos.left;
-        if (left + el.offsetWidth > screenWidth)
-            left = screenWidth - el.offsetWidth;
-
-        el.style.left = left + "px";
-
-        this._signal("show");
-        lastMouseEvent = null;
-        popup.isOpen = true;
-    };
-
-    popup.getTextLeftOffset = function() {
-        return this.$borderSize + this.renderer.$padding + this.$imageSize;
-    };
-
-    popup.$imageSize = 0;
-    popup.$borderSize = 1;
-
-    return popup;
-};
-
-dom.importCssString("\
-.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {\
-    background-color: #CAD6FA;\
-    z-index: 1;\
-}\
-.ace_editor.ace_autocomplete .ace_line-hover {\
-    border: 1px solid #abbffe;\
-    margin-top: -1px;\
-    background: rgba(233,233,253,0.4);\
-}\
-.ace_editor.ace_autocomplete .ace_line-hover {\
-    position: absolute;\
-    z-index: 2;\
-}\
-.ace_editor.ace_autocomplete .ace_scroller {\
-   background: none;\
-   border: none;\
-   box-shadow: none;\
-}\
-.ace_rightAlignedText {\
-    color: gray;\
-    display: inline-block;\
-    position: absolute;\
-    right: 4px;\
-    text-align: right;\
-    z-index: -1;\
-}\
-.ace_editor.ace_autocomplete .ace_completion-highlight{\
-    color: #000;\
-    text-shadow: 0 0 0.01em;\
-}\
-.ace_editor.ace_autocomplete {\
-    width: 280px;\
-    z-index: 200000;\
-    background: #fbfbfb;\
-    color: #444;\
-    border: 1px lightgray solid;\
-    position: fixed;\
-    box-shadow: 2px 3px 5px rgba(0,0,0,.2);\
-    line-height: 1.4;\
-}");
-
-exports.AcePopup = AcePopup;
-
-});
-
-define("ace/autocomplete/util",["require","exports","module"], function(require, exports, module) {
-"use strict";
-
-exports.parForEach = function(array, fn, callback) {
-    var completed = 0;
-    var arLength = array.length;
-    if (arLength === 0)
-        callback();
-    for (var i = 0; i < arLength; i++) {
-        fn(array[i], function(result, err) {
-            completed++;
-            if (completed === arLength)
-                callback(result, err);
-        });
-    }
-};
-
-var ID_REGEX = /[a-zA-Z_0-9\$\-\u00A2-\uFFFF]/;
-
-exports.retrievePrecedingIdentifier = function(text, pos, regex) {
-    regex = regex || ID_REGEX;
-    var buf = [];
-    for (var i = pos-1; i >= 0; i--) {
-        if (regex.test(text[i]))
-            buf.push(text[i]);
-        else
-            break;
-    }
-    return buf.reverse().join("");
-};
-
-exports.retrieveFollowingIdentifier = function(text, pos, regex) {
-    regex = regex || ID_REGEX;
-    var buf = [];
-    for (var i = pos; i < text.length; i++) {
-        if (regex.test(text[i]))
-            buf.push(text[i]);
-        else
-            break;
-    }
-    return buf;
-};
-
-});
-
-define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/event","ace/lib/lang","ace/snippets"], function(require, exports, module) {
-"use strict";
-
-var HashHandler = require("./keyboard/hash_handler").HashHandler;
-var AcePopup = require("./autocomplete/popup").AcePopup;
-var util = require("./autocomplete/util");
-var event = require("./lib/event");
-var lang = require("./lib/lang");
-var snippetManager = require("./snippets").snippetManager;
-
-var Autocomplete = function() {
-    this.autoInsert = true;
-    this.autoSelect = true;
-    this.keyboardHandler = new HashHandler();
-    this.keyboardHandler.bindKeys(this.commands);
-
-    this.blurListener = this.blurListener.bind(this);
-    this.changeListener = this.changeListener.bind(this);
-    this.mousedownListener = this.mousedownListener.bind(this);
-    this.mousewheelListener = this.mousewheelListener.bind(this);
-
-    this.changeTimer = lang.delayedCall(function() {
-        this.updateCompletions(true);
-    }.bind(this));
-};
-
-(function() {
-    this.gatherCompletionsId = 0;
-
-    this.$init = function() {
-        this.popup = new AcePopup(document.body || document.documentElement);
-        this.popup.on("click", function(e) {
-            this.insertMatch();
-            e.stop();
-        }.bind(this));
-        this.popup.focus = this.editor.focus.bind(this.editor);
-    };
-
-    this.openPopup = function(editor, prefix, keepPopupPosition) {
-        if (!this.popup)
-            this.$init();
-
-        this.popup.setData(this.completions.filtered);
-
-        var renderer = editor.renderer;
-        this.popup.setRow(this.autoSelect ? 0 : -1);
-        if (!keepPopupPosition) {
-            this.popup.setTheme(editor.getTheme());
-            this.popup.setFontSize(editor.getFontSize());
-
-            var lineHeight = renderer.layerConfig.lineHeight;
-
-            var pos = renderer.$cursorLayer.getPixelPosition(this.base, true);
-            pos.left -= this.popup.getTextLeftOffset();
-
-            var rect = editor.container.getBoundingClientRect();
-            pos.top += rect.top - renderer.layerConfig.offset;
-            pos.left += rect.left - editor.renderer.scrollLeft;
-            pos.left += renderer.$gutterLayer.gutterWidth;
-
-            this.popup.show(pos, lineHeight);
-        }
-    };
-
-    this.detach = function() {
-        this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler);
-        this.editor.off("changeSelection", this.changeListener);
-        this.editor.off("blur", this.blurListener);
-        this.editor.off("mousedown", this.mousedownListener);
-        this.editor.off("mousewheel", this.mousewheelListener);
-        this.changeTimer.cancel();
-
-        if (this.popup && this.popup.isOpen) {
-            this.gatherCompletionsId += 1;
-            this.popup.hide();
-        }
-        
-        if (this.base)
-            this.base.detach();
-        this.activated = false;
-        this.completions = this.base = null;
-    };
-
-    this.changeListener = function(e) {
-        var cursor = this.editor.selection.lead;
-        if (cursor.row != this.base.row || cursor.column < this.base.column) {
-            this.detach();
-        }
-        if (this.activated)
-            this.changeTimer.schedule();
-        else
-            this.detach();
-    };
-
-    this.blurListener = function() {
-        var el = document.activeElement;
-        if (el != this.editor.textInput.getElement() && el.parentNode != this.popup.container)
-            this.detach();
-    };
-
-    this.mousedownListener = function(e) {
-        this.detach();
-    };
-
-    this.mousewheelListener = function(e) {
-        this.detach();
-    };
-
-    this.goTo = function(where) {
-        var row = this.popup.getRow();
-        var max = this.popup.session.getLength() - 1;
-
-        switch(where) {
-            case "up": row = row <= 0 ? max : row - 1; break;
-            case "down": row = row >= max ? -1 : row + 1; break;
-            case "start": row = 0; break;
-            case "end": row = max; break;
-        }
-
-        this.popup.setRow(row);
-    };
-
-    this.insertMatch = function(data) {
-        if (!data)
-            data = this.popup.getData(this.popup.getRow());
-        if (!data)
-            return false;
-
-        if (data.completer && data.completer.insertMatch) {
-            data.completer.insertMatch(this.editor);
-        } else {
-            if (this.completions.filterText) {
-                var ranges = this.editor.selection.getAllRanges();
-                for (var i = 0, range; range = ranges[i]; i++) {
-                    range.start.column -= this.completions.filterText.length;
-                    this.editor.session.remove(range);
-                }
-            }
-            if (data.snippet)
-                snippetManager.insertSnippet(this.editor, data.snippet);
-            else
-                this.editor.execCommand("insertstring", data.value || data);
-        }
-        this.detach();
-    };
-
-    this.commands = {
-        "Up": function(editor) { editor.completer.goTo("up"); },
-        "Down": function(editor) { editor.completer.goTo("down"); },
-        "Ctrl-Up|Ctrl-Home": function(editor) { editor.completer.goTo("start"); },
-        "Ctrl-Down|Ctrl-End": function(editor) { editor.completer.goTo("end"); },
-
-        "Esc": function(editor) { editor.completer.detach(); },
-        "Space": function(editor) { editor.completer.detach(); editor.insert(" ");},
-        "Return": function(editor) { return editor.completer.insertMatch(); },
-        "Shift-Return": function(editor) { editor.completer.insertMatch(true); },
-        "Tab": function(editor) {
-            var result = editor.completer.insertMatch();
-            if (!result && !editor.tabstopManager)
-                editor.completer.goTo("down");
-            else
-                return result;
-        },
-
-        "PageUp": function(editor) { editor.completer.popup.gotoPageUp(); },
-        "PageDown": function(editor) { editor.completer.popup.gotoPageDown(); }
-    };
-
-    this.gatherCompletions = function(editor, callback) {
-        var session = editor.getSession();
-        var pos = editor.getCursorPosition();
-
-        var line = session.getLine(pos.row);
-        var prefix = util.retrievePrecedingIdentifier(line, pos.column);
-
-        this.base = session.doc.createAnchor(pos.row, pos.column - prefix.length);
-
-        var matches = [];
-        var total = editor.completers.length;
-        editor.completers.forEach(function(completer, i) {
-            completer.getCompletions(editor, session, pos, prefix, function(err, results) {
-                if (!err)
-                    matches = matches.concat(results);
-                var pos = editor.getCursorPosition();
-                var line = session.getLine(pos.row);
-                callback(null, {
-                    prefix: util.retrievePrecedingIdentifier(line, pos.column, results[0] && results[0].identifierRegex),
-                    matches: matches,
-                    finished: (--total === 0)
-                });
-            });
-        });
-        return true;
-    };
-
-    this.showPopup = function(editor) {
-        if (this.editor)
-            this.detach();
-
-        this.activated = true;
-
-        this.editor = editor;
-        if (editor.completer != this) {
-            if (editor.completer)
-                editor.completer.detach();
-            editor.completer = this;
-        }
-
-        editor.keyBinding.addKeyboardHandler(this.keyboardHandler);
-        editor.on("changeSelection", this.changeListener);
-        editor.on("blur", this.blurListener);
-        editor.on("mousedown", this.mousedownListener);
-        editor.on("mousewheel", this.mousewheelListener);
-
-        this.updateCompletions();
-    };
-
-    this.updateCompletions = function(keepPopupPosition) {
-        if (keepPopupPosition && this.base && this.completions) {
-            var pos = this.editor.getCursorPosition();
-            var prefix = this.editor.session.getTextRange({start: this.base, end: pos});
-            if (prefix == this.completions.filterText)
-                return;
-            this.completions.setFilter(prefix);
-            if (!this.completions.filtered.length)
-                return this.detach();
-            if (this.completions.filtered.length == 1
-            && this.completions.filtered[0].value == prefix
-            && !this.completions.filtered[0].snippet)
-                return this.detach();
-            this.openPopup(this.editor, prefix, keepPopupPosition);
-            return;
-        }
-        var _id = this.gatherCompletionsId;
-        this.gatherCompletions(this.editor, function(err, results) {
-            var detachIfFinished = function() {
-                if (!results.finished) return;
-                return this.detach();
-            }.bind(this);
-
-            var prefix = results.prefix;
-            var matches = results && results.matches;
-            
-            if (!matches || !matches.length)
-                return detachIfFinished();
-            if (prefix.indexOf(results.prefix) !== 0 || _id != this.gatherCompletionsId)
-                return;
-
-            this.completions = new FilteredList(matches);
-            this.completions.setFilter(prefix);
-            var filtered = this.completions.filtered;
-            if (!filtered.length)
-                return detachIfFinished();
-            if (filtered.length == 1 && filtered[0].value == prefix && !filtered[0].snippet)
-                return detachIfFinished();
-            if (this.autoInsert && filtered.length == 1)
-                return this.insertMatch(filtered[0]);
-
-            this.openPopup(this.editor, prefix, keepPopupPosition);
-        }.bind(this));
-    };
-
-    this.cancelContextMenu = function() {
-        this.editor.$mouseHandler.cancelContextMenu();
-    };
-
-}).call(Autocomplete.prototype);
-
-Autocomplete.startCommand = {
-    name: "startAutocomplete",
-    exec: function(editor) {
-        if (!editor.completer)
-            editor.completer = new Autocomplete();
-        editor.completer.autoInsert = 
-        editor.completer.autoSelect = true;
-        editor.completer.showPopup(editor);
-        editor.completer.cancelContextMenu();
-    },
-    bindKey: "Ctrl-Space|Ctrl-Shift-Space|Alt-Space"
-};
-
-var FilteredList = function(array, filterText, mutateData) {
-    this.all = array;
-    this.filtered = array;
-    this.filterText = filterText || "";
-};
-(function(){
-    this.setFilter = function(str) {
-        if (str.length > this.filterText && str.lastIndexOf(this.filterText, 0) === 0)
-            var matches = this.filtered;
-        else
-            var matches = this.all;
-
-        this.filterText = str;
-        matches = this.filterCompletions(matches, this.filterText);
-        matches = matches.sort(function(a, b) {
-            return b.exactMatch - a.exactMatch || b.score - a.score;
-        });
-        var prev = null;
-        matches = matches.filter(function(item){
-            var caption = item.value || item.caption || item.snippet;
-            if (caption === prev) return false;
-            prev = caption;
-            return true;
-        });
-
-        this.filtered = matches;
-    };
-    this.filterCompletions = function(items, needle) {
-        var results = [];
-        var upper = needle.toUpperCase();
-        var lower = needle.toLowerCase();
-        loop: for (var i = 0, item; item = items[i]; i++) {
-            var caption = item.value || item.caption || item.snippet;
-            if (!caption) continue;
-            var lastIndex = -1;
-            var matchMask = 0;
-            var penalty = 0;
-            var index, distance;
-            for (var j = 0; j < needle.length; j++) {
-                var i1 = caption.indexOf(lower[j], lastIndex + 1);
-                var i2 = caption.indexOf(upper[j], lastIndex + 1);
-                index = (i1 >= 0) ? ((i2 < 0 || i1 < i2) ? i1 : i2) : i2;
-                if (index < 0)
-                    continue loop;
-                distance = index - lastIndex - 1;
-                if (distance > 0) {
-                    if (lastIndex === -1)
-                        penalty += 10;
-                    penalty += distance;
-                }
-                matchMask = matchMask | (1 << index);
-                lastIndex = index;
-            }
-            item.matchMask = matchMask;
-            item.exactMatch = penalty ? 0 : 1;
-            item.score = (item.score || 0) - penalty;
-            results.push(item);
-        }
-        return results;
-    };
-}).call(FilteredList.prototype);
-
-exports.Autocomplete = Autocomplete;
-exports.FilteredList = FilteredList;
-
-});
-
-define("ace/autocomplete/text_completer",["require","exports","module","ace/range"], function(require, exports, module) {
-    var Range = require("../range").Range;
-    
-    var splitRegex = /[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;
-
-    function getWordIndex(doc, pos) {
-        var textBefore = doc.getTextRange(Range.fromPoints({row: 0, column:0}, pos));
-        return textBefore.split(splitRegex).length - 1;
-    }
-    function wordDistance(doc, pos) {
-        var prefixPos = getWordIndex(doc, pos);
-        var words = doc.getValue().split(splitRegex);
-        var wordScores = Object.create(null);
-        
-        var currentWord = words[prefixPos];
-
-        words.forEach(function(word, idx) {
-            if (!word || word === currentWord) return;
-
-            var distance = Math.abs(prefixPos - idx);
-            var score = words.length - distance;
-            if (wordScores[word]) {
-                wordScores[word] = Math.max(score, wordScores[word]);
-            } else {
-                wordScores[word] = score;
-            }
-        });
-        return wordScores;
-    }
-
-    exports.getCompletions = function(editor, session, pos, prefix, callback) {
-        var wordScore = wordDistance(session, pos, prefix);
-        var wordList = Object.keys(wordScore);
-        callback(null, wordList.map(function(word) {
-            return {
-                caption: word,
-                value: word,
-                score: wordScore[word],
-                meta: "local"
-            };
-        }));
-    };
-});
-
-define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/autocomplete/util","ace/autocomplete/text_completer","ace/editor","ace/config"], function(require, exports, module) {
-"use strict";
-
-var snippetManager = require("../snippets").snippetManager;
-var Autocomplete = require("../autocomplete").Autocomplete;
-var config = require("../config");
-var util = require("../autocomplete/util");
-
-var textCompleter = require("../autocomplete/text_completer");
-var keyWordCompleter = {
-    getCompletions: function(editor, session, pos, prefix, callback) {
-        var state = editor.session.getState(pos.row);
-        var completions = session.$mode.getCompletions(state, session, pos, prefix);
-        callback(null, completions);
-    }
-};
-
-var snippetCompleter = {
-    getCompletions: function(editor, session, pos, prefix, callback) {
-        var snippetMap = snippetManager.snippetMap;
-        var completions = [];
-        snippetManager.getActiveScopes(editor).forEach(function(scope) {
-            var snippets = snippetMap[scope] || [];
-            for (var i = snippets.length; i--;) {
-                var s = snippets[i];
-                var caption = s.name || s.tabTrigger;
-                if (!caption)
-                    continue;
-                completions.push({
-                    caption: caption,
-                    snippet: s.content,
-                    meta: s.tabTrigger && !s.name ? s.tabTrigger + "\u21E5 " : "snippet"
-                });
-            }
-        }, this);
-        callback(null, completions);
-    }
-};
-
-var completers = [snippetCompleter, textCompleter, keyWordCompleter];
-exports.addCompleter = function(completer) {
-    completers.push(completer);
-};
-exports.textCompleter = textCompleter;
-exports.keyWordCompleter = keyWordCompleter;
-exports.snippetCompleter = snippetCompleter;
-
-var expandSnippet = {
-    name: "expandSnippet",
-    exec: function(editor) {
-        var success = snippetManager.expandWithTab(editor);
-        if (!success)
-            editor.execCommand("indent");
-    },
-    bindKey: "Tab"
-};
-
-var onChangeMode = function(e, editor) {
-    loadSnippetsForMode(editor.session.$mode);
-};
-
-var loadSnippetsForMode = function(mode) {
-    var id = mode.$id;
-    if (!snippetManager.files)
-        snippetManager.files = {};
-    loadSnippetFile(id);
-    if (mode.modes)
-        mode.modes.forEach(loadSnippetsForMode);
-};
-
-var loadSnippetFile = function(id) {
-    if (!id || snippetManager.files[id])
-        return;
-    var snippetFilePath = id.replace("mode", "snippets");
-    snippetManager.files[id] = {};
-    config.loadModule(snippetFilePath, function(m) {
-        if (m) {
-            snippetManager.files[id] = m;
-            if (!m.snippets && m.snippetText)
-                m.snippets = snippetManager.parseSnippetFile(m.snippetText);
-            snippetManager.register(m.snippets || [], m.scope);
-            if (m.includeScopes) {
-                snippetManager.snippetMap[m.scope].includeScopes = m.includeScopes;
-                m.includeScopes.forEach(function(x) {
-                    loadSnippetFile("ace/mode/" + x);
-                });
-            }
-        }
-    });
-};
-
-function getCompletionPrefix(editor) {
-    var pos = editor.getCursorPosition();
-    var line = editor.session.getLine(pos.row);
-    var prefix = util.retrievePrecedingIdentifier(line, pos.column);
-    editor.completers.forEach(function(completer) {
-        if (completer.identifierRegexps) {
-            completer.identifierRegexps.forEach(function(identifierRegex) {
-                if (!prefix && identifierRegex)
-                    prefix = util.retrievePrecedingIdentifier(line, pos.column, identifierRegex);
-            });
-        }
-    });
-    return prefix;
-}
-
-var doLiveAutocomplete = function(e) {
-    var editor = e.editor;
-    var text = e.args || "";
-    var hasCompleter = editor.completer && editor.completer.activated;
-    if (e.command.name === "backspace") {
-        if (hasCompleter && !getCompletionPrefix(editor))
-            editor.completer.detach();
-    }
-    else if (e.command.name === "insertstring") {
-        var prefix = getCompletionPrefix(editor);
-        if (prefix && !hasCompleter) {
-            if (!editor.completer) {
-                editor.completer = new Autocomplete();
-            }
-            editor.completer.autoSelect = false;
-            editor.completer.autoInsert = false;
-            editor.completer.showPopup(editor);
-        }
-    }
-};
-
-var Editor = require("../editor").Editor;
-require("../config").defineOptions(Editor.prototype, "editor", {
-    enableBasicAutocompletion: {
-        set: function(val) {
-            if (val) {
-                if (!this.completers)
-                    this.completers = Array.isArray(val)? val: completers;
-                this.commands.addCommand(Autocomplete.startCommand);
-            } else {
-                this.commands.removeCommand(Autocomplete.startCommand);
-            }
-        },
-        value: false
-    },
-    enableLiveAutocompletion: {
-        set: function(val) {
-            if (val) {
-                if (!this.completers)
-                    this.completers = Array.isArray(val)? val: completers;
-                this.commands.on('afterExec', doLiveAutocomplete);
-            } else {
-                this.commands.removeListener('afterExec', doLiveAutocomplete);
-            }
-        },
-        value: false
-    },
-    enableSnippets: {
-        set: function(val) {
-            if (val) {
-                this.commands.addCommand(expandSnippet);
-                this.on("changeMode", onChangeMode);
-                onChangeMode(null, this);
-            } else {
-                this.commands.removeCommand(expandSnippet);
-                this.off("changeMode", onChangeMode);
-            }
-        },
-        value: false
-    }
-});
-});
-;
-                (function() {
-                    window.require(["ace/ext/language_tools"], function() {});
-                })();
-            

+ 0 - 53
services/web/public/js/ace/src/ext-linking.js

@@ -1,53 +0,0 @@
-define("ace/ext/linking",["require","exports","module","ace/editor","ace/config"], function(require, exports, module) {
-
-var Editor = require("ace/editor").Editor;
-
-require("../config").defineOptions(Editor.prototype, "editor", {
-    enableLinking: {
-        set: function(val) {
-            if (val) {
-                this.on("click", onClick);
-                this.on("mousemove", onMouseMove);
-            } else {
-                this.off("click", onClick);
-                this.off("mousemove", onMouseMove);
-            }
-        },
-        value: false
-    }
-})
-
-function onMouseMove(e) {
-    var editor = e.editor;
-    var ctrl = e.getAccelKey();
-
-    if (ctrl) {
-        var editor = e.editor;
-        var docPos = e.getDocumentPosition();
-        var session = editor.session;
-        var token = session.getTokenAt(docPos.row, docPos.column);
-
-        editor._emit("linkHover", {position: docPos, token: token});
-    }
-}
-
-function onClick(e) {
-    var ctrl = e.getAccelKey();
-    var button = e.getButton();
-
-    if (button == 0 && ctrl) {
-        var editor = e.editor;
-        var docPos = e.getDocumentPosition();
-        var session = editor.session;
-        var token = session.getTokenAt(docPos.row, docPos.column);
-
-        editor._emit("linkClick", {position: docPos, token: token});
-    }
-}
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/linking"], function() {});
-                })();
-            

+ 0 - 178
services/web/public/js/ace/src/ext-modelist.js

@@ -1,178 +0,0 @@
-define("ace/ext/modelist",["require","exports","module"], function(require, exports, module) {
-"use strict";
-
-var modes = [];
-function getModeForPath(path) {
-    var mode = modesByName.text;
-    var fileName = path.split(/[\/\\]/).pop();
-    for (var i = 0; i < modes.length; i++) {
-        if (modes[i].supportsFile(fileName)) {
-            mode = modes[i];
-            break;
-        }
-    }
-    return mode;
-}
-
-var Mode = function(name, caption, extensions) {
-    this.name = name;
-    this.caption = caption;
-    this.mode = "ace/mode/" + name;
-    this.extensions = extensions;
-    if (/\^/.test(extensions)) {
-        var re = extensions.replace(/\|(\^)?/g, function(a, b){
-            return "$|" + (b ? "^" : "^.*\\.");
-        }) + "$";
-    } else {
-        var re = "^.*\\.(" + extensions + ")$";
-    }
-
-    this.extRe = new RegExp(re, "gi");
-};
-
-Mode.prototype.supportsFile = function(filename) {
-    return filename.match(this.extRe);
-};
-var supportedModes = {
-    ABAP:        ["abap"],
-    ActionScript:["as"],
-    ADA:         ["ada|adb"],
-    Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
-    AsciiDoc:    ["asciidoc"],
-    Assembly_x86:["asm"],
-    AutoHotKey:  ["ahk"],
-    BatchFile:   ["bat|cmd"],
-    C9Search:    ["c9search_results"],
-    C_Cpp:       ["cpp|c|cc|cxx|h|hh|hpp"],
-    Cirru:       ["cirru|cr"],
-    Clojure:     ["clj|cljs"],
-    Cobol:       ["CBL|COB"],
-    coffee:      ["coffee|cf|cson|^Cakefile"],
-    ColdFusion:  ["cfm"],
-    CSharp:      ["cs"],
-    CSS:         ["css"],
-    Curly:       ["curly"],
-    D:           ["d|di"],
-    Dart:        ["dart"],
-    Diff:        ["diff|patch"],
-    Dockerfile:  ["^Dockerfile"],
-    Dot:         ["dot"],
-    Erlang:      ["erl|hrl"],
-    EJS:         ["ejs"],
-    Forth:       ["frt|fs|ldr"],
-    FTL:         ["ftl"],
-    Gherkin:     ["feature"],
-    Gitignore:   ["^.gitignore"],
-    Glsl:        ["glsl|frag|vert"],
-    golang:      ["go"],
-    Groovy:      ["groovy"],
-    HAML:        ["haml"],
-    Handlebars:  ["hbs|handlebars|tpl|mustache"],
-    Haskell:     ["hs"],
-    haXe:        ["hx"],
-    HTML:        ["html|htm|xhtml"],
-    HTML_Ruby:   ["erb|rhtml|html.erb"],
-    INI:         ["ini|conf|cfg|prefs"],
-    Jack:        ["jack"],
-    Jade:        ["jade"],
-    Java:        ["java"],
-    JavaScript:  ["js|jsm"],
-    JSON:        ["json"],
-    JSONiq:      ["jq"],
-    JSP:         ["jsp"],
-    JSX:         ["jsx"],
-    Julia:       ["jl"],
-    LaTeX:       ["tex|latex|ltx|bib"],
-    LESS:        ["less"],
-    Liquid:      ["liquid"],
-    Lisp:        ["lisp"],
-    LiveScript:  ["ls"],
-    LogiQL:      ["logic|lql"],
-    LSL:         ["lsl"],
-    Lua:         ["lua"],
-    LuaPage:     ["lp"],
-    Lucene:      ["lucene"],
-    Makefile:    ["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],
-    MATLAB:      ["matlab"],
-    Markdown:    ["md|markdown"],
-    MEL:         ["mel"],
-    MySQL:       ["mysql"],
-    MUSHCode:    ["mc|mush"],
-    Nix:         ["nix"],
-    ObjectiveC:  ["m|mm"],
-    OCaml:       ["ml|mli"],
-    Pascal:      ["pas|p"],
-    Perl:        ["pl|pm"],
-    pgSQL:       ["pgsql"],
-    PHP:         ["php|phtml"],
-    Powershell:  ["ps1"],
-    Prolog:      ["plg|prolog"],
-    Properties:  ["properties"],
-    Protobuf:    ["proto"],
-    Python:      ["py"],
-    R:           ["r"],
-    RDoc:        ["Rd"],
-    RHTML:       ["Rhtml"],
-    Ruby:        ["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],
-    Rust:        ["rs"],
-    SASS:        ["sass"],
-    SCAD:        ["scad"],
-    Scala:       ["scala"],
-    Smarty:      ["smarty|tpl"],
-    Scheme:      ["scm|rkt"],
-    SCSS:        ["scss"],
-    SH:          ["sh|bash|^.bashrc"],
-    SJS:         ["sjs"],
-    Space:       ["space"],
-    snippets:    ["snippets"],
-    Soy_Template:["soy"],
-    SQL:         ["sql"],
-    Stylus:      ["styl|stylus"],
-    SVG:         ["svg"],
-    Tcl:         ["tcl"],
-    Tex:         ["tex"],
-    Text:        ["txt"],
-    Textile:     ["textile"],
-    Toml:        ["toml"],
-    Twig:        ["twig"],
-    Typescript:  ["ts|typescript|str"],
-    Vala:        ["vala"],
-    VBScript:    ["vbs"],
-    Velocity:    ["vm"],
-    Verilog:     ["v|vh|sv|svh"],
-    XML:         ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],
-    XQuery:      ["xq"],
-    YAML:        ["yaml|yml"]
-};
-
-var nameOverrides = {
-    ObjectiveC: "Objective-C",
-    CSharp: "C#",
-    golang: "Go",
-    C_Cpp: "C/C++",
-    coffee: "CoffeeScript",
-    HTML_Ruby: "HTML (Ruby)",
-    FTL: "FreeMarker"
-};
-var modesByName = {};
-for (var name in supportedModes) {
-    var data = supportedModes[name];
-    var displayName = (nameOverrides[name] || name).replace(/_/g, " ");
-    var filename = name.toLowerCase();
-    var mode = new Mode(filename, displayName, data[0]);
-    modesByName[filename] = mode;
-    modes.push(mode);
-}
-
-module.exports = {
-    getModeForPath: getModeForPath,
-    modes: modes,
-    modesByName: modesByName
-};
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/modelist"], function() {});
-                })();
-            

+ 0 - 478
services/web/public/js/ace/src/ext-old_ie.js

@@ -1,478 +0,0 @@
-define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"], function(require, exports, module) {
-"use strict";
-
-var dom = require("../lib/dom");
-var lang = require("../lib/lang");
-var event = require("../lib/event");
-var searchboxCss = "\
-.ace_search {\
-background-color: #ddd;\
-border: 1px solid #cbcbcb;\
-border-top: 0 none;\
-max-width: 297px;\
-overflow: hidden;\
-margin: 0;\
-padding: 4px;\
-padding-right: 6px;\
-padding-bottom: 0;\
-position: absolute;\
-top: 0px;\
-z-index: 99;\
-white-space: normal;\
-}\
-.ace_search.left {\
-border-left: 0 none;\
-border-radius: 0px 0px 5px 0px;\
-left: 0;\
-}\
-.ace_search.right {\
-border-radius: 0px 0px 0px 5px;\
-border-right: 0 none;\
-right: 0;\
-}\
-.ace_search_form, .ace_replace_form {\
-border-radius: 3px;\
-border: 1px solid #cbcbcb;\
-float: left;\
-margin-bottom: 4px;\
-overflow: hidden;\
-}\
-.ace_search_form.ace_nomatch {\
-outline: 1px solid red;\
-}\
-.ace_search_field {\
-background-color: white;\
-border-right: 1px solid #cbcbcb;\
-border: 0 none;\
--webkit-box-sizing: border-box;\
--moz-box-sizing: border-box;\
-box-sizing: border-box;\
-display: block;\
-float: left;\
-height: 22px;\
-outline: 0;\
-padding: 0 7px;\
-width: 214px;\
-margin: 0;\
-}\
-.ace_searchbtn,\
-.ace_replacebtn {\
-background: #fff;\
-border: 0 none;\
-border-left: 1px solid #dcdcdc;\
-cursor: pointer;\
-display: block;\
-float: left;\
-height: 22px;\
-margin: 0;\
-padding: 0;\
-position: relative;\
-}\
-.ace_searchbtn:last-child,\
-.ace_replacebtn:last-child {\
-border-top-right-radius: 3px;\
-border-bottom-right-radius: 3px;\
-}\
-.ace_searchbtn:disabled {\
-background: none;\
-cursor: default;\
-}\
-.ace_searchbtn {\
-background-position: 50% 50%;\
-background-repeat: no-repeat;\
-width: 27px;\
-}\
-.ace_searchbtn.prev {\
-background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=);    \
-}\
-.ace_searchbtn.next {\
-background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=);    \
-}\
-.ace_searchbtn_close {\
-background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\
-border-radius: 50%;\
-border: 0 none;\
-color: #656565;\
-cursor: pointer;\
-display: block;\
-float: right;\
-font-family: Arial;\
-font-size: 16px;\
-height: 14px;\
-line-height: 16px;\
-margin: 5px 1px 9px 5px;\
-padding: 0;\
-text-align: center;\
-width: 14px;\
-}\
-.ace_searchbtn_close:hover {\
-background-color: #656565;\
-background-position: 50% 100%;\
-color: white;\
-}\
-.ace_replacebtn.prev {\
-width: 54px\
-}\
-.ace_replacebtn.next {\
-width: 27px\
-}\
-.ace_button {\
-margin-left: 2px;\
-cursor: pointer;\
--webkit-user-select: none;\
--moz-user-select: none;\
--o-user-select: none;\
--ms-user-select: none;\
-user-select: none;\
-overflow: hidden;\
-opacity: 0.7;\
-border: 1px solid rgba(100,100,100,0.23);\
-padding: 1px;\
--moz-box-sizing: border-box;\
-box-sizing:    border-box;\
-color: black;\
-}\
-.ace_button:hover {\
-background-color: #eee;\
-opacity:1;\
-}\
-.ace_button:active {\
-background-color: #ddd;\
-}\
-.ace_button.checked {\
-border-color: #3399ff;\
-opacity:1;\
-}\
-.ace_search_options{\
-margin-bottom: 3px;\
-text-align: right;\
--webkit-user-select: none;\
--moz-user-select: none;\
--o-user-select: none;\
--ms-user-select: none;\
-user-select: none;\
-}";
-var HashHandler = require("../keyboard/hash_handler").HashHandler;
-var keyUtil = require("../lib/keys");
-
-dom.importCssString(searchboxCss, "ace_searchbox");
-
-var html = '<div class="ace_search right">\
-    <button type="button" action="hide" class="ace_searchbtn_close"></button>\
-    <div class="ace_search_form">\
-        <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input>\
-        <button type="button" action="findNext" class="ace_searchbtn next"></button>\
-        <button type="button" action="findPrev" class="ace_searchbtn prev"></button>\
-    </div>\
-    <div class="ace_replace_form">\
-        <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input>\
-        <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button>\
-        <button type="button" action="replaceAll" class="ace_replacebtn">All</button>\
-    </div>\
-    <div class="ace_search_options">\
-        <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span>\
-        <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span>\
-        <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span>\
-    </div>\
-</div>'.replace(/>\s+/g, ">");
-
-var SearchBox = function(editor, range, showReplaceForm) {
-    var div = dom.createElement("div");
-    div.innerHTML = html;
-    this.element = div.firstChild;
-
-    this.$init();
-    this.setEditor(editor);
-};
-
-(function() {
-    this.setEditor = function(editor) {
-        editor.searchBox = this;
-        editor.container.appendChild(this.element);
-        this.editor = editor;
-    };
-
-    this.$initElements = function(sb) {
-        this.searchBox = sb.querySelector(".ace_search_form");
-        this.replaceBox = sb.querySelector(".ace_replace_form");
-        this.searchOptions = sb.querySelector(".ace_search_options");
-        this.regExpOption = sb.querySelector("[action=toggleRegexpMode]");
-        this.caseSensitiveOption = sb.querySelector("[action=toggleCaseSensitive]");
-        this.wholeWordOption = sb.querySelector("[action=toggleWholeWords]");
-        this.searchInput = this.searchBox.querySelector(".ace_search_field");
-        this.replaceInput = this.replaceBox.querySelector(".ace_search_field");
-    };
-    
-    this.$init = function() {
-        var sb = this.element;
-        
-        this.$initElements(sb);
-        
-        var _this = this;
-        event.addListener(sb, "mousedown", function(e) {
-            setTimeout(function(){
-                _this.activeInput.focus();
-            }, 0);
-            event.stopPropagation(e);
-        });
-        event.addListener(sb, "click", function(e) {
-            var t = e.target || e.srcElement;
-            var action = t.getAttribute("action");
-            if (action && _this[action])
-                _this[action]();
-            else if (_this.$searchBarKb.commands[action])
-                _this.$searchBarKb.commands[action].exec(_this);
-            event.stopPropagation(e);
-        });
-
-        event.addCommandKeyListener(sb, function(e, hashId, keyCode) {
-            var keyString = keyUtil.keyCodeToString(keyCode);
-            var command = _this.$searchBarKb.findKeyCommand(hashId, keyString);
-            if (command && command.exec) {
-                command.exec(_this);
-                event.stopEvent(e);
-            }
-        });
-
-        this.$onChange = lang.delayedCall(function() {
-            _this.find(false, false);
-        });
-
-        event.addListener(this.searchInput, "input", function() {
-            _this.$onChange.schedule(20);
-        });
-        event.addListener(this.searchInput, "focus", function() {
-            _this.activeInput = _this.searchInput;
-            _this.searchInput.value && _this.highlight();
-        });
-        event.addListener(this.replaceInput, "focus", function() {
-            _this.activeInput = _this.replaceInput;
-            _this.searchInput.value && _this.highlight();
-        });
-    };
-    this.$closeSearchBarKb = new HashHandler([{
-        bindKey: "Esc",
-        name: "closeSearchBar",
-        exec: function(editor) {
-            editor.searchBox.hide();
-        }
-    }]);
-    this.$searchBarKb = new HashHandler();
-    this.$searchBarKb.bindKeys({
-        "Ctrl-f|Command-f|Ctrl-H|Command-Option-F": function(sb) {
-            var isReplace = sb.isReplace = !sb.isReplace;
-            sb.replaceBox.style.display = isReplace ? "" : "none";
-            sb[isReplace ? "replaceInput" : "searchInput"].focus();
-        },
-        "Ctrl-G|Command-G": function(sb) {
-            sb.findNext();
-        },
-        "Ctrl-Shift-G|Command-Shift-G": function(sb) {
-            sb.findPrev();
-        },
-        "esc": function(sb) {
-            setTimeout(function() { sb.hide();});
-        },
-        "Return": function(sb) {
-            if (sb.activeInput == sb.replaceInput)
-                sb.replace();
-            sb.findNext();
-        },
-        "Shift-Return": function(sb) {
-            if (sb.activeInput == sb.replaceInput)
-                sb.replace();
-            sb.findPrev();
-        },
-        "Tab": function(sb) {
-            (sb.activeInput == sb.replaceInput ? sb.searchInput : sb.replaceInput).focus();
-        }
-    });
-
-    this.$searchBarKb.addCommands([{
-        name: "toggleRegexpMode",
-        bindKey: {win: "Alt-R|Alt-/", mac: "Ctrl-Alt-R|Ctrl-Alt-/"},
-        exec: function(sb) {
-            sb.regExpOption.checked = !sb.regExpOption.checked;
-            sb.$syncOptions();
-        }
-    }, {
-        name: "toggleCaseSensitive",
-        bindKey: {win: "Alt-C|Alt-I", mac: "Ctrl-Alt-R|Ctrl-Alt-I"},
-        exec: function(sb) {
-            sb.caseSensitiveOption.checked = !sb.caseSensitiveOption.checked;
-            sb.$syncOptions();
-        }
-    }, {
-        name: "toggleWholeWords",
-        bindKey: {win: "Alt-B|Alt-W", mac: "Ctrl-Alt-B|Ctrl-Alt-W"},
-        exec: function(sb) {
-            sb.wholeWordOption.checked = !sb.wholeWordOption.checked;
-            sb.$syncOptions();
-        }
-    }]);
-
-    this.$syncOptions = function() {
-        dom.setCssClass(this.regExpOption, "checked", this.regExpOption.checked);
-        dom.setCssClass(this.wholeWordOption, "checked", this.wholeWordOption.checked);
-        dom.setCssClass(this.caseSensitiveOption, "checked", this.caseSensitiveOption.checked);
-        this.find(false, false);
-    };
-
-    this.highlight = function(re) {
-        this.editor.session.highlight(re || this.editor.$search.$options.re);
-        this.editor.renderer.updateBackMarkers()
-    };
-    this.find = function(skipCurrent, backwards) {
-        var range = this.editor.find(this.searchInput.value, {
-            skipCurrent: skipCurrent,
-            backwards: backwards,
-            wrap: true,
-            regExp: this.regExpOption.checked,
-            caseSensitive: this.caseSensitiveOption.checked,
-            wholeWord: this.wholeWordOption.checked
-        });
-        var noMatch = !range && this.searchInput.value;
-        dom.setCssClass(this.searchBox, "ace_nomatch", noMatch);
-        this.editor._emit("findSearchBox", { match: !noMatch });
-        this.highlight();
-    };
-    this.findNext = function() {
-        this.find(true, false);
-    };
-    this.findPrev = function() {
-        this.find(true, true);
-    };
-    this.replace = function() {
-        if (!this.editor.getReadOnly())
-            this.editor.replace(this.replaceInput.value);
-    };    
-    this.replaceAndFindNext = function() {
-        if (!this.editor.getReadOnly()) {
-            this.editor.replace(this.replaceInput.value);
-            this.findNext()
-        }
-    };
-    this.replaceAll = function() {
-        if (!this.editor.getReadOnly())
-            this.editor.replaceAll(this.replaceInput.value);
-    };
-
-    this.hide = function() {
-        this.element.style.display = "none";
-        this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb);
-        this.editor.focus();
-    };
-    this.show = function(value, isReplace) {
-        this.element.style.display = "";
-        this.replaceBox.style.display = isReplace ? "" : "none";
-
-        this.isReplace = isReplace;
-
-        if (value)
-            this.searchInput.value = value;
-        this.searchInput.focus();
-        this.searchInput.select();
-
-        this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb);
-    };
-
-}).call(SearchBox.prototype);
-
-exports.SearchBox = SearchBox;
-
-exports.Search = function(editor, isReplace) {
-    var sb = editor.searchBox || new SearchBox(editor);
-    sb.show(editor.session.getTextRange(), isReplace);
-};
-
-});
-
-define("ace/ext/old_ie",["require","exports","module","ace/lib/useragent","ace/tokenizer","ace/ext/searchbox","ace/mode/text"], function(require, exports, module) {
-"use strict";
-var MAX_TOKEN_COUNT = 1000;
-var useragent = require("../lib/useragent");
-var TokenizerModule = require("../tokenizer");
-
-function patch(obj, name, regexp, replacement) {
-    eval("obj['" + name + "']=" + obj[name].toString().replace(
-        regexp, replacement
-    ));
-}
-
-if (useragent.isIE && useragent.isIE < 10 && window.top.document.compatMode === "BackCompat")
-    useragent.isOldIE = true;
-
-if (typeof document != "undefined" && !document.documentElement.querySelector) {    
-    useragent.isOldIE = true;
-    var qs = function(el, selector) {
-        if (selector.charAt(0) == ".") {
-            var classNeme = selector.slice(1);
-        } else {
-            var m = selector.match(/(\w+)=(\w+)/);
-            var attr = m && m[1];
-            var attrVal = m && m[2];
-        }
-        for (var i = 0; i < el.all.length; i++) {
-            var ch = el.all[i];
-            if (classNeme) {
-                if (ch.className.indexOf(classNeme) != -1)
-                    return ch;
-            } else if (attr) {
-                if (ch.getAttribute(attr) == attrVal)
-                    return ch;
-            }
-        }
-    };
-    var sb = require("./searchbox").SearchBox.prototype;
-    patch(
-        sb, "$initElements",
-        /([^\s=]*).querySelector\((".*?")\)/g, 
-        "qs($1, $2)"
-    );
-}
-    
-var compliantExecNpcg = /()??/.exec("")[1] === undefined;
-if (compliantExecNpcg)
-    return;
-var proto = TokenizerModule.Tokenizer.prototype;
-TokenizerModule.Tokenizer_orig = TokenizerModule.Tokenizer;
-proto.getLineTokens_orig = proto.getLineTokens;
-
-patch(
-    TokenizerModule, "Tokenizer",
-    "ruleRegExps.push(adjustedregex);\n", 
-    function(m) {
-        return m + '\
-        if (state[i].next && RegExp(adjustedregex).test(""))\n\
-            rule._qre = RegExp(adjustedregex, "g");\n\
-        ';
-    }
-);
-TokenizerModule.Tokenizer.prototype = proto;
-patch(
-    proto, "getLineTokens",
-    /if \(match\[i \+ 1\] === undefined\)\s*continue;/, 
-    "if (!match[i + 1]) {\n\
-        if (value)continue;\n\
-        var qre = state[mapping[i]]._qre;\n\
-        if (!qre) continue;\n\
-        qre.lastIndex = lastIndex;\n\
-        if (!qre.exec(line) || qre.lastIndex != lastIndex)\n\
-            continue;\n\
-    }"
-);
-
-patch(
-    require("../mode/text").Mode.prototype, "getTokenizer",
-    /Tokenizer/,
-    "TokenizerModule.Tokenizer"
-);
-
-useragent.isOldIE = true;
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/old_ie"], function() {});
-                })();
-            

+ 0 - 393
services/web/public/js/ace/src/ext-searchbox.js

@@ -1,393 +0,0 @@
-define("ace/ext/searchbox",["require","exports","module","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/keyboard/hash_handler","ace/lib/keys"], function(require, exports, module) {
-"use strict";
-
-var dom = require("../lib/dom");
-var lang = require("../lib/lang");
-var event = require("../lib/event");
-var searchboxCss = "\
-.ace_search {\
-background-color: #ddd;\
-border: 1px solid #cbcbcb;\
-border-top: 0 none;\
-max-width: 297px;\
-overflow: hidden;\
-margin: 0;\
-padding: 4px;\
-padding-right: 6px;\
-padding-bottom: 0;\
-position: absolute;\
-top: 0px;\
-z-index: 99;\
-white-space: normal;\
-}\
-.ace_search.left {\
-border-left: 0 none;\
-border-radius: 0px 0px 5px 0px;\
-left: 0;\
-}\
-.ace_search.right {\
-border-radius: 0px 0px 0px 5px;\
-border-right: 0 none;\
-right: 0;\
-}\
-.ace_search_form, .ace_replace_form {\
-border-radius: 3px;\
-border: 1px solid #cbcbcb;\
-float: left;\
-margin-bottom: 4px;\
-overflow: hidden;\
-}\
-.ace_search_form.ace_nomatch {\
-outline: 1px solid red;\
-}\
-.ace_search_field {\
-background-color: white;\
-border-right: 1px solid #cbcbcb;\
-border: 0 none;\
--webkit-box-sizing: border-box;\
--moz-box-sizing: border-box;\
-box-sizing: border-box;\
-display: block;\
-float: left;\
-height: 22px;\
-outline: 0;\
-padding: 0 7px;\
-width: 214px;\
-margin: 0;\
-}\
-.ace_searchbtn,\
-.ace_replacebtn {\
-background: #fff;\
-border: 0 none;\
-border-left: 1px solid #dcdcdc;\
-cursor: pointer;\
-display: block;\
-float: left;\
-height: 22px;\
-margin: 0;\
-padding: 0;\
-position: relative;\
-}\
-.ace_searchbtn:last-child,\
-.ace_replacebtn:last-child {\
-border-top-right-radius: 3px;\
-border-bottom-right-radius: 3px;\
-}\
-.ace_searchbtn:disabled {\
-background: none;\
-cursor: default;\
-}\
-.ace_searchbtn {\
-background-position: 50% 50%;\
-background-repeat: no-repeat;\
-width: 27px;\
-}\
-.ace_searchbtn.prev {\
-background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADFJREFUeNpiSU1NZUAC/6E0I0yACYskCpsJiySKIiY0SUZk40FyTEgCjGgKwTRAgAEAQJUIPCE+qfkAAAAASUVORK5CYII=);    \
-}\
-.ace_searchbtn.next {\
-background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAYAAAB4ka1VAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAADRJREFUeNpiTE1NZQCC/0DMyIAKwGJMUAYDEo3M/s+EpvM/mkKwCQxYjIeLMaELoLMBAgwAU7UJObTKsvAAAAAASUVORK5CYII=);    \
-}\
-.ace_searchbtn_close {\
-background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAcCAYAAABRVo5BAAAAZ0lEQVR42u2SUQrAMAhDvazn8OjZBilCkYVVxiis8H4CT0VrAJb4WHT3C5xU2a2IQZXJjiQIRMdkEoJ5Q2yMqpfDIo+XY4k6h+YXOyKqTIj5REaxloNAd0xiKmAtsTHqW8sR2W5f7gCu5nWFUpVjZwAAAABJRU5ErkJggg==) no-repeat 50% 0;\
-border-radius: 50%;\
-border: 0 none;\
-color: #656565;\
-cursor: pointer;\
-display: block;\
-float: right;\
-font-family: Arial;\
-font-size: 16px;\
-height: 14px;\
-line-height: 16px;\
-margin: 5px 1px 9px 5px;\
-padding: 0;\
-text-align: center;\
-width: 14px;\
-}\
-.ace_searchbtn_close:hover {\
-background-color: #656565;\
-background-position: 50% 100%;\
-color: white;\
-}\
-.ace_replacebtn.prev {\
-width: 54px\
-}\
-.ace_replacebtn.next {\
-width: 27px\
-}\
-.ace_button {\
-margin-left: 2px;\
-cursor: pointer;\
--webkit-user-select: none;\
--moz-user-select: none;\
--o-user-select: none;\
--ms-user-select: none;\
-user-select: none;\
-overflow: hidden;\
-opacity: 0.7;\
-border: 1px solid rgba(100,100,100,0.23);\
-padding: 1px;\
--moz-box-sizing: border-box;\
-box-sizing:    border-box;\
-color: black;\
-}\
-.ace_button:hover {\
-background-color: #eee;\
-opacity:1;\
-}\
-.ace_button:active {\
-background-color: #ddd;\
-}\
-.ace_button.checked {\
-border-color: #3399ff;\
-opacity:1;\
-}\
-.ace_search_options{\
-margin-bottom: 3px;\
-text-align: right;\
--webkit-user-select: none;\
--moz-user-select: none;\
--o-user-select: none;\
--ms-user-select: none;\
-user-select: none;\
-}";
-var HashHandler = require("../keyboard/hash_handler").HashHandler;
-var keyUtil = require("../lib/keys");
-
-dom.importCssString(searchboxCss, "ace_searchbox");
-
-var html = '<div class="ace_search right">\
-    <button type="button" action="hide" class="ace_searchbtn_close"></button>\
-    <div class="ace_search_form">\
-        <input class="ace_search_field" placeholder="Search for" spellcheck="false"></input>\
-        <button type="button" action="findNext" class="ace_searchbtn next"></button>\
-        <button type="button" action="findPrev" class="ace_searchbtn prev"></button>\
-    </div>\
-    <div class="ace_replace_form">\
-        <input class="ace_search_field" placeholder="Replace with" spellcheck="false"></input>\
-        <button type="button" action="replaceAndFindNext" class="ace_replacebtn">Replace</button>\
-        <button type="button" action="replaceAll" class="ace_replacebtn">All</button>\
-    </div>\
-    <div class="ace_search_options">\
-        <span action="toggleRegexpMode" class="ace_button" title="RegExp Search">.*</span>\
-        <span action="toggleCaseSensitive" class="ace_button" title="CaseSensitive Search">Aa</span>\
-        <span action="toggleWholeWords" class="ace_button" title="Whole Word Search">\\b</span>\
-    </div>\
-</div>'.replace(/>\s+/g, ">");
-
-var SearchBox = function(editor, range, showReplaceForm) {
-    var div = dom.createElement("div");
-    div.innerHTML = html;
-    this.element = div.firstChild;
-
-    this.$init();
-    this.setEditor(editor);
-};
-
-(function() {
-    this.setEditor = function(editor) {
-        editor.searchBox = this;
-        editor.container.appendChild(this.element);
-        this.editor = editor;
-    };
-
-    this.$initElements = function(sb) {
-        this.searchBox = sb.querySelector(".ace_search_form");
-        this.replaceBox = sb.querySelector(".ace_replace_form");
-        this.searchOptions = sb.querySelector(".ace_search_options");
-        this.regExpOption = sb.querySelector("[action=toggleRegexpMode]");
-        this.caseSensitiveOption = sb.querySelector("[action=toggleCaseSensitive]");
-        this.wholeWordOption = sb.querySelector("[action=toggleWholeWords]");
-        this.searchInput = this.searchBox.querySelector(".ace_search_field");
-        this.replaceInput = this.replaceBox.querySelector(".ace_search_field");
-    };
-    
-    this.$init = function() {
-        var sb = this.element;
-        
-        this.$initElements(sb);
-        
-        var _this = this;
-        event.addListener(sb, "mousedown", function(e) {
-            setTimeout(function(){
-                _this.activeInput.focus();
-            }, 0);
-            event.stopPropagation(e);
-        });
-        event.addListener(sb, "click", function(e) {
-            var t = e.target || e.srcElement;
-            var action = t.getAttribute("action");
-            if (action && _this[action])
-                _this[action]();
-            else if (_this.$searchBarKb.commands[action])
-                _this.$searchBarKb.commands[action].exec(_this);
-            event.stopPropagation(e);
-        });
-
-        event.addCommandKeyListener(sb, function(e, hashId, keyCode) {
-            var keyString = keyUtil.keyCodeToString(keyCode);
-            var command = _this.$searchBarKb.findKeyCommand(hashId, keyString);
-            if (command && command.exec) {
-                command.exec(_this);
-                event.stopEvent(e);
-            }
-        });
-
-        this.$onChange = lang.delayedCall(function() {
-            _this.find(false, false);
-        });
-
-        event.addListener(this.searchInput, "input", function() {
-            _this.$onChange.schedule(20);
-        });
-        event.addListener(this.searchInput, "focus", function() {
-            _this.activeInput = _this.searchInput;
-            _this.searchInput.value && _this.highlight();
-        });
-        event.addListener(this.replaceInput, "focus", function() {
-            _this.activeInput = _this.replaceInput;
-            _this.searchInput.value && _this.highlight();
-        });
-    };
-    this.$closeSearchBarKb = new HashHandler([{
-        bindKey: "Esc",
-        name: "closeSearchBar",
-        exec: function(editor) {
-            editor.searchBox.hide();
-        }
-    }]);
-    this.$searchBarKb = new HashHandler();
-    this.$searchBarKb.bindKeys({
-        "Ctrl-f|Command-f|Ctrl-H|Command-Option-F": function(sb) {
-            var isReplace = sb.isReplace = !sb.isReplace;
-            sb.replaceBox.style.display = isReplace ? "" : "none";
-            sb[isReplace ? "replaceInput" : "searchInput"].focus();
-        },
-        "Ctrl-G|Command-G": function(sb) {
-            sb.findNext();
-        },
-        "Ctrl-Shift-G|Command-Shift-G": function(sb) {
-            sb.findPrev();
-        },
-        "esc": function(sb) {
-            setTimeout(function() { sb.hide();});
-        },
-        "Return": function(sb) {
-            if (sb.activeInput == sb.replaceInput)
-                sb.replace();
-            sb.findNext();
-        },
-        "Shift-Return": function(sb) {
-            if (sb.activeInput == sb.replaceInput)
-                sb.replace();
-            sb.findPrev();
-        },
-        "Tab": function(sb) {
-            (sb.activeInput == sb.replaceInput ? sb.searchInput : sb.replaceInput).focus();
-        }
-    });
-
-    this.$searchBarKb.addCommands([{
-        name: "toggleRegexpMode",
-        bindKey: {win: "Alt-R|Alt-/", mac: "Ctrl-Alt-R|Ctrl-Alt-/"},
-        exec: function(sb) {
-            sb.regExpOption.checked = !sb.regExpOption.checked;
-            sb.$syncOptions();
-        }
-    }, {
-        name: "toggleCaseSensitive",
-        bindKey: {win: "Alt-C|Alt-I", mac: "Ctrl-Alt-R|Ctrl-Alt-I"},
-        exec: function(sb) {
-            sb.caseSensitiveOption.checked = !sb.caseSensitiveOption.checked;
-            sb.$syncOptions();
-        }
-    }, {
-        name: "toggleWholeWords",
-        bindKey: {win: "Alt-B|Alt-W", mac: "Ctrl-Alt-B|Ctrl-Alt-W"},
-        exec: function(sb) {
-            sb.wholeWordOption.checked = !sb.wholeWordOption.checked;
-            sb.$syncOptions();
-        }
-    }]);
-
-    this.$syncOptions = function() {
-        dom.setCssClass(this.regExpOption, "checked", this.regExpOption.checked);
-        dom.setCssClass(this.wholeWordOption, "checked", this.wholeWordOption.checked);
-        dom.setCssClass(this.caseSensitiveOption, "checked", this.caseSensitiveOption.checked);
-        this.find(false, false);
-    };
-
-    this.highlight = function(re) {
-        this.editor.session.highlight(re || this.editor.$search.$options.re);
-        this.editor.renderer.updateBackMarkers()
-    };
-    this.find = function(skipCurrent, backwards) {
-        var range = this.editor.find(this.searchInput.value, {
-            skipCurrent: skipCurrent,
-            backwards: backwards,
-            wrap: true,
-            regExp: this.regExpOption.checked,
-            caseSensitive: this.caseSensitiveOption.checked,
-            wholeWord: this.wholeWordOption.checked
-        });
-        var noMatch = !range && this.searchInput.value;
-        dom.setCssClass(this.searchBox, "ace_nomatch", noMatch);
-        this.editor._emit("findSearchBox", { match: !noMatch });
-        this.highlight();
-    };
-    this.findNext = function() {
-        this.find(true, false);
-    };
-    this.findPrev = function() {
-        this.find(true, true);
-    };
-    this.replace = function() {
-        if (!this.editor.getReadOnly())
-            this.editor.replace(this.replaceInput.value);
-    };    
-    this.replaceAndFindNext = function() {
-        if (!this.editor.getReadOnly()) {
-            this.editor.replace(this.replaceInput.value);
-            this.findNext()
-        }
-    };
-    this.replaceAll = function() {
-        if (!this.editor.getReadOnly())
-            this.editor.replaceAll(this.replaceInput.value);
-    };
-
-    this.hide = function() {
-        this.element.style.display = "none";
-        this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb);
-        this.editor.focus();
-    };
-    this.show = function(value, isReplace) {
-        this.element.style.display = "";
-        this.replaceBox.style.display = isReplace ? "" : "none";
-
-        this.isReplace = isReplace;
-
-        if (value)
-            this.searchInput.value = value;
-        this.searchInput.focus();
-        this.searchInput.select();
-
-        this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb);
-    };
-
-}).call(SearchBox.prototype);
-
-exports.SearchBox = SearchBox;
-
-exports.Search = function(editor, isReplace) {
-    var sb = editor.searchBox || new SearchBox(editor);
-    sb.show(editor.session.getTextRange(), isReplace);
-};
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/searchbox"], function() {});
-                })();
-            

+ 0 - 622
services/web/public/js/ace/src/ext-settings_menu.js

@@ -1,622 +0,0 @@
-define("ace/ext/menu_tools/element_generator",["require","exports","module"], function(require, exports, module) {
-'use strict';
-module.exports.createOption = function createOption (obj) {
-    var attribute;
-    var el = document.createElement('option');
-    for(attribute in obj) {
-        if(obj.hasOwnProperty(attribute)) {
-            if(attribute === 'selected') {
-                el.setAttribute(attribute, obj[attribute]);
-            } else {
-                el[attribute] = obj[attribute];
-            }
-        }
-    }
-    return el;
-};
-module.exports.createCheckbox = function createCheckbox (id, checked, clss) {
-    var el = document.createElement('input');
-    el.setAttribute('type', 'checkbox');
-    el.setAttribute('id', id);
-    el.setAttribute('name', id);
-    el.setAttribute('value', checked);
-    el.setAttribute('class', clss);
-    if(checked) {
-        el.setAttribute('checked', 'checked');
-    }
-    return el;
-};
-module.exports.createInput = function createInput (id, value, clss) {
-    var el = document.createElement('input');
-    el.setAttribute('type', 'text');
-    el.setAttribute('id', id);
-    el.setAttribute('name', id);
-    el.setAttribute('value', value);
-    el.setAttribute('class', clss);
-    return el;
-};
-module.exports.createLabel = function createLabel (text, labelFor) {
-    var el = document.createElement('label');
-    el.setAttribute('for', labelFor);
-    el.textContent = text;
-    return el;
-};
-module.exports.createSelection = function createSelection (id, values, clss) {
-    var el = document.createElement('select');
-    el.setAttribute('id', id);
-    el.setAttribute('name', id);
-    el.setAttribute('class', clss);
-    values.forEach(function(item) {
-        el.appendChild(module.exports.createOption(item));
-    });
-    return el;
-};
-
-});
-
-define("ace/ext/modelist",["require","exports","module"], function(require, exports, module) {
-"use strict";
-
-var modes = [];
-function getModeForPath(path) {
-    var mode = modesByName.text;
-    var fileName = path.split(/[\/\\]/).pop();
-    for (var i = 0; i < modes.length; i++) {
-        if (modes[i].supportsFile(fileName)) {
-            mode = modes[i];
-            break;
-        }
-    }
-    return mode;
-}
-
-var Mode = function(name, caption, extensions) {
-    this.name = name;
-    this.caption = caption;
-    this.mode = "ace/mode/" + name;
-    this.extensions = extensions;
-    if (/\^/.test(extensions)) {
-        var re = extensions.replace(/\|(\^)?/g, function(a, b){
-            return "$|" + (b ? "^" : "^.*\\.");
-        }) + "$";
-    } else {
-        var re = "^.*\\.(" + extensions + ")$";
-    }
-
-    this.extRe = new RegExp(re, "gi");
-};
-
-Mode.prototype.supportsFile = function(filename) {
-    return filename.match(this.extRe);
-};
-var supportedModes = {
-    ABAP:        ["abap"],
-    ActionScript:["as"],
-    ADA:         ["ada|adb"],
-    Apache_Conf: ["^htaccess|^htgroups|^htpasswd|^conf|htaccess|htgroups|htpasswd"],
-    AsciiDoc:    ["asciidoc"],
-    Assembly_x86:["asm"],
-    AutoHotKey:  ["ahk"],
-    BatchFile:   ["bat|cmd"],
-    C9Search:    ["c9search_results"],
-    C_Cpp:       ["cpp|c|cc|cxx|h|hh|hpp"],
-    Cirru:       ["cirru|cr"],
-    Clojure:     ["clj|cljs"],
-    Cobol:       ["CBL|COB"],
-    coffee:      ["coffee|cf|cson|^Cakefile"],
-    ColdFusion:  ["cfm"],
-    CSharp:      ["cs"],
-    CSS:         ["css"],
-    Curly:       ["curly"],
-    D:           ["d|di"],
-    Dart:        ["dart"],
-    Diff:        ["diff|patch"],
-    Dockerfile:  ["^Dockerfile"],
-    Dot:         ["dot"],
-    Erlang:      ["erl|hrl"],
-    EJS:         ["ejs"],
-    Forth:       ["frt|fs|ldr"],
-    FTL:         ["ftl"],
-    Gherkin:     ["feature"],
-    Gitignore:   ["^.gitignore"],
-    Glsl:        ["glsl|frag|vert"],
-    golang:      ["go"],
-    Groovy:      ["groovy"],
-    HAML:        ["haml"],
-    Handlebars:  ["hbs|handlebars|tpl|mustache"],
-    Haskell:     ["hs"],
-    haXe:        ["hx"],
-    HTML:        ["html|htm|xhtml"],
-    HTML_Ruby:   ["erb|rhtml|html.erb"],
-    INI:         ["ini|conf|cfg|prefs"],
-    Jack:        ["jack"],
-    Jade:        ["jade"],
-    Java:        ["java"],
-    JavaScript:  ["js|jsm"],
-    JSON:        ["json"],
-    JSONiq:      ["jq"],
-    JSP:         ["jsp"],
-    JSX:         ["jsx"],
-    Julia:       ["jl"],
-    LaTeX:       ["tex|latex|ltx|bib"],
-    LESS:        ["less"],
-    Liquid:      ["liquid"],
-    Lisp:        ["lisp"],
-    LiveScript:  ["ls"],
-    LogiQL:      ["logic|lql"],
-    LSL:         ["lsl"],
-    Lua:         ["lua"],
-    LuaPage:     ["lp"],
-    Lucene:      ["lucene"],
-    Makefile:    ["^Makefile|^GNUmakefile|^makefile|^OCamlMakefile|make"],
-    MATLAB:      ["matlab"],
-    Markdown:    ["md|markdown"],
-    MEL:         ["mel"],
-    MySQL:       ["mysql"],
-    MUSHCode:    ["mc|mush"],
-    Nix:         ["nix"],
-    ObjectiveC:  ["m|mm"],
-    OCaml:       ["ml|mli"],
-    Pascal:      ["pas|p"],
-    Perl:        ["pl|pm"],
-    pgSQL:       ["pgsql"],
-    PHP:         ["php|phtml"],
-    Powershell:  ["ps1"],
-    Prolog:      ["plg|prolog"],
-    Properties:  ["properties"],
-    Protobuf:    ["proto"],
-    Python:      ["py"],
-    R:           ["r"],
-    RDoc:        ["Rd"],
-    RHTML:       ["Rhtml"],
-    Ruby:        ["rb|ru|gemspec|rake|^Guardfile|^Rakefile|^Gemfile"],
-    Rust:        ["rs"],
-    SASS:        ["sass"],
-    SCAD:        ["scad"],
-    Scala:       ["scala"],
-    Smarty:      ["smarty|tpl"],
-    Scheme:      ["scm|rkt"],
-    SCSS:        ["scss"],
-    SH:          ["sh|bash|^.bashrc"],
-    SJS:         ["sjs"],
-    Space:       ["space"],
-    snippets:    ["snippets"],
-    Soy_Template:["soy"],
-    SQL:         ["sql"],
-    Stylus:      ["styl|stylus"],
-    SVG:         ["svg"],
-    Tcl:         ["tcl"],
-    Tex:         ["tex"],
-    Text:        ["txt"],
-    Textile:     ["textile"],
-    Toml:        ["toml"],
-    Twig:        ["twig"],
-    Typescript:  ["ts|typescript|str"],
-    Vala:        ["vala"],
-    VBScript:    ["vbs"],
-    Velocity:    ["vm"],
-    Verilog:     ["v|vh|sv|svh"],
-    XML:         ["xml|rdf|rss|wsdl|xslt|atom|mathml|mml|xul|xbl"],
-    XQuery:      ["xq"],
-    YAML:        ["yaml|yml"]
-};
-
-var nameOverrides = {
-    ObjectiveC: "Objective-C",
-    CSharp: "C#",
-    golang: "Go",
-    C_Cpp: "C/C++",
-    coffee: "CoffeeScript",
-    HTML_Ruby: "HTML (Ruby)",
-    FTL: "FreeMarker"
-};
-var modesByName = {};
-for (var name in supportedModes) {
-    var data = supportedModes[name];
-    var displayName = (nameOverrides[name] || name).replace(/_/g, " ");
-    var filename = name.toLowerCase();
-    var mode = new Mode(filename, displayName, data[0]);
-    modesByName[filename] = mode;
-    modes.push(mode);
-}
-
-module.exports = {
-    getModeForPath: getModeForPath,
-    modes: modes,
-    modesByName: modesByName
-};
-
-});
-
-define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"], function(require, exports, module) {
-"use strict";
-require("ace/lib/fixoldbrowsers");
-
-var themeData = [
-    ["Chrome"         ],
-    ["Clouds"         ],
-    ["Crimson Editor" ],
-    ["Dawn"           ],
-    ["Dreamweaver"    ],
-    ["Eclipse"        ],
-    ["GitHub"         ],
-    ["Solarized Light"],
-    ["TextMate"       ],
-    ["Tomorrow"       ],
-    ["XCode"          ],
-    ["Kuroir"],
-    ["KatzenMilch"],
-    ["Ambiance"             ,"ambiance"                ,  "dark"],
-    ["Chaos"                ,"chaos"                   ,  "dark"],
-    ["Clouds Midnight"      ,"clouds_midnight"         ,  "dark"],
-    ["Cobalt"               ,"cobalt"                  ,  "dark"],
-    ["idle Fingers"         ,"idle_fingers"            ,  "dark"],
-    ["krTheme"              ,"kr_theme"                ,  "dark"],
-    ["Merbivore"            ,"merbivore"               ,  "dark"],
-    ["Merbivore Soft"       ,"merbivore_soft"          ,  "dark"],
-    ["Mono Industrial"      ,"mono_industrial"         ,  "dark"],
-    ["Monokai"              ,"monokai"                 ,  "dark"],
-    ["Pastel on dark"       ,"pastel_on_dark"          ,  "dark"],
-    ["Solarized Dark"       ,"solarized_dark"          ,  "dark"],
-    ["Terminal"             ,"terminal"                ,  "dark"],
-    ["Tomorrow Night"       ,"tomorrow_night"          ,  "dark"],
-    ["Tomorrow Night Blue"  ,"tomorrow_night_blue"     ,  "dark"],
-    ["Tomorrow Night Bright","tomorrow_night_bright"   ,  "dark"],
-    ["Tomorrow Night 80s"   ,"tomorrow_night_eighties" ,  "dark"],
-    ["Twilight"             ,"twilight"                ,  "dark"],
-    ["Vibrant Ink"          ,"vibrant_ink"             ,  "dark"]
-];
-
-
-exports.themesByName = {};
-exports.themes = themeData.map(function(data) {
-    var name = data[1] || data[0].replace(/ /g, "_").toLowerCase();
-    var theme = {
-        caption: data[0],
-        theme: "ace/theme/" + name,
-        isDark: data[2] == "dark",
-        name: name
-    };
-    exports.themesByName[name] = theme;
-    return theme;
-});
-
-});
-
-define("ace/ext/menu_tools/add_editor_menu_options",["require","exports","module","ace/ext/modelist","ace/ext/themelist"], function(require, exports, module) {
-'use strict';
-module.exports.addEditorMenuOptions = function addEditorMenuOptions (editor) {
-    var modelist = require('../modelist');
-    var themelist = require('../themelist');
-    editor.menuOptions = {
-        setNewLineMode: [{
-            textContent: "unix",
-            value: "unix"
-        }, {
-            textContent: "windows",
-            value: "windows"
-        }, {
-            textContent: "auto",
-            value: "auto"
-        }],
-        setTheme: [],
-        setMode: [],
-        setKeyboardHandler: [{
-            textContent: "ace",
-            value: ""
-        }, {
-            textContent: "vim",
-            value: "ace/keyboard/vim"
-        }, {
-            textContent: "emacs",
-            value: "ace/keyboard/emacs"
-        }, {
-            textContent: "textarea",
-            value: "ace/keyboard/textarea"
-        }, {
-            textContent: "sublime",
-            value: "ace/keyboard/sublime"
-        }]
-    };
-
-    editor.menuOptions.setTheme = themelist.themes.map(function(theme) {
-        return {
-            textContent: theme.caption,
-            value: theme.theme
-        };
-    });
-
-    editor.menuOptions.setMode = modelist.modes.map(function(mode) {
-        return {
-            textContent: mode.name,
-            value: mode.mode
-        };
-    });
-};
-
-
-});
-
-define("ace/ext/menu_tools/get_set_functions",["require","exports","module"], function(require, exports, module) {
-'use strict';
-module.exports.getSetFunctions = function getSetFunctions (editor) {
-    var out = [];
-    var my = {
-        'editor' : editor,
-        'session' : editor.session,
-        'renderer' : editor.renderer
-    };
-    var opts = [];
-    var skip = [
-        'setOption',
-        'setUndoManager',
-        'setDocument',
-        'setValue',
-        'setBreakpoints',
-        'setScrollTop',
-        'setScrollLeft',
-        'setSelectionStyle',
-        'setWrapLimitRange'
-    ];
-    ['renderer', 'session', 'editor'].forEach(function(esra) {
-        var esr = my[esra];
-        var clss = esra;
-        for(var fn in esr) {
-            if(skip.indexOf(fn) === -1) {
-                if(/^set/.test(fn) && opts.indexOf(fn) === -1) {
-                    opts.push(fn);
-                    out.push({
-                        'functionName' : fn,
-                        'parentObj' : esr,
-                        'parentName' : clss
-                    });
-                }
-            }
-        }
-    });
-    return out;
-};
-
-});
-
-define("ace/ext/menu_tools/generate_settings_menu",["require","exports","module","ace/ext/menu_tools/element_generator","ace/ext/menu_tools/add_editor_menu_options","ace/ext/menu_tools/get_set_functions"], function(require, exports, module) {
-'use strict';
-var egen = require('./element_generator');
-var addEditorMenuOptions = require('./add_editor_menu_options').addEditorMenuOptions;
-var getSetFunctions = require('./get_set_functions').getSetFunctions;
-module.exports.generateSettingsMenu = function generateSettingsMenu (editor) {
-    var elements = [];
-    function cleanupElementsList() {
-        elements.sort(function(a, b) {
-            var x = a.getAttribute('contains');
-            var y = b.getAttribute('contains');
-            return x.localeCompare(y);
-        });
-    }
-    function wrapElements() {
-        var topmenu = document.createElement('div');
-        topmenu.setAttribute('id', 'ace_settingsmenu');
-        elements.forEach(function(element) {
-            topmenu.appendChild(element);
-        });
-        return topmenu;
-    }
-    function createNewEntry(obj, clss, item, val) {
-        var el;
-        var div = document.createElement('div');
-        div.setAttribute('contains', item);
-        div.setAttribute('class', 'ace_optionsMenuEntry');
-        div.setAttribute('style', 'clear: both;');
-
-        div.appendChild(egen.createLabel(
-            item.replace(/^set/, '').replace(/([A-Z])/g, ' $1').trim(),
-            item
-        ));
-
-        if (Array.isArray(val)) {
-            el = egen.createSelection(item, val, clss);
-            el.addEventListener('change', function(e) {
-                try{
-                    editor.menuOptions[e.target.id].forEach(function(x) {
-                        if(x.textContent !== e.target.textContent) {
-                            delete x.selected;
-                        }
-                    });
-                    obj[e.target.id](e.target.value);
-                } catch (err) {
-                    throw new Error(err);
-                }
-            });
-        } else if(typeof val === 'boolean') {
-            el = egen.createCheckbox(item, val, clss);
-            el.addEventListener('change', function(e) {
-                try{
-                    obj[e.target.id](!!e.target.checked);
-                } catch (err) {
-                    throw new Error(err);
-                }
-            });
-        } else {
-            el = egen.createInput(item, val, clss);
-            el.addEventListener('change', function(e) {
-                try{
-                    if(e.target.value === 'true') {
-                        obj[e.target.id](true);
-                    } else if(e.target.value === 'false') {
-                        obj[e.target.id](false);
-                    } else {
-                        obj[e.target.id](e.target.value);
-                    }
-                } catch (err) {
-                    throw new Error(err);
-                }
-            });
-        }
-        el.style.cssText = 'float:right;';
-        div.appendChild(el);
-        return div;
-    }
-    function makeDropdown(item, esr, clss, fn) {
-        var val = editor.menuOptions[item];
-        var currentVal = esr[fn]();
-        if (typeof currentVal == 'object')
-            currentVal = currentVal.$id;
-        val.forEach(function(valuex) {
-            if (valuex.value === currentVal)
-                valuex.selected = 'selected';
-        });
-        return createNewEntry(esr, clss, item, val);
-    }
-    function handleSet(setObj) {
-        var item = setObj.functionName;
-        var esr = setObj.parentObj;
-        var clss = setObj.parentName;
-        var val;
-        var fn = item.replace(/^set/, 'get');
-        if(editor.menuOptions[item] !== undefined) {
-            elements.push(makeDropdown(item, esr, clss, fn));
-        } else if(typeof esr[fn] === 'function') {
-            try {
-                val = esr[fn]();
-                if(typeof val === 'object') {
-                    val = val.$id;
-                }
-                elements.push(
-                    createNewEntry(esr, clss, item, val)
-                );
-            } catch (e) {
-            }
-        }
-    }
-    addEditorMenuOptions(editor);
-    getSetFunctions(editor).forEach(function(setObj) {
-        handleSet(setObj);
-    });
-    cleanupElementsList();
-    return wrapElements();
-};
-
-});
-
-define("ace/ext/menu_tools/overlay_page",["require","exports","module","ace/lib/dom"], function(require, exports, module) {
-'use strict';
-var dom = require("../../lib/dom");
-var cssText = "#ace_settingsmenu, #kbshortcutmenu {\
-background-color: #F7F7F7;\
-color: black;\
-box-shadow: -5px 4px 5px rgba(126, 126, 126, 0.55);\
-padding: 1em 0.5em 2em 1em;\
-overflow: auto;\
-position: absolute;\
-margin: 0;\
-bottom: 0;\
-right: 0;\
-top: 0;\
-z-index: 9991;\
-cursor: default;\
-}\
-.ace_dark #ace_settingsmenu, .ace_dark #kbshortcutmenu {\
-box-shadow: -20px 10px 25px rgba(126, 126, 126, 0.25);\
-background-color: rgba(255, 255, 255, 0.6);\
-color: black;\
-}\
-.ace_optionsMenuEntry:hover {\
-background-color: rgba(100, 100, 100, 0.1);\
--webkit-transition: all 0.5s;\
-transition: all 0.3s\
-}\
-.ace_closeButton {\
-background: rgba(245, 146, 146, 0.5);\
-border: 1px solid #F48A8A;\
-border-radius: 50%;\
-padding: 7px;\
-position: absolute;\
-right: -8px;\
-top: -8px;\
-z-index: 1000;\
-}\
-.ace_closeButton{\
-background: rgba(245, 146, 146, 0.9);\
-}\
-.ace_optionsMenuKey {\
-color: darkslateblue;\
-font-weight: bold;\
-}\
-.ace_optionsMenuCommand {\
-color: darkcyan;\
-font-weight: normal;\
-}";
-dom.importCssString(cssText);
-module.exports.overlayPage = function overlayPage(editor, contentElement, top, right, bottom, left) {
-    top = top ? 'top: ' + top + ';' : '';
-    bottom = bottom ? 'bottom: ' + bottom + ';' : '';
-    right = right ? 'right: ' + right + ';' : '';
-    left = left ? 'left: ' + left + ';' : '';
-
-    var closer = document.createElement('div');
-    var contentContainer = document.createElement('div');
-
-    function documentEscListener(e) {
-        if (e.keyCode === 27) {
-            closer.click();
-        }
-    }
-
-    closer.style.cssText = 'margin: 0; padding: 0; ' +
-        'position: fixed; top:0; bottom:0; left:0; right:0;' +
-        'z-index: 9990; ' +
-        'background-color: rgba(0, 0, 0, 0.3);';
-    closer.addEventListener('click', function() {
-        document.removeEventListener('keydown', documentEscListener);
-        closer.parentNode.removeChild(closer);
-        editor.focus();
-        closer = null;
-    });
-    document.addEventListener('keydown', documentEscListener);
-
-    contentContainer.style.cssText = top + right + bottom + left;
-    contentContainer.addEventListener('click', function(e) {
-        e.stopPropagation();
-    });
-
-    var wrapper = dom.createElement("div");
-    wrapper.style.position = "relative";
-    
-    var closeButton = dom.createElement("div");
-    closeButton.className = "ace_closeButton";
-    closeButton.addEventListener('click', function() {
-        closer.click();
-    });
-    
-    wrapper.appendChild(closeButton);
-    contentContainer.appendChild(wrapper);
-    
-    contentContainer.appendChild(contentElement);
-    closer.appendChild(contentContainer);
-    document.body.appendChild(closer);
-    editor.blur();
-};
-
-});
-
-define("ace/ext/settings_menu",["require","exports","module","ace/ext/menu_tools/generate_settings_menu","ace/ext/menu_tools/overlay_page","ace/editor"], function(require, exports, module) {
-"use strict";
-var generateSettingsMenu = require('./menu_tools/generate_settings_menu').generateSettingsMenu;
-var overlayPage = require('./menu_tools/overlay_page').overlayPage;
-function showSettingsMenu(editor) {
-    var sm = document.getElementById('ace_settingsmenu');
-    if (!sm)    
-        overlayPage(editor, generateSettingsMenu(editor), '0', '0', '0');
-}
-module.exports.init = function(editor) {
-    var Editor = require("ace/editor").Editor;
-    Editor.prototype.showSettingsMenu = function() {
-        showSettingsMenu(this);
-    };
-};
-});
-;
-                (function() {
-                    window.require(["ace/ext/settings_menu"], function() {});
-                })();
-            

+ 0 - 72
services/web/public/js/ace/src/ext-spellcheck.js

@@ -1,72 +0,0 @@
-define("ace/ext/spellcheck",["require","exports","module","ace/lib/event","ace/editor","ace/config"], function(require, exports, module) {
-"use strict";
-var event = require("../lib/event");
-
-exports.contextMenuHandler = function(e){
-    var host = e.target;
-    var text = host.textInput.getElement();
-    if (!host.selection.isEmpty())
-        return;
-    var c = host.getCursorPosition();
-    var r = host.session.getWordRange(c.row, c.column);
-    var w = host.session.getTextRange(r);
-
-    host.session.tokenRe.lastIndex = 0;
-    if (!host.session.tokenRe.test(w))
-        return;
-    var PLACEHOLDER = "\x01\x01";
-    var value = w + " " + PLACEHOLDER;
-    text.value = value;
-    text.setSelectionRange(w.length, w.length + 1);
-    text.setSelectionRange(0, 0);
-    text.setSelectionRange(0, w.length);
-
-    var afterKeydown = false;
-    event.addListener(text, "keydown", function onKeydown() {
-        event.removeListener(text, "keydown", onKeydown);
-        afterKeydown = true;
-    });
-
-    host.textInput.setInputHandler(function(newVal) {
-        console.log(newVal , value, text.selectionStart, text.selectionEnd)
-        if (newVal == value)
-            return '';
-        if (newVal.lastIndexOf(value, 0) === 0)
-            return newVal.slice(value.length);
-        if (newVal.substr(text.selectionEnd) == value)
-            return newVal.slice(0, -value.length);
-        if (newVal.slice(-2) == PLACEHOLDER) {
-            var val = newVal.slice(0, -2);
-            if (val.slice(-1) == " ") {
-                if (afterKeydown)
-                    return val.substring(0, text.selectionEnd);
-                val = val.slice(0, -1);
-                host.session.replace(r, val);
-                return "";
-            }
-        }
-
-        return newVal;
-    });
-};
-var Editor = require("../editor").Editor;
-require("../config").defineOptions(Editor.prototype, "editor", {
-    spellcheck: {
-        set: function(val) {
-            var text = this.textInput.getElement();
-            text.spellcheck = !!val;
-            if (!val)
-                this.removeListener("nativecontextmenu", exports.contextMenuHandler);
-            else
-                this.on("nativecontextmenu", exports.contextMenuHandler);
-        },
-        value: true
-    }
-});
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/spellcheck"], function() {});
-                })();
-            

+ 0 - 247
services/web/public/js/ace/src/ext-split.js

@@ -1,247 +0,0 @@
-define("ace/split",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/editor","ace/virtual_renderer","ace/edit_session"], function(require, exports, module) {
-"use strict";
-
-var oop = require("./lib/oop");
-var lang = require("./lib/lang");
-var EventEmitter = require("./lib/event_emitter").EventEmitter;
-
-var Editor = require("./editor").Editor;
-var Renderer = require("./virtual_renderer").VirtualRenderer;
-var EditSession = require("./edit_session").EditSession;
-
-
-var Split = function(container, theme, splits) {
-    this.BELOW = 1;
-    this.BESIDE = 0;
-
-    this.$container = container;
-    this.$theme = theme;
-    this.$splits = 0;
-    this.$editorCSS = "";
-    this.$editors = [];
-    this.$orientation = this.BESIDE;
-
-    this.setSplits(splits || 1);
-    this.$cEditor = this.$editors[0];
-
-
-    this.on("focus", function(editor) {
-        this.$cEditor = editor;
-    }.bind(this));
-};
-
-(function(){
-
-    oop.implement(this, EventEmitter);
-
-    this.$createEditor = function() {
-        var el = document.createElement("div");
-        el.className = this.$editorCSS;
-        el.style.cssText = "position: absolute; top:0px; bottom:0px";
-        this.$container.appendChild(el);
-        var editor = new Editor(new Renderer(el, this.$theme));
-
-        editor.on("focus", function() {
-            this._emit("focus", editor);
-        }.bind(this));
-
-        this.$editors.push(editor);
-        editor.setFontSize(this.$fontSize);
-        return editor;
-    };
-
-    this.setSplits = function(splits) {
-        var editor;
-        if (splits < 1) {
-            throw "The number of splits have to be > 0!";
-        }
-
-        if (splits == this.$splits) {
-            return;
-        } else if (splits > this.$splits) {
-            while (this.$splits < this.$editors.length && this.$splits < splits) {
-                editor = this.$editors[this.$splits];
-                this.$container.appendChild(editor.container);
-                editor.setFontSize(this.$fontSize);
-                this.$splits ++;
-            }
-            while (this.$splits < splits) {
-                this.$createEditor();
-                this.$splits ++;
-            }
-        } else {
-            while (this.$splits > splits) {
-                editor = this.$editors[this.$splits - 1];
-                this.$container.removeChild(editor.container);
-                this.$splits --;
-            }
-        }
-        this.resize();
-    };
-    this.getSplits = function() {
-        return this.$splits;
-    };
-    this.getEditor = function(idx) {
-        return this.$editors[idx];
-    };
-    this.getCurrentEditor = function() {
-        return this.$cEditor;
-    };
-    this.focus = function() {
-        this.$cEditor.focus();
-    };
-    this.blur = function() {
-        this.$cEditor.blur();
-    };
-    this.setTheme = function(theme) {
-        this.$editors.forEach(function(editor) {
-            editor.setTheme(theme);
-        });
-    };
-    this.setKeyboardHandler = function(keybinding) {
-        this.$editors.forEach(function(editor) {
-            editor.setKeyboardHandler(keybinding);
-        });
-    };
-    this.forEach = function(callback, scope) {
-        this.$editors.forEach(callback, scope);
-    };
-
-
-    this.$fontSize = "";
-    this.setFontSize = function(size) {
-        this.$fontSize = size;
-        this.forEach(function(editor) {
-           editor.setFontSize(size);
-        });
-    };
-
-    this.$cloneSession = function(session) {
-        var s = new EditSession(session.getDocument(), session.getMode());
-
-        var undoManager = session.getUndoManager();
-        if (undoManager) {
-            var undoManagerProxy = new UndoManagerProxy(undoManager, s);
-            s.setUndoManager(undoManagerProxy);
-        }
-        s.$informUndoManager = lang.delayedCall(function() { s.$deltas = []; });
-        s.setTabSize(session.getTabSize());
-        s.setUseSoftTabs(session.getUseSoftTabs());
-        s.setOverwrite(session.getOverwrite());
-        s.setBreakpoints(session.getBreakpoints());
-        s.setUseWrapMode(session.getUseWrapMode());
-        s.setUseWorker(session.getUseWorker());
-        s.setWrapLimitRange(session.$wrapLimitRange.min,
-                            session.$wrapLimitRange.max);
-        s.$foldData = session.$cloneFoldData();
-
-        return s;
-    };
-    this.setSession = function(session, idx) {
-        var editor;
-        if (idx == null) {
-            editor = this.$cEditor;
-        } else {
-            editor = this.$editors[idx];
-        }
-        var isUsed = this.$editors.some(function(editor) {
-           return editor.session === session;
-        });
-
-        if (isUsed) {
-            session = this.$cloneSession(session);
-        }
-        editor.setSession(session);
-        return session;
-    };
-    this.getOrientation = function() {
-        return this.$orientation;
-    };
-    this.setOrientation = function(orientation) {
-        if (this.$orientation == orientation) {
-            return;
-        }
-        this.$orientation = orientation;
-        this.resize();
-    };
-    this.resize = function() {
-        var width = this.$container.clientWidth;
-        var height = this.$container.clientHeight;
-        var editor;
-
-        if (this.$orientation == this.BESIDE) {
-            var editorWidth = width / this.$splits;
-            for (var i = 0; i < this.$splits; i++) {
-                editor = this.$editors[i];
-                editor.container.style.width = editorWidth + "px";
-                editor.container.style.top = "0px";
-                editor.container.style.left = i * editorWidth + "px";
-                editor.container.style.height = height + "px";
-                editor.resize();
-            }
-        } else {
-            var editorHeight = height / this.$splits;
-            for (var i = 0; i < this.$splits; i++) {
-                editor = this.$editors[i];
-                editor.container.style.width = width + "px";
-                editor.container.style.top = i * editorHeight + "px";
-                editor.container.style.left = "0px";
-                editor.container.style.height = editorHeight + "px";
-                editor.resize();
-            }
-        }
-    };
-
-}).call(Split.prototype);
-
- 
-function UndoManagerProxy(undoManager, session) {
-    this.$u = undoManager;
-    this.$doc = session;
-}
-
-(function() {
-    this.execute = function(options) {
-        this.$u.execute(options);
-    };
-
-    this.undo = function() {
-        var selectionRange = this.$u.undo(true);
-        if (selectionRange) {
-            this.$doc.selection.setSelectionRange(selectionRange);
-        }
-    };
-
-    this.redo = function() {
-        var selectionRange = this.$u.redo(true);
-        if (selectionRange) {
-            this.$doc.selection.setSelectionRange(selectionRange);
-        }
-    };
-
-    this.reset = function() {
-        this.$u.reset();
-    };
-
-    this.hasUndo = function() {
-        return this.$u.hasUndo();
-    };
-
-    this.hasRedo = function() {
-        return this.$u.hasRedo();
-    };
-}).call(UndoManagerProxy.prototype);
-
-exports.Split = Split;
-});
-
-define("ace/ext/split",["require","exports","module","ace/split"], function(require, exports, module) {
-"use strict";
-module.exports = require("../split");
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/split"], function() {});
-                })();
-            

+ 0 - 153
services/web/public/js/ace/src/ext-static_highlight.js

@@ -1,153 +0,0 @@
-define("ace/ext/static_highlight",["require","exports","module","ace/edit_session","ace/layer/text","ace/config","ace/lib/dom"], function(require, exports, module) {
-"use strict";
-
-var EditSession = require("../edit_session").EditSession;
-var TextLayer = require("../layer/text").Text;
-var baseStyles = ".ace_static_highlight {\
-font-family: 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'source-code-pro', 'Droid Sans Mono', monospace;\
-font-size: 12px;\
-}\
-.ace_static_highlight .ace_gutter {\
-width: 25px !important;\
-display: block;\
-float: left;\
-text-align: right;\
-padding: 0 3px 0 0;\
-margin-right: 3px;\
-position: static !important;\
-}\
-.ace_static_highlight .ace_line { clear: both; }\
-.ace_static_highlight .ace_gutter-cell {\
--moz-user-select: -moz-none;\
--khtml-user-select: none;\
--webkit-user-select: none;\
-user-select: none;\
-}\
-.ace_static_highlight .ace_gutter-cell:before {\
-content: counter(ace_line, decimal);\
-counter-increment: ace_line;\
-}\
-.ace_static_highlight {\
-counter-reset: ace_line;\
-}\
-";
-var config = require("../config");
-var dom = require("../lib/dom");
-
-
-var highlight = function(el, opts, callback) {
-    var m = el.className.match(/lang-(\w+)/);
-    var mode = opts.mode || m && ("ace/mode/" + m[1]);
-    if (!mode)
-        return false;
-    var theme = opts.theme || "ace/theme/textmate";
-    
-    var data = "";
-    var nodes = [];
-
-    if (el.firstElementChild) {
-        var textLen = 0;
-        for (var i = 0; i < el.childNodes.length; i++) {
-            var ch = el.childNodes[i];
-            if (ch.nodeType == 3) {
-                textLen += ch.data.length;
-                data += ch.data;
-            } else {
-                nodes.push(textLen, ch);
-            }
-        }
-    } else {
-        data = dom.getInnerText(el);
-        if (opts.trim)
-            data = data.trim();
-    }
-    
-    highlight.render(data, mode, theme, opts.firstLineNumber, !opts.showGutter, function (highlighted) {
-        dom.importCssString(highlighted.css, "ace_highlight");
-        el.innerHTML = highlighted.html;
-        var container = el.firstChild.firstChild;
-        for (var i = 0; i < nodes.length; i += 2) {
-            var pos = highlighted.session.doc.indexToPosition(nodes[i]);
-            var node = nodes[i + 1];
-            var lineEl = container.children[pos.row];
-            lineEl && lineEl.appendChild(node);
-        }
-        callback && callback();
-    });
-};
-
-highlight.render = function(input, mode, theme, lineStart, disableGutter, callback) {
-    var waiting = 1;
-    var modeCache = EditSession.prototype.$modes;
-    if (typeof theme == "string") {
-        waiting++;
-        config.loadModule(['theme', theme], function(m) {
-            theme = m;
-            --waiting || done();
-        });
-    }
-
-    if (typeof mode == "string") {
-        waiting++;
-        config.loadModule(['mode', mode], function(m) {
-            if (!modeCache[mode]) modeCache[mode] = new m.Mode();
-            mode = modeCache[mode];
-            --waiting || done();
-        });
-    }
-    function done() {
-        var result = highlight.renderSync(input, mode, theme, lineStart, disableGutter);
-        return callback ? callback(result) : result;
-    }
-    return --waiting || done();
-};
-
-highlight.renderSync = function(input, mode, theme, lineStart, disableGutter) {
-    lineStart = parseInt(lineStart || 1, 10);
-
-    var session = new EditSession("");
-    session.setUseWorker(false);
-    session.setMode(mode);
-
-    var textLayer = new TextLayer(document.createElement("div"));
-    textLayer.setSession(session);
-    textLayer.config = {
-        characterWidth: 10,
-        lineHeight: 20
-    };
-
-    session.setValue(input);
-
-    var stringBuilder = [];
-    var length =  session.getLength();
-
-    for(var ix = 0; ix < length; ix++) {
-        stringBuilder.push("<div class='ace_line'>");
-        if (!disableGutter)
-            stringBuilder.push("<span class='ace_gutter ace_gutter-cell' unselectable='on'>" + /*(ix + lineStart) + */ "</span>");
-        textLayer.$renderLine(stringBuilder, ix, true, false);
-        stringBuilder.push("\n</div>");
-    }
-    var html = "<div class='" + theme.cssClass + "'>" +
-        "<div class='ace_static_highlight' style='counter-reset:ace_line " + (lineStart - 1) + "'>" +
-            stringBuilder.join("") +
-        "</div>" +
-    "</div>";
-
-    textLayer.destroy();
-
-    return {
-        css: baseStyles + theme.cssText,
-        html: html,
-        session: session
-    };
-};
-
-module.exports = highlight;
-module.exports.highlight =highlight;
-});
-;
-                (function() {
-                    window.require(["ace/ext/static_highlight"], function() {});
-                })();
-            

+ 0 - 53
services/web/public/js/ace/src/ext-statusbar.js

@@ -1,53 +0,0 @@
-define("ace/ext/statusbar",["require","exports","module","ace/lib/dom","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-var dom = require("ace/lib/dom");
-var lang = require("ace/lib/lang");
-
-var StatusBar = function(editor, parentNode) {
-    this.element = dom.createElement("div");
-    this.element.className = "ace_status-indicator";
-    this.element.style.cssText = "display: inline-block;";
-    parentNode.appendChild(this.element);
-
-    var statusUpdate = lang.delayedCall(function(){
-        this.updateStatus(editor)
-    }.bind(this));
-    editor.on("changeStatus", function() {
-        statusUpdate.schedule(100);
-    });
-    editor.on("changeSelection", function() {
-        statusUpdate.schedule(100);
-    });
-};
-
-(function(){
-    this.updateStatus = function(editor) {
-        var status = [];
-        function add(str, separator) {
-            str && status.push(str, separator || "|");
-        }
-
-        if (editor.$vimModeHandler)
-            add(editor.$vimModeHandler.getStatusText());
-        else if (editor.commands.recording)
-            add("REC");
-
-        var c = editor.selection.lead;
-        add(c.row + ":" + c.column, " ");
-        if (!editor.selection.isEmpty()) {
-            var r = editor.getSelectionRange();
-            add("(" + (r.end.row - r.start.row) + ":"  +(r.end.column - r.start.column) + ")");
-        }
-        status.pop();
-        this.element.textContent = status.join("");
-    };
-}).call(StatusBar.prototype);
-
-exports.StatusBar = StatusBar;
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/statusbar"], function() {});
-                })();
-            

+ 0 - 621
services/web/public/js/ace/src/ext-textarea.js

@@ -1,621 +0,0 @@
-define("ace/theme/textmate",["require","exports","module","ace/lib/dom"], function(require, exports, module) {
-"use strict";
-
-exports.isDark = false;
-exports.cssClass = "ace-tm";
-exports.cssText = ".ace-tm .ace_gutter {\
-background: #f0f0f0;\
-color: #333;\
-}\
-.ace-tm .ace_print-margin {\
-width: 1px;\
-background: #e8e8e8;\
-}\
-.ace-tm .ace_fold {\
-background-color: #6B72E6;\
-}\
-.ace-tm {\
-background-color: #FFFFFF;\
-color: black;\
-}\
-.ace-tm .ace_cursor {\
-color: black;\
-}\
-.ace-tm .ace_invisible {\
-color: rgb(191, 191, 191);\
-}\
-.ace-tm .ace_storage,\
-.ace-tm .ace_keyword {\
-color: blue;\
-}\
-.ace-tm .ace_constant {\
-color: rgb(197, 6, 11);\
-}\
-.ace-tm .ace_constant.ace_buildin {\
-color: rgb(88, 72, 246);\
-}\
-.ace-tm .ace_constant.ace_language {\
-color: rgb(88, 92, 246);\
-}\
-.ace-tm .ace_constant.ace_library {\
-color: rgb(6, 150, 14);\
-}\
-.ace-tm .ace_invalid {\
-background-color: rgba(255, 0, 0, 0.1);\
-color: red;\
-}\
-.ace-tm .ace_support.ace_function {\
-color: rgb(60, 76, 114);\
-}\
-.ace-tm .ace_support.ace_constant {\
-color: rgb(6, 150, 14);\
-}\
-.ace-tm .ace_support.ace_type,\
-.ace-tm .ace_support.ace_class {\
-color: rgb(109, 121, 222);\
-}\
-.ace-tm .ace_keyword.ace_operator {\
-color: rgb(104, 118, 135);\
-}\
-.ace-tm .ace_string {\
-color: rgb(3, 106, 7);\
-}\
-.ace-tm .ace_comment {\
-color: rgb(76, 136, 107);\
-}\
-.ace-tm .ace_comment.ace_doc {\
-color: rgb(0, 102, 255);\
-}\
-.ace-tm .ace_comment.ace_doc.ace_tag {\
-color: rgb(128, 159, 191);\
-}\
-.ace-tm .ace_constant.ace_numeric {\
-color: rgb(0, 0, 205);\
-}\
-.ace-tm .ace_variable {\
-color: rgb(49, 132, 149);\
-}\
-.ace-tm .ace_xml-pe {\
-color: rgb(104, 104, 91);\
-}\
-.ace-tm .ace_entity.ace_name.ace_function {\
-color: #0000A2;\
-}\
-.ace-tm .ace_heading {\
-color: rgb(12, 7, 255);\
-}\
-.ace-tm .ace_list {\
-color:rgb(185, 6, 144);\
-}\
-.ace-tm .ace_meta.ace_tag {\
-color:rgb(0, 22, 142);\
-}\
-.ace-tm .ace_string.ace_regex {\
-color: rgb(255, 0, 0)\
-}\
-.ace-tm .ace_marker-layer .ace_selection {\
-background: rgb(181, 213, 255);\
-}\
-.ace-tm.ace_multiselect .ace_selection.ace_start {\
-box-shadow: 0 0 3px 0px white;\
-border-radius: 2px;\
-}\
-.ace-tm .ace_marker-layer .ace_step {\
-background: rgb(252, 255, 0);\
-}\
-.ace-tm .ace_marker-layer .ace_stack {\
-background: rgb(164, 229, 101);\
-}\
-.ace-tm .ace_marker-layer .ace_bracket {\
-margin: -1px 0 0 -1px;\
-border: 1px solid rgb(192, 192, 192);\
-}\
-.ace-tm .ace_marker-layer .ace_active-line {\
-background: rgba(0, 0, 0, 0.07);\
-}\
-.ace-tm .ace_gutter-active-line {\
-background-color : #dcdcdc;\
-}\
-.ace-tm .ace_marker-layer .ace_selected-word {\
-background: rgb(250, 250, 255);\
-border: 1px solid rgb(200, 200, 250);\
-}\
-.ace-tm .ace_indent-guide {\
-background: url(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==\") right repeat-y;\
-}\
-";
-
-var dom = require("../lib/dom");
-dom.importCssString(exports.cssText, exports.cssClass);
-});
-
-define("ace/ace",["require","exports","module","ace/lib/fixoldbrowsers","ace/lib/dom","ace/lib/event","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config"], function(require, exports, module) {
-"use strict";
-
-require("./lib/fixoldbrowsers");
-
-var dom = require("./lib/dom");
-var event = require("./lib/event");
-
-var Editor = require("./editor").Editor;
-var EditSession = require("./edit_session").EditSession;
-var UndoManager = require("./undomanager").UndoManager;
-var Renderer = require("./virtual_renderer").VirtualRenderer;
-require("./worker/worker_client");
-require("./keyboard/hash_handler");
-require("./placeholder");
-require("./multi_select");
-require("./mode/folding/fold_mode");
-require("./theme/textmate");
-require("./ext/error_marker");
-
-exports.config = require("./config");
-exports.require = require;
-exports.edit = function(el) {
-    if (typeof(el) == "string") {
-        var _id = el;
-        el = document.getElementById(_id);
-        if (!el)
-            throw new Error("ace.edit can't find div #" + _id);
-    }
-
-    if (el.env && el.env.editor instanceof Editor)
-        return el.env.editor;
-
-    var doc = exports.createEditSession(dom.getInnerText(el));
-    el.innerHTML = '';
-
-    var editor = new Editor(new Renderer(el));
-    editor.setSession(doc);
-
-    var env = {
-        document: doc,
-        editor: editor,
-        onResize: editor.resize.bind(editor, null)
-    };
-    event.addListener(window, "resize", env.onResize);
-    editor.on("destroy", function() {
-        event.removeListener(window, "resize", env.onResize);
-    });
-    el.env = editor.env = env;
-    return editor;
-};
-exports.createEditSession = function(text, mode) {
-    var doc = new EditSession(text, mode);
-    doc.setUndoManager(new UndoManager());
-    return doc;
-}
-exports.EditSession = EditSession;
-exports.UndoManager = UndoManager;
-});
-
-define("ace/ext/textarea",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/lib/net","ace/ace","ace/theme/textmate"], function(require, exports, module) {
-"use strict";
-
-var event = require("../lib/event");
-var UA = require("../lib/useragent");
-var net = require("../lib/net");
-var ace = require("../ace");
-
-require("../theme/textmate");
-
-module.exports = exports = ace;
-var getCSSProperty = function(element, container, property) {
-    var ret = element.style[property];
-
-    if (!ret) {
-        if (window.getComputedStyle) {
-            ret = window.getComputedStyle(element, '').getPropertyValue(property);
-        } else {
-            ret = element.currentStyle[property];
-        }
-    }
-
-    if (!ret || ret == 'auto' || ret == 'intrinsic') {
-        ret = container.style[property];
-    }
-    return ret;
-};
-
-function applyStyles(elm, styles) {
-    for (var style in styles) {
-        elm.style[style] = styles[style];
-    }
-}
-
-function setupContainer(element, getValue) {
-    if (element.type != 'textarea') {
-        throw new Error("Textarea required!");
-    }
-
-    var parentNode = element.parentNode;
-    var container = document.createElement('div');
-    var resizeEvent = function() {
-        var style = 'position:relative;';
-        [
-            'margin-top', 'margin-left', 'margin-right', 'margin-bottom'
-        ].forEach(function(item) {
-            style += item + ':' +
-                        getCSSProperty(element, container, item) + ';';
-        });
-        var width = getCSSProperty(element, container, 'width') || (element.clientWidth + "px");
-        var height = getCSSProperty(element, container, 'height')  || (element.clientHeight + "px");
-        style += 'height:' + height + ';width:' + width + ';';
-        style += 'display:inline-block;';
-        container.setAttribute('style', style);
-    };
-    event.addListener(window, 'resize', resizeEvent);
-    resizeEvent();
-    parentNode.insertBefore(container, element.nextSibling);
-    while (parentNode !== document) {
-        if (parentNode.tagName.toUpperCase() === 'FORM') {
-            var oldSumit = parentNode.onsubmit;
-            parentNode.onsubmit = function(evt) {
-                element.value = getValue();
-                if (oldSumit) {
-                    oldSumit.call(this, evt);
-                }
-            };
-            break;
-        }
-        parentNode = parentNode.parentNode;
-    }
-    return container;
-}
-
-exports.transformTextarea = function(element, options) {
-    var session;
-    var container = setupContainer(element, function() {
-        return session.getValue();
-    });
-    element.style.display = 'none';
-    container.style.background = 'white';
-    var editorDiv = document.createElement("div");
-    applyStyles(editorDiv, {
-        top: "0px",
-        left: "0px",
-        right: "0px",
-        bottom: "0px",
-        border: "1px solid gray",
-        position: "absolute"
-    });
-    container.appendChild(editorDiv);
-
-    var settingOpener = document.createElement("div");
-    applyStyles(settingOpener, {
-        position: "absolute",
-        right: "0px",
-        bottom: "0px",
-        background: "red",
-        cursor: "nw-resize",
-        borderStyle: "solid",
-        borderWidth: "9px 8px 10px 9px",
-        width: "2px",
-        borderColor: "lightblue gray gray lightblue",
-        zIndex: 101
-    });
-
-    var settingDiv = document.createElement("div");
-    var settingDivStyles = {
-        top: "0px",
-        left: "20%",
-        right: "0px",
-        bottom: "0px",
-        position: "absolute",
-        padding: "5px",
-        zIndex: 100,
-        color: "white",
-        display: "none",
-        overflow: "auto",
-        fontSize: "14px",
-        boxShadow: "-5px 2px 3px gray"
-    };
-    if (!UA.isOldIE) {
-        settingDivStyles.backgroundColor = "rgba(0, 0, 0, 0.6)";
-    } else {
-        settingDivStyles.backgroundColor = "#333";
-    }
-
-    applyStyles(settingDiv, settingDivStyles);
-    container.appendChild(settingDiv);
-
-    options = options || exports.defaultOptions;
-    var editor = ace.edit(editorDiv);
-    session = editor.getSession();
-
-    session.setValue(element.value || element.innerHTML);
-    editor.focus();
-    container.appendChild(settingOpener);
-    setupApi(editor, editorDiv, settingDiv, ace, options, load);
-    setupSettingPanel(settingDiv, settingOpener, editor);
-
-    var state = "";
-    event.addListener(settingOpener, "mousemove", function(e) {
-        var rect = this.getBoundingClientRect();
-        var x = e.clientX - rect.left, y = e.clientY - rect.top;
-        if (x + y < (rect.width + rect.height)/2) {
-            this.style.cursor = "pointer";
-            state = "toggle";
-        } else {
-            state = "resize";
-            this.style.cursor = "nw-resize";
-        }
-    });
-
-    event.addListener(settingOpener, "mousedown", function(e) {
-        if (state == "toggle") {
-            editor.setDisplaySettings();
-            return;
-        }
-        container.style.zIndex = 100000;
-        var rect = container.getBoundingClientRect();
-        var startX = rect.width  + rect.left - e.clientX;
-        var startY = rect.height  + rect.top - e.clientY;
-        event.capture(settingOpener, function(e) {
-            container.style.width = e.clientX - rect.left + startX + "px";
-            container.style.height = e.clientY - rect.top + startY + "px";
-            editor.resize();
-        }, function() {});
-    });
-
-    return editor;
-};
-
-function load(url, module, callback) {
-    net.loadScript(url, function() {
-        require([module], callback);
-    });
-}
-
-function setupApi(editor, editorDiv, settingDiv, ace, options, loader) {
-    var session = editor.getSession();
-    var renderer = editor.renderer;
-    loader = loader || load;
-
-    function toBool(value) {
-        return value === "true" || value == true;
-    }
-
-    editor.setDisplaySettings = function(display) {
-        if (display == null)
-            display = settingDiv.style.display == "none";
-        if (display) {
-            settingDiv.style.display = "block";
-            settingDiv.hideButton.focus();
-            editor.on("focus", function onFocus() {
-                editor.removeListener("focus", onFocus);
-                settingDiv.style.display = "none";
-            });
-        } else {
-            editor.focus();
-        }
-    };
-
-    editor.$setOption = editor.setOption;
-    editor.$getOption = editor.getOption;
-    editor.setOption = function(key, value) {
-        switch (key) {
-            case "mode":
-                editor.$setOption("mode", "ace/mode/" + value)
-            break;
-            case "theme":
-                editor.$setOption("theme", "ace/theme/" + value)
-            break;
-            case "keybindings":
-                switch (value) {
-                    case "vim":
-                        editor.setKeyboardHandler("ace/keyboard/vim");
-                        break;
-                    case "emacs":
-                        editor.setKeyboardHandler("ace/keyboard/emacs");
-                        break;
-                    default:
-                        editor.setKeyboardHandler(null);
-                }
-            break;
-
-            case "softWrap":
-            case "fontSize":
-                editor.$setOption(key, value);
-            break;
-            
-            default:
-                editor.$setOption(key, toBool(value));
-        }
-    };
-
-    editor.getOption = function(key) {
-        switch (key) {
-            case "mode":
-                return editor.$getOption("mode").substr("ace/mode/".length)
-            break;
-
-            case "theme":
-                return editor.$getOption("theme").substr("ace/theme/".length)
-            break;
-
-            case "keybindings":
-                var value = editor.getKeyboardHandler()
-                switch (value && value.$id) {
-                    case "ace/keyboard/vim":
-                        return "vim";
-                    case "ace/keyboard/emacs":
-                        return "emacs";
-                    default:
-                        return "ace";
-                }
-            break;
-
-            default:
-                return editor.$getOption(key);
-        }
-    };
-
-    editor.setOptions(options);
-    return editor;
-}
-
-function setupSettingPanel(settingDiv, settingOpener, editor) {
-    var BOOL = null;
-
-    var desc = {
-        mode:            "Mode:",
-        wrap:            "Soft Wrap:",
-        theme:           "Theme:",
-        fontSize:        "Font Size:",
-        showGutter:      "Display Gutter:",
-        keybindings:     "Keyboard",
-        showPrintMargin: "Show Print Margin:",
-        useSoftTabs:     "Use Soft Tabs:",
-        showInvisibles:  "Show Invisibles"
-    };
-
-    var optionValues = {
-        mode: {
-            text:       "Plain",
-            javascript: "JavaScript",
-            xml:        "XML",
-            html:       "HTML",
-            css:        "CSS",
-            scss:       "SCSS",
-            python:     "Python",
-            php:        "PHP",
-            java:       "Java",
-            ruby:       "Ruby",
-            c_cpp:      "C/C++",
-            coffee:     "CoffeeScript",
-            json:       "json",
-            perl:       "Perl",
-            clojure:    "Clojure",
-            ocaml:      "OCaml",
-            csharp:     "C#",
-            haxe:       "haXe",
-            svg:        "SVG",
-            textile:    "Textile",
-            groovy:     "Groovy",
-            liquid:     "Liquid",
-            Scala:      "Scala"
-        },
-        theme: {
-            clouds:           "Clouds",
-            clouds_midnight:  "Clouds Midnight",
-            cobalt:           "Cobalt",
-            crimson_editor:   "Crimson Editor",
-            dawn:             "Dawn",
-            eclipse:          "Eclipse",
-            idle_fingers:     "Idle Fingers",
-            kr_theme:         "Kr Theme",
-            merbivore:        "Merbivore",
-            merbivore_soft:   "Merbivore Soft",
-            mono_industrial:  "Mono Industrial",
-            monokai:          "Monokai",
-            pastel_on_dark:   "Pastel On Dark",
-            solarized_dark:   "Solarized Dark",
-            solarized_light:  "Solarized Light",
-            textmate:         "Textmate",
-            twilight:         "Twilight",
-            vibrant_ink:      "Vibrant Ink"
-        },
-        showGutter: BOOL,
-        fontSize: {
-            "10px": "10px",
-            "11px": "11px",
-            "12px": "12px",
-            "14px": "14px",
-            "16px": "16px"
-        },
-        wrap: {
-            off:    "Off",
-            40:     "40",
-            80:     "80",
-            free:   "Free"
-        },
-        keybindings: {
-            ace: "ace",
-            vim: "vim",
-            emacs: "emacs"
-        },
-        showPrintMargin:    BOOL,
-        useSoftTabs:        BOOL,
-        showInvisibles:     BOOL
-    };
-
-    var table = [];
-    table.push("<table><tr><th>Setting</th><th>Value</th></tr>");
-
-    function renderOption(builder, option, obj, cValue) {
-        if (!obj) {
-            builder.push(
-                "<input type='checkbox' title='", option, "' ",
-                    cValue + "" == "true" ? "checked='true'" : "",
-               "'></input>"
-            );
-            return;
-        }
-        builder.push("<select title='" + option + "'>");
-        for (var value in obj) {
-            builder.push("<option value='" + value + "' ");
-
-            if (cValue == value) {
-                builder.push(" selected ");
-            }
-
-            builder.push(">",
-                obj[value],
-                "</option>");
-        }
-        builder.push("</select>");
-    }
-
-    for (var option in exports.defaultOptions) {
-        table.push("<tr><td>", desc[option], "</td>");
-        table.push("<td>");
-        renderOption(table, option, optionValues[option], editor.getOption(option));
-        table.push("</td></tr>");
-    }
-    table.push("</table>");
-    settingDiv.innerHTML = table.join("");
-
-    var onChange = function(e) {
-        var select = e.currentTarget;
-        editor.setOption(select.title, select.value);
-    };
-    var onClick = function(e) {
-        var cb = e.currentTarget;
-        editor.setOption(cb.title, cb.checked);
-    };
-    var selects = settingDiv.getElementsByTagName("select");
-    for (var i = 0; i < selects.length; i++)
-        selects[i].onchange = onChange;
-    var cbs = settingDiv.getElementsByTagName("input");
-    for (var i = 0; i < cbs.length; i++)
-        cbs[i].onclick = onClick;
-
-
-    var button = document.createElement("input");
-    button.type = "button";
-    button.value = "Hide";
-    event.addListener(button, "click", function() {
-        editor.setDisplaySettings(false);
-    });
-    settingDiv.appendChild(button);
-    settingDiv.hideButton = button;
-}
-exports.defaultOptions = {
-    mode:               "javascript",
-    theme:              "textmate",
-    wrap:               "off",
-    fontSize:           "12px",
-    showGutter:         "false",
-    keybindings:        "ace",
-    showPrintMargin:    "false",
-    useSoftTabs:        "true",
-    showInvisibles:     "false"
-};
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/textarea"], function() {});
-                })();
-            

+ 0 - 59
services/web/public/js/ace/src/ext-themelist.js

@@ -1,59 +0,0 @@
-define("ace/ext/themelist",["require","exports","module","ace/lib/fixoldbrowsers"], function(require, exports, module) {
-"use strict";
-require("ace/lib/fixoldbrowsers");
-
-var themeData = [
-    ["Chrome"         ],
-    ["Clouds"         ],
-    ["Crimson Editor" ],
-    ["Dawn"           ],
-    ["Dreamweaver"    ],
-    ["Eclipse"        ],
-    ["GitHub"         ],
-    ["Solarized Light"],
-    ["TextMate"       ],
-    ["Tomorrow"       ],
-    ["XCode"          ],
-    ["Kuroir"],
-    ["KatzenMilch"],
-    ["Ambiance"             ,"ambiance"                ,  "dark"],
-    ["Chaos"                ,"chaos"                   ,  "dark"],
-    ["Clouds Midnight"      ,"clouds_midnight"         ,  "dark"],
-    ["Cobalt"               ,"cobalt"                  ,  "dark"],
-    ["idle Fingers"         ,"idle_fingers"            ,  "dark"],
-    ["krTheme"              ,"kr_theme"                ,  "dark"],
-    ["Merbivore"            ,"merbivore"               ,  "dark"],
-    ["Merbivore Soft"       ,"merbivore_soft"          ,  "dark"],
-    ["Mono Industrial"      ,"mono_industrial"         ,  "dark"],
-    ["Monokai"              ,"monokai"                 ,  "dark"],
-    ["Pastel on dark"       ,"pastel_on_dark"          ,  "dark"],
-    ["Solarized Dark"       ,"solarized_dark"          ,  "dark"],
-    ["Terminal"             ,"terminal"                ,  "dark"],
-    ["Tomorrow Night"       ,"tomorrow_night"          ,  "dark"],
-    ["Tomorrow Night Blue"  ,"tomorrow_night_blue"     ,  "dark"],
-    ["Tomorrow Night Bright","tomorrow_night_bright"   ,  "dark"],
-    ["Tomorrow Night 80s"   ,"tomorrow_night_eighties" ,  "dark"],
-    ["Twilight"             ,"twilight"                ,  "dark"],
-    ["Vibrant Ink"          ,"vibrant_ink"             ,  "dark"]
-];
-
-
-exports.themesByName = {};
-exports.themes = themeData.map(function(data) {
-    var name = data[1] || data[0].replace(/ /g, "_").toLowerCase();
-    var theme = {
-        caption: data[0],
-        theme: "ace/theme/" + name,
-        isDark: data[2] == "dark",
-        name: name
-    };
-    exports.themesByName[name] = theme;
-    return theme;
-});
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/themelist"], function() {});
-                })();
-            

+ 0 - 179
services/web/public/js/ace/src/ext-whitespace.js

@@ -1,179 +0,0 @@
-define("ace/ext/whitespace",["require","exports","module","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var lang = require("../lib/lang");
-exports.$detectIndentation = function(lines, fallback) {
-    var stats = [];
-    var changes = [];
-    var tabIndents = 0;
-    var prevSpaces = 0;
-    var max = Math.min(lines.length, 1000);
-    for (var i = 0; i < max; i++) {
-        var line = lines[i];
-        if (!/^\s*[^*+\-\s]/.test(line))
-            continue;
-
-        if (line[0] == "\t")
-            tabIndents++;
-
-        var spaces = line.match(/^ */)[0].length;
-        if (spaces && line[spaces] != "\t") {
-            var diff = spaces - prevSpaces;
-            if (diff > 0 && !(prevSpaces%diff) && !(spaces%diff))
-                changes[diff] = (changes[diff] || 0) + 1;
-
-            stats[spaces] = (stats[spaces] || 0) + 1;
-        }
-        prevSpaces = spaces;
-        while (i < max && line[line.length - 1] == "\\")
-            line = lines[i++];
-    }
-    
-    function getScore(indent) {
-        var score = 0;
-        for (var i = indent; i < stats.length; i += indent)
-            score += stats[i] || 0;
-        return score;
-    }
-
-    var changesTotal = changes.reduce(function(a,b){return a+b}, 0);
-
-    var first = {score: 0, length: 0};
-    var spaceIndents = 0;
-    for (var i = 1; i < 12; i++) {
-        if (i == 1) {
-            spaceIndents = getScore(i);
-            var score = stats.length && 1;
-        } else
-            var score = getScore(i) / spaceIndents;
-
-        if (changes[i])
-            score += changes[i] / changesTotal;
-
-        if (score > first.score)
-            first = {score: score, length: i};
-    }
-
-    if (first.score && first.score > 1.4)
-        var tabLength = first.length;
-
-    if (tabIndents > spaceIndents + 1)
-        return {ch: "\t", length: tabLength};
-
-    if (spaceIndents > tabIndents + 1)
-        return {ch: " ", length: tabLength};
-};
-
-exports.detectIndentation = function(session) {
-    var lines = session.getLines(0, 1000);
-    var indent = exports.$detectIndentation(lines) || {};
-
-    if (indent.ch)
-        session.setUseSoftTabs(indent.ch == " ");
-
-    if (indent.length)
-        session.setTabSize(indent.length);
-    return indent;
-};
-
-exports.trimTrailingSpace = function(session, trimEmpty) {
-    var doc = session.getDocument();
-    var lines = doc.getAllLines();
-    
-    var min = trimEmpty ? -1 : 0;
-
-    for (var i = 0, l=lines.length; i < l; i++) {
-        var line = lines[i];
-        var index = line.search(/\s+$/);
-
-        if (index > min)
-            doc.removeInLine(i, index, line.length);
-    }
-};
-
-exports.convertIndentation = function(session, ch, len) {
-    var oldCh = session.getTabString()[0];
-    var oldLen = session.getTabSize();
-    if (!len) len = oldLen;
-    if (!ch) ch = oldCh;
-
-    var tab = ch == "\t" ? ch: lang.stringRepeat(ch, len);
-
-    var doc = session.doc;
-    var lines = doc.getAllLines();
-
-    var cache = {};
-    var spaceCache = {};
-    for (var i = 0, l=lines.length; i < l; i++) {
-        var line = lines[i];
-        var match = line.match(/^\s*/)[0];
-        if (match) {
-            var w = session.$getStringScreenWidth(match)[0];
-            var tabCount = Math.floor(w/oldLen);
-            var reminder = w%oldLen;
-            var toInsert = cache[tabCount] || (cache[tabCount] = lang.stringRepeat(tab, tabCount));
-            toInsert += spaceCache[reminder] || (spaceCache[reminder] = lang.stringRepeat(" ", reminder));
-
-            if (toInsert != match) {
-                doc.removeInLine(i, 0, match.length);
-                doc.insertInLine({row: i, column: 0}, toInsert);
-            }
-        }
-    }
-    session.setTabSize(len);
-    session.setUseSoftTabs(ch == " ");
-};
-
-exports.$parseStringArg = function(text) {
-    var indent = {};
-    if (/t/.test(text))
-        indent.ch = "\t";
-    else if (/s/.test(text))
-        indent.ch = " ";
-    var m = text.match(/\d+/);
-    if (m)
-        indent.length = parseInt(m[0], 10);
-    return indent;
-};
-
-exports.$parseArg = function(arg) {
-    if (!arg)
-        return {};
-    if (typeof arg == "string")
-        return exports.$parseStringArg(arg);
-    if (typeof arg.text == "string")
-        return exports.$parseStringArg(arg.text);
-    return arg;
-};
-
-exports.commands = [{
-    name: "detectIndentation",
-    exec: function(editor) {
-        exports.detectIndentation(editor.session);
-    }
-}, {
-    name: "trimTrailingSpace",
-    exec: function(editor) {
-        exports.trimTrailingSpace(editor.session);
-    }
-}, {
-    name: "convertIndentation",
-    exec: function(editor, arg) {
-        var indent = exports.$parseArg(arg);
-        exports.convertIndentation(editor.session, indent.ch, indent.length);
-    }
-}, {
-    name: "setIndentation",
-    exec: function(editor, arg) {
-        var indent = exports.$parseArg(arg);
-        indent.length && editor.session.setTabSize(indent.length);
-        indent.ch && editor.session.setUseSoftTabs(indent.ch == " ");
-    }
-}];
-
-});
-;
-                (function() {
-                    window.require(["ace/ext/whitespace"], function() {});
-                })();
-            

+ 0 - 1070
services/web/public/js/ace/src/keybinding-emacs.js

@@ -1,1070 +0,0 @@
-define("ace/occur",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/edit_session","ace/search_highlight","ace/lib/dom"], function(require, exports, module) {
-"use strict";
-
-var oop = require("./lib/oop");
-var Range = require("./range").Range;
-var Search = require("./search").Search;
-var EditSession = require("./edit_session").EditSession;
-var SearchHighlight = require("./search_highlight").SearchHighlight;
-function Occur() {}
-
-oop.inherits(Occur, Search);
-
-(function() {
-    this.enter = function(editor, options) {
-        if (!options.needle) return false;
-        var pos = editor.getCursorPosition();
-        this.displayOccurContent(editor, options);
-        var translatedPos = this.originalToOccurPosition(editor.session, pos);
-        editor.moveCursorToPosition(translatedPos);
-        return true;
-    }
-    this.exit = function(editor, options) {
-        var pos = options.translatePosition && editor.getCursorPosition();
-        var translatedPos = pos && this.occurToOriginalPosition(editor.session, pos);
-        this.displayOriginalContent(editor);
-        if (translatedPos)
-            editor.moveCursorToPosition(translatedPos);
-        return true;
-    }
-
-    this.highlight = function(sess, regexp) {
-        var hl = sess.$occurHighlight = sess.$occurHighlight || sess.addDynamicMarker(
-                new SearchHighlight(null, "ace_occur-highlight", "text"));
-        hl.setRegexp(regexp);
-        sess._emit("changeBackMarker"); // force highlight layer redraw
-    }
-
-    this.displayOccurContent = function(editor, options) {
-        this.$originalSession = editor.session;
-        var found = this.matchingLines(editor.session, options);
-        var lines = found.map(function(foundLine) { return foundLine.content; });
-        var occurSession = new EditSession(lines.join('\n'));
-        occurSession.$occur = this;
-        occurSession.$occurMatchingLines = found;
-        editor.setSession(occurSession);
-        this.$useEmacsStyleLineStart = this.$originalSession.$useEmacsStyleLineStart;
-        occurSession.$useEmacsStyleLineStart = this.$useEmacsStyleLineStart;
-        this.highlight(occurSession, options.re);
-        occurSession._emit('changeBackMarker');
-    }
-
-    this.displayOriginalContent = function(editor) {
-        editor.setSession(this.$originalSession);
-        this.$originalSession.$useEmacsStyleLineStart = this.$useEmacsStyleLineStart;
-    }
-    this.originalToOccurPosition = function(session, pos) {
-        var lines = session.$occurMatchingLines;
-        var nullPos = {row: 0, column: 0};
-        if (!lines) return nullPos;
-        for (var i = 0; i < lines.length; i++) {
-            if (lines[i].row === pos.row)
-                return {row: i, column: pos.column};
-        }
-        return nullPos;
-    }
-    this.occurToOriginalPosition = function(session, pos) {
-        var lines = session.$occurMatchingLines;
-        if (!lines || !lines[pos.row])
-            return pos;
-        return {row: lines[pos.row].row, column: pos.column};
-    }
-
-    this.matchingLines = function(session, options) {
-        options = oop.mixin({}, options);
-        if (!session || !options.needle) return [];
-        var search = new Search();
-        search.set(options);
-        return search.findAll(session).reduce(function(lines, range) {
-            var row = range.start.row;
-            var last = lines[lines.length-1];
-            return last && last.row === row ?
-                lines :
-                lines.concat({row: row, content: session.getLine(row)});
-        }, []);
-    }
-
-}).call(Occur.prototype);
-
-var dom = require('./lib/dom');
-dom.importCssString(".ace_occur-highlight {\n\
-    border-radius: 4px;\n\
-    background-color: rgba(87, 255, 8, 0.25);\n\
-    position: absolute;\n\
-    z-index: 4;\n\
-    -moz-box-sizing: border-box;\n\
-    -webkit-box-sizing: border-box;\n\
-    box-sizing: border-box;\n\
-    box-shadow: 0 0 4px rgb(91, 255, 50);\n\
-}\n\
-.ace_dark .ace_occur-highlight {\n\
-    background-color: rgb(80, 140, 85);\n\
-    box-shadow: 0 0 4px rgb(60, 120, 70);\n\
-}\n", "incremental-occur-highlighting");
-
-exports.Occur = Occur;
-
-});
-
-define("ace/commands/occur_commands",["require","exports","module","ace/config","ace/occur","ace/keyboard/hash_handler","ace/lib/oop"], function(require, exports, module) {
-
-var config = require("../config"),
-    Occur = require("../occur").Occur;
-var occurStartCommand = {
-    name: "occur",
-    exec: function(editor, options) {
-        var alreadyInOccur = !!editor.session.$occur;
-        var occurSessionActive = new Occur().enter(editor, options);
-        if (occurSessionActive && !alreadyInOccur)
-            OccurKeyboardHandler.installIn(editor);
-    },
-    readOnly: true
-};
-
-var occurCommands = [{
-    name: "occurexit",
-    bindKey: 'esc|Ctrl-G',
-    exec: function(editor) {
-        var occur = editor.session.$occur;
-        if (!occur) return;
-        occur.exit(editor, {});
-        if (!editor.session.$occur) OccurKeyboardHandler.uninstallFrom(editor);
-    },
-    readOnly: true
-}, {
-    name: "occuraccept",
-    bindKey: 'enter',
-    exec: function(editor) {
-        var occur = editor.session.$occur;
-        if (!occur) return;
-        occur.exit(editor, {translatePosition: true});
-        if (!editor.session.$occur) OccurKeyboardHandler.uninstallFrom(editor);
-    },
-    readOnly: true
-}];
-
-var HashHandler = require("../keyboard/hash_handler").HashHandler;
-var oop = require("../lib/oop");
-
-
-function OccurKeyboardHandler() {}
-
-oop.inherits(OccurKeyboardHandler, HashHandler);
-
-;(function() {
-
-    this.isOccurHandler = true;
-
-    this.attach = function(editor) {
-        HashHandler.call(this, occurCommands, editor.commands.platform);
-        this.$editor = editor;
-    }
-
-    var handleKeyboard$super = this.handleKeyboard;
-    this.handleKeyboard = function(data, hashId, key, keyCode) {
-        var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);
-        return (cmd && cmd.command) ? cmd : undefined;
-    }
-
-}).call(OccurKeyboardHandler.prototype);
-
-OccurKeyboardHandler.installIn = function(editor) {
-    var handler = new this();
-    editor.keyBinding.addKeyboardHandler(handler);
-    editor.commands.addCommands(occurCommands);
-}
-
-OccurKeyboardHandler.uninstallFrom = function(editor) {
-    editor.commands.removeCommands(occurCommands);
-    var handler = editor.getKeyboardHandler();
-    if (handler.isOccurHandler)
-        editor.keyBinding.removeKeyboardHandler(handler);
-}
-
-exports.occurStartCommand = occurStartCommand;
-
-});
-
-define("ace/commands/incremental_search_commands",["require","exports","module","ace/config","ace/lib/oop","ace/keyboard/hash_handler","ace/commands/occur_commands"], function(require, exports, module) {
-
-var config = require("../config");
-var oop = require("../lib/oop");
-var HashHandler = require("../keyboard/hash_handler").HashHandler;
-var occurStartCommand = require("./occur_commands").occurStartCommand;
-exports.iSearchStartCommands = [{
-    name: "iSearch",
-    bindKey: {win: "Ctrl-F", mac: "Command-F"},
-    exec: function(editor, options) {
-        config.loadModule(["core", "ace/incremental_search"], function(e) {
-            var iSearch = e.iSearch = e.iSearch || new e.IncrementalSearch();
-            iSearch.activate(editor, options.backwards);
-            if (options.jumpToFirstMatch) iSearch.next(options);
-        });
-    },
-    readOnly: true
-}, {
-    name: "iSearchBackwards",
-    exec: function(editor, jumpToNext) { editor.execCommand('iSearch', {backwards: true}); },
-    readOnly: true
-}, {
-    name: "iSearchAndGo",
-    bindKey: {win: "Ctrl-K", mac: "Command-G"},
-    exec: function(editor, jumpToNext) { editor.execCommand('iSearch', {jumpToFirstMatch: true, useCurrentOrPrevSearch: true}); },
-    readOnly: true
-}, {
-    name: "iSearchBackwardsAndGo",
-    bindKey: {win: "Ctrl-Shift-K", mac: "Command-Shift-G"},
-    exec: function(editor) { editor.execCommand('iSearch', {jumpToFirstMatch: true, backwards: true, useCurrentOrPrevSearch: true}); },
-    readOnly: true
-}];
-exports.iSearchCommands = [{
-    name: "restartSearch",
-    bindKey: {win: "Ctrl-F", mac: "Command-F"},
-    exec: function(iSearch) {
-        iSearch.cancelSearch(true);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "searchForward",
-    bindKey: {win: "Ctrl-S|Ctrl-K", mac: "Ctrl-S|Command-G"},
-    exec: function(iSearch, options) {
-        options.useCurrentOrPrevSearch = true;
-        iSearch.next(options);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "searchBackward",
-    bindKey: {win: "Ctrl-R|Ctrl-Shift-K", mac: "Ctrl-R|Command-Shift-G"},
-    exec: function(iSearch, options) {
-        options.useCurrentOrPrevSearch = true;
-        options.backwards = true;
-        iSearch.next(options);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "extendSearchTerm",
-    exec: function(iSearch, string) {
-        iSearch.addString(string);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "extendSearchTermSpace",
-    bindKey: "space",
-    exec: function(iSearch) { iSearch.addString(' '); },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "shrinkSearchTerm",
-    bindKey: "backspace",
-    exec: function(iSearch) {
-        iSearch.removeChar();
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: 'confirmSearch',
-    bindKey: 'return',
-    exec: function(iSearch) { iSearch.deactivate(); },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: 'cancelSearch',
-    bindKey: 'esc|Ctrl-G',
-    exec: function(iSearch) { iSearch.deactivate(true); },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: 'occurisearch',
-    bindKey: 'Ctrl-O',
-    exec: function(iSearch) {
-        var options = oop.mixin({}, iSearch.$options);
-        iSearch.deactivate();
-        occurStartCommand.exec(iSearch.$editor, options);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "yankNextWord",
-    bindKey: "Ctrl-w",
-    exec: function(iSearch) {
-        var ed = iSearch.$editor,
-            range = ed.selection.getRangeOfMovements(function(sel) { sel.moveCursorWordRight(); }),
-            string = ed.session.getTextRange(range);
-        iSearch.addString(string);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: "yankNextChar",
-    bindKey: "Ctrl-Alt-y",
-    exec: function(iSearch) {
-        var ed = iSearch.$editor,
-            range = ed.selection.getRangeOfMovements(function(sel) { sel.moveCursorRight(); }),
-            string = ed.session.getTextRange(range);
-        iSearch.addString(string);
-    },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}, {
-    name: 'recenterTopBottom',
-    bindKey: 'Ctrl-l',
-    exec: function(iSearch) { iSearch.$editor.execCommand('recenterTopBottom'); },
-    readOnly: true,
-    isIncrementalSearchCommand: true
-}];
-
-function IncrementalSearchKeyboardHandler(iSearch) {
-    this.$iSearch = iSearch;
-}
-
-oop.inherits(IncrementalSearchKeyboardHandler, HashHandler);
-
-;(function() {
-
-    this.attach = function(editor) {
-        var iSearch = this.$iSearch;
-        HashHandler.call(this, exports.iSearchCommands, editor.commands.platform);
-        this.$commandExecHandler = editor.commands.addEventListener('exec', function(e) {
-            if (!e.command.isIncrementalSearchCommand) return undefined;
-            e.stopPropagation();
-            e.preventDefault();
-            return e.command.exec(iSearch, e.args || {});
-        });
-    }
-
-    this.detach = function(editor) {
-        if (!this.$commandExecHandler) return;
-        editor.commands.removeEventListener('exec', this.$commandExecHandler);
-        delete this.$commandExecHandler;
-    }
-
-    var handleKeyboard$super = this.handleKeyboard;
-    this.handleKeyboard = function(data, hashId, key, keyCode) {
-        if (((hashId === 1/*ctrl*/ || hashId === 8/*command*/) && key === 'v')
-         || (hashId === 1/*ctrl*/ && key === 'y')) return null;
-        var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);
-        if (cmd.command) { return cmd; }
-        if (hashId == -1) {
-            var extendCmd = this.commands.extendSearchTerm;
-            if (extendCmd) { return {command: extendCmd, args: key}; }
-        }
-        return {command: "null", passEvent: hashId == 0 || hashId == 4};
-    }
-
-}).call(IncrementalSearchKeyboardHandler.prototype);
-
-
-exports.IncrementalSearchKeyboardHandler = IncrementalSearchKeyboardHandler;
-
-});
-
-define("ace/incremental_search",["require","exports","module","ace/lib/oop","ace/range","ace/search","ace/search_highlight","ace/commands/incremental_search_commands","ace/lib/dom","ace/commands/command_manager","ace/editor","ace/config"], function(require, exports, module) {
-"use strict";
-
-var oop = require("./lib/oop");
-var Range = require("./range").Range;
-var Search = require("./search").Search;
-var SearchHighlight = require("./search_highlight").SearchHighlight;
-var iSearchCommandModule = require("./commands/incremental_search_commands");
-var ISearchKbd = iSearchCommandModule.IncrementalSearchKeyboardHandler;
-function IncrementalSearch() {
-    this.$options = {wrap: false, skipCurrent: false};
-    this.$keyboardHandler = new ISearchKbd(this);
-}
-
-oop.inherits(IncrementalSearch, Search);
-
-;(function() {
-
-    this.activate = function(ed, backwards) {
-        this.$editor = ed;
-        this.$startPos = this.$currentPos = ed.getCursorPosition();
-        this.$options.needle = '';
-        this.$options.backwards = backwards;
-        ed.keyBinding.addKeyboardHandler(this.$keyboardHandler);
-        this.$originalEditorOnPaste = ed.onPaste; ed.onPaste = this.onPaste.bind(this);
-        this.$mousedownHandler = ed.addEventListener('mousedown', this.onMouseDown.bind(this));
-        this.selectionFix(ed);
-        this.statusMessage(true);
-    }
-
-    this.deactivate = function(reset) {
-        this.cancelSearch(reset);
-        var ed = this.$editor;
-        ed.keyBinding.removeKeyboardHandler(this.$keyboardHandler);
-        if (this.$mousedownHandler) {
-            ed.removeEventListener('mousedown', this.$mousedownHandler);
-            delete this.$mousedownHandler;
-        }
-        ed.onPaste = this.$originalEditorOnPaste;
-        this.message('');
-    }
-
-    this.selectionFix = function(editor) {
-        if (editor.selection.isEmpty() && !editor.session.$emacsMark) {
-            editor.clearSelection();
-        }
-    }
-
-    this.highlight = function(regexp) {
-        var sess = this.$editor.session,
-            hl = sess.$isearchHighlight = sess.$isearchHighlight || sess.addDynamicMarker(
-                new SearchHighlight(null, "ace_isearch-result", "text"));
-        hl.setRegexp(regexp);
-        sess._emit("changeBackMarker"); // force highlight layer redraw
-    }
-
-    this.cancelSearch = function(reset) {
-        var e = this.$editor;
-        this.$prevNeedle = this.$options.needle;
-        this.$options.needle = '';
-        if (reset) {
-            e.moveCursorToPosition(this.$startPos);
-            this.$currentPos = this.$startPos;
-        } else {
-            e.pushEmacsMark && e.pushEmacsMark(this.$startPos, false);
-        }
-        this.highlight(null);
-        return Range.fromPoints(this.$currentPos, this.$currentPos);
-    }
-
-    this.highlightAndFindWithNeedle = function(moveToNext, needleUpdateFunc) {
-        if (!this.$editor) return null;
-        var options = this.$options;
-        if (needleUpdateFunc) {
-            options.needle = needleUpdateFunc.call(this, options.needle || '') || '';
-        }
-        if (options.needle.length === 0) {
-            this.statusMessage(true);
-            return this.cancelSearch(true);
-        };
-        options.start = this.$currentPos;
-        var session = this.$editor.session,
-            found = this.find(session);
-        if (found) {
-            if (options.backwards) found = Range.fromPoints(found.end, found.start);
-            this.$editor.moveCursorToPosition(found.end);
-            if (moveToNext) this.$currentPos = found.end;
-            this.highlight(options.re)
-        }
-
-        this.statusMessage(found);
-
-        return found;
-    }
-
-    this.addString = function(s) {
-        return this.highlightAndFindWithNeedle(false, function(needle) {
-            return needle + s;
-        });
-    }
-
-    this.removeChar = function(c) {
-        return this.highlightAndFindWithNeedle(false, function(needle) {
-            return needle.length > 0 ? needle.substring(0, needle.length-1) : needle;
-        });
-    }
-
-    this.next = function(options) {
-        options = options || {};
-        this.$options.backwards = !!options.backwards;
-        this.$currentPos = this.$editor.getCursorPosition();
-        return this.highlightAndFindWithNeedle(true, function(needle) {
-            return options.useCurrentOrPrevSearch && needle.length === 0 ?
-                this.$prevNeedle || '' : needle;
-        });
-    }
-
-    this.onMouseDown = function(evt) {
-        this.deactivate();
-        return true;
-    }
-
-    this.onPaste = function(text) {
-        this.addString(text);
-    }
-
-    this.statusMessage = function(found) {
-        var options = this.$options, msg = '';
-        msg += options.backwards ? 'reverse-' : '';
-        msg += 'isearch: ' + options.needle;
-        msg += found ? '' : ' (not found)';
-        this.message(msg);
-    }
-
-    this.message = function(msg) {
-        if (this.$editor.showCommandLine) {
-            this.$editor.showCommandLine(msg);
-            this.$editor.focus();
-        } else {
-            console.log(msg);
-        }
-    }
-
-}).call(IncrementalSearch.prototype);
-
-
-exports.IncrementalSearch = IncrementalSearch;
-
-var dom = require('./lib/dom');
-dom.importCssString && dom.importCssString("\
-.ace_marker-layer .ace_isearch-result {\
-  position: absolute;\
-  z-index: 6;\
-  -moz-box-sizing: border-box;\
-  -webkit-box-sizing: border-box;\
-  box-sizing: border-box;\
-}\
-div.ace_isearch-result {\
-  border-radius: 4px;\
-  background-color: rgba(255, 200, 0, 0.5);\
-  box-shadow: 0 0 4px rgb(255, 200, 0);\
-}\
-.ace_dark div.ace_isearch-result {\
-  background-color: rgb(100, 110, 160);\
-  box-shadow: 0 0 4px rgb(80, 90, 140);\
-}", "incremental-search-highlighting");
-var commands = require("./commands/command_manager");
-(function() {
-    this.setupIncrementalSearch = function(editor, val) {
-        if (this.usesIncrementalSearch == val) return;
-        this.usesIncrementalSearch = val;
-        var iSearchCommands = iSearchCommandModule.iSearchStartCommands;
-        var method = val ? 'addCommands' : 'removeCommands';
-        this[method](iSearchCommands);
-    };
-}).call(commands.CommandManager.prototype);
-var Editor = require("./editor").Editor;
-require("./config").defineOptions(Editor.prototype, "editor", {
-    useIncrementalSearch: {
-        set: function(val) {
-            this.keyBinding.$handlers.forEach(function(handler) {
-                if (handler.setupIncrementalSearch) {
-                    handler.setupIncrementalSearch(this, val);
-                }
-            });
-            this._emit('incrementalSearchSettingChanged', {isEnabled: val});
-        }
-    }
-});
-
-});
-
-define("ace/keyboard/emacs",["require","exports","module","ace/lib/dom","ace/incremental_search","ace/commands/incremental_search_commands","ace/keyboard/hash_handler","ace/lib/keys"], function(require, exports, module) {
-"use strict";
-
-var dom = require("../lib/dom");
-require("../incremental_search");
-var iSearchCommandModule = require("../commands/incremental_search_commands");
-
-
-var screenToTextBlockCoordinates = function(x, y) {
-    var canvasPos = this.scroller.getBoundingClientRect();
-
-    var col = Math.floor(
-        (x + this.scrollLeft - canvasPos.left - this.$padding) / this.characterWidth
-    );
-    var row = Math.floor(
-        (y + this.scrollTop - canvasPos.top) / this.lineHeight
-    );
-
-    return this.session.screenToDocumentPosition(row, col);
-};
-
-var HashHandler = require("./hash_handler").HashHandler;
-exports.handler = new HashHandler();
-
-exports.handler.isEmacs = true;
-exports.handler.$id = "ace/keyboard/emacs";
-
-var initialized = false;
-var $formerLongWords;
-var $formerLineStart;
-
-exports.handler.attach = function(editor) {
-    if (!initialized) {
-        initialized = true;
-        dom.importCssString('\
-            .emacs-mode .ace_cursor{\
-                border: 2px rgba(50,250,50,0.8) solid!important;\
-                -moz-box-sizing: border-box!important;\
-                -webkit-box-sizing: border-box!important;\
-                box-sizing: border-box!important;\
-                background-color: rgba(0,250,0,0.9);\
-                opacity: 0.5;\
-            }\
-            .emacs-mode .ace_hidden-cursors .ace_cursor{\
-                opacity: 1;\
-                background-color: transparent;\
-            }\
-            .emacs-mode .ace_overwrite-cursors .ace_cursor {\
-                opacity: 1;\
-                background-color: transparent;\
-                border-width: 0 0 2px 2px !important;\
-            }\
-            .emacs-mode .ace_text-layer {\
-                z-index: 4\
-            }\
-            .emacs-mode .ace_cursor-layer {\
-                z-index: 2\
-            }', 'emacsMode'
-        );
-    }
-    $formerLongWords = editor.session.$selectLongWords;
-    editor.session.$selectLongWords = true;
-    $formerLineStart = editor.session.$useEmacsStyleLineStart;
-    editor.session.$useEmacsStyleLineStart = true;
-
-    editor.session.$emacsMark = null; // the active mark
-    editor.session.$emacsMarkRing = editor.session.$emacsMarkRing || [];
-
-    editor.emacsMark = function() {
-        return this.session.$emacsMark;
-    };
-
-    editor.setEmacsMark = function(p) {
-        this.session.$emacsMark = p;
-    };
-
-    editor.pushEmacsMark = function(p, activate) {
-        var prevMark = this.session.$emacsMark;
-        if (prevMark)
-            this.session.$emacsMarkRing.push(prevMark);
-        if (!p || activate) this.setEmacsMark(p);
-        else this.session.$emacsMarkRing.push(p);
-    };
-
-    editor.popEmacsMark = function() {
-        var mark = this.emacsMark();
-        if (mark) { this.setEmacsMark(null); return mark; }
-        return this.session.$emacsMarkRing.pop();
-    };
-
-    editor.getLastEmacsMark = function(p) {
-        return this.session.$emacsMark || this.session.$emacsMarkRing.slice(-1)[0];
-    };
-
-    editor.on("click", $resetMarkMode);
-    editor.on("changeSession", $kbSessionChange);
-    editor.renderer.screenToTextCoordinates = screenToTextBlockCoordinates;
-    editor.setStyle("emacs-mode");
-    editor.commands.addCommands(commands);
-    exports.handler.platform = editor.commands.platform;
-    editor.$emacsModeHandler = this;
-    editor.addEventListener('copy', this.onCopy);
-    editor.addEventListener('paste', this.onPaste);
-};
-
-exports.handler.detach = function(editor) {
-    delete editor.renderer.screenToTextCoordinates;
-    editor.session.$selectLongWords = $formerLongWords;
-    editor.session.$useEmacsStyleLineStart = $formerLineStart;
-    editor.removeEventListener("click", $resetMarkMode);
-    editor.removeEventListener("changeSession", $kbSessionChange);
-    editor.unsetStyle("emacs-mode");
-    editor.commands.removeCommands(commands);
-    editor.removeEventListener('copy', this.onCopy);
-    editor.removeEventListener('paste', this.onPaste);
-};
-
-var $kbSessionChange = function(e) {
-    if (e.oldSession) {
-        e.oldSession.$selectLongWords = $formerLongWords;
-        e.oldSession.$useEmacsStyleLineStart = $formerLineStart;
-    }
-
-    $formerLongWords = e.session.$selectLongWords;
-    e.session.$selectLongWords = true;
-    $formerLineStart = e.session.$useEmacsStyleLineStart;
-    e.session.$useEmacsStyleLineStart = true;
-
-    if (!e.session.hasOwnProperty('$emacsMark'))
-        e.session.$emacsMark = null;
-    if (!e.session.hasOwnProperty('$emacsMarkRing'))
-        e.session.$emacsMarkRing = [];
-};
-
-var $resetMarkMode = function(e) {
-    e.editor.session.$emacsMark = null;
-};
-
-var keys = require("../lib/keys").KEY_MODS;
-var eMods = {C: "ctrl", S: "shift", M: "alt", CMD: "command"};
-var combinations = ["C-S-M-CMD",
-                    "S-M-CMD", "C-M-CMD", "C-S-CMD", "C-S-M",
-                    "M-CMD", "S-CMD", "S-M", "C-CMD", "C-M", "C-S",
-                    "CMD", "M", "S", "C"];
-combinations.forEach(function(c) {
-    var hashId = 0;
-    c.split("-").forEach(function(c) {
-        hashId = hashId | keys[eMods[c]];
-    });
-    eMods[hashId] = c.toLowerCase() + "-";
-});
-
-exports.handler.onCopy = function(e, editor) {
-    if (editor.$handlesEmacsOnCopy) return;
-    editor.$handlesEmacsOnCopy = true;
-    exports.handler.commands.killRingSave.exec(editor);
-    delete editor.$handlesEmacsOnCopy;
-};
-
-exports.handler.onPaste = function(e, editor) {
-    editor.pushEmacsMark(editor.getCursorPosition());
-};
-
-exports.handler.bindKey = function(key, command) {
-    if (!key)
-        return;
-
-    var ckb = this.commandKeyBinding;
-    key.split("|").forEach(function(keyPart) {
-        keyPart = keyPart.toLowerCase();
-        ckb[keyPart] = command;
-        var keyParts = keyPart.split(" ").slice(0,-1);
-        keyParts.reduce(function(keyMapKeys, keyPart, i) {
-            var prefix = keyMapKeys[i-1] ? keyMapKeys[i-1] + ' ' : '';
-            return keyMapKeys.concat([prefix + keyPart]);
-        }, []).forEach(function(keyPart) {
-            if (!ckb[keyPart]) ckb[keyPart] = "null";
-        });
-    }, this);
-};
-
-exports.handler.handleKeyboard = function(data, hashId, key, keyCode) {
-    if (keyCode === -1) return undefined;
-
-    var editor = data.editor;
-    if (hashId == -1) {
-        editor.pushEmacsMark();
-        if (data.count) {
-            var str = new Array(data.count + 1).join(key);
-            data.count = null;
-            return {command: "insertstring", args: str};
-        }
-    }
-
-    if (key == "\x00") return undefined;
-
-    var modifier = eMods[hashId];
-    if (modifier == "c-" || data.universalArgument) {
-        var prevCount = String(data.count || 0);
-        var count = parseInt(key[key.length - 1]);
-        if (typeof count === 'number' && !isNaN(count)) {
-            data.count = parseInt(prevCount + count);
-            return {command: "null"};
-        } else if (data.universalArgument) {
-            data.count = 4;
-        }
-    }
-    data.universalArgument = false;
-    if (modifier) key = modifier + key;
-    if (data.keyChain) key = data.keyChain += " " + key;
-    var command = this.commandKeyBinding[key];
-    data.keyChain = command == "null" ? key : "";
-    if (!command) return undefined;
-    if (command === "null") return {command: "null"};
-
-    if (command === "universalArgument") {
-        data.universalArgument = true;
-        return {command: "null"};
-    }
-    var args;
-    if (typeof command !== "string") {
-        args = command.args;
-        if (command.command) command = command.command;
-        if (command === "goorselect") {
-            command = editor.emacsMark() ? args[1] : args[0];
-            args = null;
-        }
-    }
-
-    if (typeof command === "string") {
-        if (command === "insertstring" ||
-            command === "splitline" ||
-            command === "togglecomment") {
-            editor.pushEmacsMark();
-        }
-        command = this.commands[command] || editor.commands.commands[command];
-        if (!command) return undefined;
-    }
-
-    if (!command.readonly && !command.isYank)
-        data.lastCommand = null;
-
-    if (data.count) {
-        var count = data.count;
-        data.count = 0;
-        if (!command || !command.handlesCount) {
-            return {
-                args: args,
-                command: {
-                    exec: function(editor, args) {
-                        for (var i = 0; i < count; i++)
-                            command.exec(editor, args);
-                    }
-                }
-            };
-        } else {
-            if (!args) args = {};
-            if (typeof args === 'object') args.count = count;
-        }
-    }
-
-    return {command: command, args: args};
-};
-
-exports.emacsKeys = {
-    "Up|C-p"      : {command: "goorselect", args: ["golineup","selectup"]},
-    "Down|C-n"    : {command: "goorselect", args: ["golinedown","selectdown"]},
-    "Left|C-b"    : {command: "goorselect", args: ["gotoleft","selectleft"]},
-    "Right|C-f"   : {command: "goorselect", args: ["gotoright","selectright"]},
-    "C-Left|M-b"  : {command: "goorselect", args: ["gotowordleft","selectwordleft"]},
-    "C-Right|M-f" : {command: "goorselect", args: ["gotowordright","selectwordright"]},
-    "Home|C-a"    : {command: "goorselect", args: ["gotolinestart","selecttolinestart"]},
-    "End|C-e"     : {command: "goorselect", args: ["gotolineend","selecttolineend"]},
-    "C-Home|S-M-,": {command: "goorselect", args: ["gotostart","selecttostart"]},
-    "C-End|S-M-." : {command: "goorselect", args: ["gotoend","selecttoend"]},
-    "S-Up|S-C-p"      : "selectup",
-    "S-Down|S-C-n"    : "selectdown",
-    "S-Left|S-C-b"    : "selectleft",
-    "S-Right|S-C-f"   : "selectright",
-    "S-C-Left|S-M-b"  : "selectwordleft",
-    "S-C-Right|S-M-f" : "selectwordright",
-    "S-Home|S-C-a"    : "selecttolinestart",
-    "S-End|S-C-e"     : "selecttolineend",
-    "S-C-Home"        : "selecttostart",
-    "S-C-End"         : "selecttoend",
-
-    "C-l" : "recenterTopBottom",
-    "M-s" : "centerselection",
-    "M-g": "gotoline",
-    "C-x C-p": "selectall",
-    "C-Down": {command: "goorselect", args: ["gotopagedown","selectpagedown"]},
-    "C-Up": {command: "goorselect", args: ["gotopageup","selectpageup"]},
-    "PageDown|C-v": {command: "goorselect", args: ["gotopagedown","selectpagedown"]},
-    "PageUp|M-v": {command: "goorselect", args: ["gotopageup","selectpageup"]},
-    "S-C-Down": "selectpagedown",
-    "S-C-Up": "selectpageup",
-
-    "C-s": "iSearch",
-    "C-r": "iSearchBackwards",
-
-    "M-C-s": "findnext",
-    "M-C-r": "findprevious",
-    "S-M-5": "replace",
-    "Backspace": "backspace",
-    "Delete|C-d": "del",
-    "Return|C-m": {command: "insertstring", args: "\n"}, // "newline"
-    "C-o": "splitline",
-
-    "M-d|C-Delete": {command: "killWord", args: "right"},
-    "C-Backspace|M-Backspace|M-Delete": {command: "killWord", args: "left"},
-    "C-k": "killLine",
-
-    "C-y|S-Delete": "yank",
-    "M-y": "yankRotate",
-    "C-g": "keyboardQuit",
-
-    "C-w": "killRegion",
-    "M-w": "killRingSave",
-    "C-Space": "setMark",
-    "C-x C-x": "exchangePointAndMark",
-
-    "C-t": "transposeletters",
-    "M-u": "touppercase",    // Doesn't work
-    "M-l": "tolowercase",
-    "M-/": "autocomplete",   // Doesn't work
-    "C-u": "universalArgument",
-
-    "M-;": "togglecomment",
-
-    "C-/|C-x u|S-C--|C-z": "undo",
-    "S-C-/|S-C-x u|C--|S-C-z": "redo", //infinite undo?
-    "C-x r":  "selectRectangularRegion",
-    "M-x": {command: "focusCommandLine", args: "M-x "}
-};
-
-
-exports.handler.bindKeys(exports.emacsKeys);
-
-exports.handler.addCommands({
-    recenterTopBottom: function(editor) {
-        var renderer = editor.renderer;
-        var pos = renderer.$cursorLayer.getPixelPosition();
-        var h = renderer.$size.scrollerHeight - renderer.lineHeight;
-        var scrollTop = renderer.scrollTop;
-        if (Math.abs(pos.top - scrollTop) < 2) {
-            scrollTop = pos.top - h;
-        } else if (Math.abs(pos.top - scrollTop - h * 0.5) < 2) {
-            scrollTop = pos.top;
-        } else {
-            scrollTop = pos.top - h * 0.5;
-        }
-        editor.session.setScrollTop(scrollTop);
-    },
-    selectRectangularRegion:  function(editor) {
-        editor.multiSelect.toggleBlockSelection();
-    },
-    setMark:  {
-        exec: function(editor, args) {
-            if (args && args.count) {
-                var mark = editor.popEmacsMark();
-                mark && editor.selection.moveCursorToPosition(mark);
-                return;
-            }
-
-            var mark = editor.emacsMark(),
-                transientMarkModeActive = true;
-            if (transientMarkModeActive && (mark || !editor.selection.isEmpty())) {
-                editor.pushEmacsMark();
-                editor.clearSelection();
-                return;
-            }
-
-            if (mark) {
-                var cp = editor.getCursorPosition();
-                if (editor.selection.isEmpty() &&
-                    mark.row == cp.row && mark.column == cp.column) {
-                    editor.pushEmacsMark();
-                    return;
-                }
-            }
-            mark = editor.getCursorPosition();
-            editor.setEmacsMark(mark);
-            editor.selection.setSelectionAnchor(mark.row, mark.column);
-        },
-        readonly: true,
-        handlesCount: true,
-        multiSelectAction: "forEach"
-    },
-    exchangePointAndMark: {
-        exec: function(editor, args) {
-            var sel = editor.selection;
-            if (args.count) {
-                var pos = editor.getCursorPosition();
-                sel.clearSelection();
-                sel.moveCursorToPosition(editor.popEmacsMark());
-                editor.pushEmacsMark(pos);
-                return;
-            }
-            var lastMark = editor.getLastEmacsMark();
-            var range = sel.getRange();
-            if (range.isEmpty()) {
-                sel.selectToPosition(lastMark);
-                return;
-            }
-            sel.setSelectionRange(range, !sel.isBackwards());
-        },
-        readonly: true,
-        handlesCount: true,
-        multiSelectAction: "forEach"
-    },
-    killWord: {
-        exec: function(editor, dir) {
-            editor.clearSelection();
-            if (dir == "left")
-                editor.selection.selectWordLeft();
-            else
-                editor.selection.selectWordRight();
-
-            var range = editor.getSelectionRange();
-            var text = editor.session.getTextRange(range);
-            exports.killRing.add(text);
-
-            editor.session.remove(range);
-            editor.clearSelection();
-        },
-        multiSelectAction: "forEach"
-    },
-    killLine: function(editor) {
-        editor.pushEmacsMark(null);
-        var pos = editor.getCursorPosition();
-        if (pos.column === 0 &&
-            editor.session.doc.getLine(pos.row).length === 0) {
-            editor.selection.selectLine();
-        } else {
-            editor.clearSelection();
-            editor.selection.selectLineEnd();
-        }
-        var range = editor.getSelectionRange();
-        var text = editor.session.getTextRange(range);
-        exports.killRing.add(text);
-
-        editor.session.remove(range);
-        editor.clearSelection();
-    },
-    yank: function(editor) {
-        editor.onPaste(exports.killRing.get() || '');
-        editor.keyBinding.$data.lastCommand = "yank";
-    },
-    yankRotate: function(editor) {
-        if (editor.keyBinding.$data.lastCommand != "yank")
-            return;
-        editor.undo();
-        editor.onPaste(exports.killRing.rotate());
-        editor.keyBinding.$data.lastCommand = "yank";
-    },
-    killRegion: {
-        exec: function(editor) {
-            exports.killRing.add(editor.getCopyText());
-            editor.commands.byName.cut.exec(editor);
-        },
-        readonly: true,
-        multiSelectAction: "forEach"
-    },
-    killRingSave: {
-        exec: function(editor) {
-            exports.killRing.add(editor.getCopyText());
-            setTimeout(function() {
-                var sel = editor.selection,
-                    range = sel.getRange();
-                editor.pushEmacsMark(sel.isBackwards() ? range.end : range.start);
-                sel.clearSelection();
-            }, 0);
-        },
-        readonly: true
-    },
-    keyboardQuit: function(editor) {
-        editor.selection.clearSelection();
-        editor.setEmacsMark(null);
-    },
-    focusCommandLine: function(editor, arg) {
-        if (editor.showCommandLine)
-            editor.showCommandLine(arg);
-    }
-});
-
-exports.handler.addCommands(iSearchCommandModule.iSearchStartCommands);
-
-var commands = exports.handler.commands;
-commands.yank.isYank = true;
-commands.yankRotate.isYank = true;
-
-exports.killRing = {
-    $data: [],
-    add: function(str) {
-        str && this.$data.push(str);
-        if (this.$data.length > 30)
-            this.$data.shift();
-    },
-    get: function(n) {
-        n = n || 1;
-        return this.$data.slice(this.$data.length-n, this.$data.length).reverse().join('\n');
-    },
-    pop: function() {
-        if (this.$data.length > 1)
-            this.$data.pop();
-        return this.get();
-    },
-    rotate: function() {
-        this.$data.unshift(this.$data.pop());
-        return this.get();
-    }
-};
-
-});

+ 0 - 1758
services/web/public/js/ace/src/keybinding-vim.js

@@ -1,1758 +0,0 @@
-define("ace/keyboard/vim/registers",["require","exports","module"], function(require, exports, module) {
-
-"never use strict";
-
-module.exports = {
-    _default: {
-        text: "",
-        isLine: false
-    }
-};
-
-});
-
-define("ace/keyboard/vim/maps/util",["require","exports","module","ace/keyboard/vim/registers","ace/lib/dom"], function(require, exports, module) {
-var registers = require("../registers");
-
-var dom = require("../../../lib/dom");
-dom.importCssString('.insert-mode .ace_cursor{\
-    border-left: 2px solid #333333;\
-}\
-.ace_dark.insert-mode .ace_cursor{\
-    border-left: 2px solid #eeeeee;\
-}\
-.normal-mode .ace_cursor{\
-    border: 0!important;\
-    background-color: red;\
-    opacity: 0.5;\
-}', 'vimMode');
-
-module.exports = {
-    onVisualMode: false,
-    onVisualLineMode: false,
-    currentMode: 'normal',
-    noMode: function(editor) {
-        editor.unsetStyle('insert-mode');
-        editor.unsetStyle('normal-mode');
-        if (editor.commands.recording)
-            editor.commands.toggleRecording(editor);
-        editor.setOverwrite(false);
-    },
-    insertMode: function(editor) {
-        this.currentMode = 'insert';
-        editor.setStyle('insert-mode');
-        editor.unsetStyle('normal-mode');
-
-        editor.setOverwrite(false);
-        editor.keyBinding.$data.buffer = "";
-        editor.keyBinding.$data.vimState = "insertMode";
-        this.onVisualMode = false;
-        this.onVisualLineMode = false;
-        if(this.onInsertReplaySequence) {
-            editor.commands.macro = this.onInsertReplaySequence;
-            editor.commands.replay(editor);
-            this.onInsertReplaySequence = null;
-            this.normalMode(editor);
-        } else {
-            editor._emit("changeStatus");
-            if(!editor.commands.recording)
-                editor.commands.toggleRecording(editor);
-        }
-    },
-    normalMode: function(editor) {
-        this.currentMode = 'normal';
-
-        editor.unsetStyle('insert-mode');
-        editor.setStyle('normal-mode');
-        editor.clearSelection();
-
-        var pos;
-        if (!editor.getOverwrite()) {
-            pos = editor.getCursorPosition();
-            if (pos.column > 0)
-                editor.navigateLeft();
-        }
-
-        editor.setOverwrite(true);
-        editor.keyBinding.$data.buffer = "";
-        editor.keyBinding.$data.vimState = "start";
-        this.onVisualMode = false;
-        this.onVisualLineMode = false;
-        editor._emit("changeStatus");
-        if (editor.commands.recording) {
-            editor.commands.toggleRecording(editor);
-            return editor.commands.macro;
-        }
-        else {
-            return [];
-        }
-    },
-    visualMode: function(editor, lineMode) {
-        if (
-            (this.onVisualLineMode && lineMode)
-            || (this.onVisualMode && !lineMode)
-        ) {
-            this.normalMode(editor);
-            return;
-        }
-
-        editor.setStyle('insert-mode');
-        editor.unsetStyle('normal-mode');
-
-        editor._emit("changeStatus");
-        if (lineMode) {
-            this.onVisualLineMode = true;
-        } else {
-            this.onVisualMode = true;
-            this.onVisualLineMode = false;
-        }
-    },
-    getRightNthChar: function(editor, cursor, ch, n) {
-        var line = editor.getSession().getLine(cursor.row);
-        var matches = line.substr(cursor.column + 1).split(ch);
-
-        return n < matches.length ? matches.slice(0, n).join(ch).length : null;
-    },
-    getLeftNthChar: function(editor, cursor, ch, n) {
-        var line = editor.getSession().getLine(cursor.row);
-        var matches = line.substr(0, cursor.column).split(ch);
-
-        return n < matches.length ? matches.slice(-1 * n).join(ch).length : null;
-    },
-    toRealChar: function(ch) {
-        if (ch.length === 1)
-            return ch;
-
-        if (/^shift-./.test(ch))
-            return ch[ch.length - 1].toUpperCase();
-        else
-            return "";
-    },
-    copyLine: function(editor) {
-        var pos = editor.getCursorPosition();
-        editor.selection.moveTo(pos.row, pos.column);
-        editor.selection.selectLine();
-        registers._default.isLine = true;
-        registers._default.text = editor.getCopyText().replace(/\n$/, "");
-        editor.selection.moveTo(pos.row, pos.column);
-    }
-};
-});
-
-define("ace/keyboard/vim/maps/motions",["require","exports","module","ace/keyboard/vim/maps/util","ace/search","ace/range"], function(require, exports, module) {
-"use strict";
-
-var util = require("./util");
-
-var keepScrollPosition = function(editor, fn) {
-    var scrollTopRow = editor.renderer.getScrollTopRow();
-    var initialRow = editor.getCursorPosition().row;
-    var diff = initialRow - scrollTopRow;
-    fn && fn.call(editor);
-    editor.renderer.scrollToRow(editor.getCursorPosition().row - diff);
-};
-
-function Motion(m) {
-    if (typeof m == "function") {
-        var getPos = m;
-        m = this;
-    } else {
-        var getPos = m.getPos;
-    }
-    m.nav = function(editor, range, count, param) {
-        var a = getPos(editor, range, count, param, false);
-        if (!a)
-            return;
-        editor.selection.moveTo(a.row, a.column);
-    };
-    m.sel = function(editor, range, count, param) {
-        var a = getPos(editor, range, count, param, true);
-        if (!a)
-            return;
-        editor.selection.selectTo(a.row, a.column);
-    };
-    return m;
-}
-
-var nonWordRe = /[\s.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/;
-var wordSeparatorRe = /[.\/\\()\"'-:,.;<>~!@#$%^&*|+=\[\]{}`~?]/;
-var whiteRe = /\s/;
-var StringStream = function(editor, cursor) {
-    var sel = editor.selection;
-    this.range = sel.getRange();
-    cursor = cursor || sel.selectionLead;
-    this.row = cursor.row;
-    this.col = cursor.column;
-    var line = editor.session.getLine(this.row);
-    var maxRow = editor.session.getLength();
-    this.ch = line[this.col] || '\n';
-    this.skippedLines = 0;
-
-    this.next = function() {
-        this.ch = line[++this.col] || this.handleNewLine(1);
-        return this.ch;
-    };
-    this.prev = function() {
-        this.ch = line[--this.col] || this.handleNewLine(-1);
-        return this.ch;
-    };
-    this.peek = function(dir) {
-        var ch = line[this.col + dir];
-        if (ch)
-            return ch;
-        if (dir == -1)
-            return '\n';
-        if (this.col == line.length - 1)
-            return '\n';
-        return editor.session.getLine(this.row + 1)[0] || '\n';
-    };
-
-    this.handleNewLine = function(dir) {
-        if (dir == 1){
-            if (this.col == line.length)
-                return '\n';
-            if (this.row == maxRow - 1)
-                return '';
-            this.col = 0;
-            this.row ++;
-            line = editor.session.getLine(this.row);
-            this.skippedLines++;
-            return line[0] || '\n';
-        }
-        if (dir == -1) {
-            if (this.row === 0)
-                return '';
-            this.row --;
-            line = editor.session.getLine(this.row);
-            this.col = line.length;
-            this.skippedLines--;
-            return '\n';
-        }
-    };
-    this.debug = function() {
-        console.log(line.substring(0, this.col)+'|'+this.ch+'\''+this.col+'\''+line.substr(this.col+1));
-    };
-};
-
-var Search = require("../../../search").Search;
-var search = new Search();
-
-function find(editor, needle, dir) {
-    search.$options.needle = needle;
-    search.$options.backwards = dir == -1;
-    return search.find(editor.session);
-}
-
-var Range = require("../../../range").Range;
-
-var LAST_SEARCH_MOTION = {};
-
-module.exports = {
-    "w": new Motion(function(editor) {
-        var str = new StringStream(editor);
-
-        if (str.ch && wordSeparatorRe.test(str.ch)) {
-            while (str.ch && wordSeparatorRe.test(str.ch))
-                str.next();
-        } else {
-            while (str.ch && !nonWordRe.test(str.ch))
-                str.next();
-        }
-        while (str.ch && whiteRe.test(str.ch) && str.skippedLines < 2)
-            str.next();
-
-        str.skippedLines == 2 && str.prev();
-        return {column: str.col, row: str.row};
-    }),
-    "W": new Motion(function(editor) {
-        var str = new StringStream(editor);
-        while(str.ch && !(whiteRe.test(str.ch) && !whiteRe.test(str.peek(1))) && str.skippedLines < 2)
-            str.next();
-        if (str.skippedLines == 2)
-            str.prev();
-        else
-            str.next();
-
-        return {column: str.col, row: str.row};
-    }),
-    "b": new Motion(function(editor) {
-        var str = new StringStream(editor);
-
-        str.prev();
-        while (str.ch && whiteRe.test(str.ch) && str.skippedLines > -2)
-            str.prev();
-
-        if (str.ch && wordSeparatorRe.test(str.ch)) {
-            while (str.ch && wordSeparatorRe.test(str.ch))
-                str.prev();
-        } else {
-            while (str.ch && !nonWordRe.test(str.ch))
-                str.prev();
-        }
-        str.ch && str.next();
-        return {column: str.col, row: str.row};
-    }),
-    "B": new Motion(function(editor) {
-        var str = new StringStream(editor);
-        str.prev();
-        while(str.ch && !(!whiteRe.test(str.ch) && whiteRe.test(str.peek(-1))) && str.skippedLines > -2)
-            str.prev();
-
-        if (str.skippedLines == -2)
-            str.next();
-
-        return {column: str.col, row: str.row};
-    }),
-    "e": new Motion(function(editor) {
-        var str = new StringStream(editor);
-
-        str.next();
-        while (str.ch && whiteRe.test(str.ch))
-            str.next();
-
-        if (str.ch && wordSeparatorRe.test(str.ch)) {
-            while (str.ch && wordSeparatorRe.test(str.ch))
-                str.next();
-        } else {
-            while (str.ch && !nonWordRe.test(str.ch))
-                str.next();
-        }
-        str.ch && str.prev();
-        return {column: str.col, row: str.row};
-    }),
-    "E": new Motion(function(editor) {
-        var str = new StringStream(editor);
-        str.next();
-        while(str.ch && !(!whiteRe.test(str.ch) && whiteRe.test(str.peek(1))))
-            str.next();
-
-        return {column: str.col, row: str.row};
-    }),
-
-    "l": {
-        nav: function(editor) {
-            var pos = editor.getCursorPosition();
-            var col = pos.column;
-            var lineLen = editor.session.getLine(pos.row).length;
-            if (lineLen && col !== lineLen)
-                editor.navigateRight();
-        },
-        sel: function(editor) {
-            var pos = editor.getCursorPosition();
-            var col = pos.column;
-            var lineLen = editor.session.getLine(pos.row).length;
-            if (lineLen && col !== lineLen) //In selection mode you can select the newline
-                editor.selection.selectRight();
-        }
-    },
-    "h": {
-        nav: function(editor) {
-            var pos = editor.getCursorPosition();
-            if (pos.column > 0)
-                editor.navigateLeft();
-        },
-        sel: function(editor) {
-            var pos = editor.getCursorPosition();
-            if (pos.column > 0)
-                editor.selection.selectLeft();
-        }
-    },
-    "H": {
-        nav: function(editor) {
-            var row = editor.renderer.getScrollTopRow();
-            editor.moveCursorTo(row);
-        },
-        sel: function(editor) {
-            var row = editor.renderer.getScrollTopRow();
-            editor.selection.selectTo(row);
-        }
-    },
-    "M": {
-        nav: function(editor) {
-            var topRow = editor.renderer.getScrollTopRow();
-            var bottomRow = editor.renderer.getScrollBottomRow();
-            var row = topRow + ((bottomRow - topRow) / 2);
-            editor.moveCursorTo(row);
-        },
-        sel: function(editor) {
-            var topRow = editor.renderer.getScrollTopRow();
-            var bottomRow = editor.renderer.getScrollBottomRow();
-            var row = topRow + ((bottomRow - topRow) / 2);
-            editor.selection.selectTo(row);
-        }
-    },
-    "L": {
-        nav: function(editor) {
-            var row = editor.renderer.getScrollBottomRow();
-            editor.moveCursorTo(row);
-        },
-        sel: function(editor) {
-            var row = editor.renderer.getScrollBottomRow();
-            editor.selection.selectTo(row);
-        }
-    },
-    "k": {
-        nav: function(editor) {
-            editor.navigateUp();
-        },
-        sel: function(editor) {
-            editor.selection.selectUp();
-        }
-    },
-    "j": {
-        nav: function(editor) {
-            editor.navigateDown();
-        },
-        sel: function(editor) {
-            editor.selection.selectDown();
-        }
-    },
-
-    "i": {
-        param: true,
-        sel: function(editor, range, count, param) {
-            switch (param) {
-                case "w":
-                    editor.selection.selectWord();
-                    break;
-                case "W":
-                    editor.selection.selectAWord();
-                    break;
-                case "(":
-                case "{":
-                case "[":
-                    var cursor = editor.getCursorPosition();
-                    var end = editor.session.$findClosingBracket(param, cursor, /paren/);
-                    if (!end)
-                        return;
-                    var start = editor.session.$findOpeningBracket(editor.session.$brackets[param], cursor, /paren/);
-                    if (!start)
-                        return;
-                    start.column ++;
-                    editor.selection.setSelectionRange(Range.fromPoints(start, end));
-                    break;
-                case "'":
-                case '"':
-                case "/":
-                    var end = find(editor, param, 1);
-                    if (!end)
-                        return;
-                    var start = find(editor, param, -1);
-                    if (!start)
-                        return;
-                    editor.selection.setSelectionRange(Range.fromPoints(start.end, end.start));
-                    break;
-            }
-        }
-    },
-    "a": {
-        param: true,
-        sel: function(editor, range, count, param) {
-            switch (param) {
-                case "w":
-                    editor.selection.selectAWord();
-                    break;
-                case "W":
-                    editor.selection.selectAWord();
-                    break;
-                case ")":
-                case "}":
-                case "]":
-                    param = editor.session.$brackets[param];
-                case "(":
-                case "{":
-                case "[":
-                    var cursor = editor.getCursorPosition();
-                    var end = editor.session.$findClosingBracket(param, cursor, /paren/);
-                    if (!end)
-                        return;
-                    var start = editor.session.$findOpeningBracket(editor.session.$brackets[param], cursor, /paren/);
-                    if (!start)
-                        return;
-                    end.column ++;
-                    editor.selection.setSelectionRange(Range.fromPoints(start, end));
-                    break;
-                case "'":
-                case "\"":
-                case "/":
-                    var end = find(editor, param, 1);
-                    if (!end)
-                        return;
-                    var start = find(editor, param, -1);
-                    if (!start)
-                        return;
-                    end.column ++;
-                    editor.selection.setSelectionRange(Range.fromPoints(start.start, end.end));
-                    break;
-            }
-        }
-    },
-
-    "f": new Motion({
-        param: true,
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel, isRepeat) {
-            if (param == "space") param = " ";
-            if (!isRepeat)
-                LAST_SEARCH_MOTION = {ch: "f", param: param};
-            var cursor = editor.getCursorPosition();
-            var column = util.getRightNthChar(editor, cursor, param, count || 1);
-
-            if (typeof column === "number") {
-                cursor.column += column + (isSel ? 2 : 1);
-                return cursor;
-            }
-        }
-    }),
-    "F": new Motion({
-        param: true,
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel, isRepeat) {
-            if (param == "space") param = " ";
-            if (!isRepeat)
-                LAST_SEARCH_MOTION = {ch: "F", param: param};
-            var cursor = editor.getCursorPosition();
-            var column = util.getLeftNthChar(editor, cursor, param, count || 1);
-
-            if (typeof column === "number") {
-                cursor.column -= column + 1;
-                return cursor;
-            }
-        }
-    }),
-    "t": new Motion({
-        param: true,
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel, isRepeat) {
-            if (param == "space") param = " ";
-            if (!isRepeat)
-                LAST_SEARCH_MOTION = {ch: "t", param: param};
-            var cursor = editor.getCursorPosition();
-            var column = util.getRightNthChar(editor, cursor, param, count || 1);
-
-            if (isRepeat && column == 0 && !(count > 1))
-                var column = util.getRightNthChar(editor, cursor, param, 2);
-                
-            if (typeof column === "number") {
-                cursor.column += column + (isSel ? 1 : 0);
-                return cursor;
-            }
-        }
-    }),
-    "T": new Motion({
-        param: true,
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel, isRepeat) {
-            if (param == "space") param = " ";
-            if (!isRepeat)
-                LAST_SEARCH_MOTION = {ch: "T", param: param};
-            var cursor = editor.getCursorPosition();
-            var column = util.getLeftNthChar(editor, cursor, param, count || 1);
-
-            if (isRepeat && column == 0 && !(count > 1))
-                var column = util.getLeftNthChar(editor, cursor, param, 2);
-            
-            if (typeof column === "number") {
-                cursor.column -= column;
-                return cursor;
-            }
-        }
-    }),
-    ";": new Motion({
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel) {
-            var ch = LAST_SEARCH_MOTION.ch;
-            if (!ch)
-                return;
-            return module.exports[ch].getPos(
-                editor, range, count, LAST_SEARCH_MOTION.param, isSel, true
-            );
-        }
-    }),
-    ",": new Motion({
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel) {
-            var ch = LAST_SEARCH_MOTION.ch;
-            if (!ch)
-                return;
-            var up = ch.toUpperCase();
-            ch = ch === up ? ch.toLowerCase() : up;
-            
-            return module.exports[ch].getPos(
-                editor, range, count, LAST_SEARCH_MOTION.param, isSel, true
-            );
-        }
-    }),
-
-    "^": {
-        nav: function(editor) {
-            editor.navigateLineStart();
-        },
-        sel: function(editor) {
-            editor.selection.selectLineStart();
-        }
-    },
-    "$": {
-        handlesCount: true,
-        nav: function(editor, range, count, param) {
-            if (count > 1) {
-                editor.navigateDown(count-1);
-            }
-            editor.navigateLineEnd();
-        },
-        sel: function(editor, range, count, param) {
-            if (count > 1) {
-                editor.selection.moveCursorBy(count-1, 0);
-            }
-            editor.selection.selectLineEnd();
-        }
-    },
-    "0": new Motion(function(ed) {
-        return {row: ed.selection.lead.row, column: 0};
-    }),
-    "G": {
-        nav: function(editor, range, count, param) {
-            if (!count && count !== 0) { // Stupid JS
-                count = editor.session.getLength();
-            }
-            editor.gotoLine(count);
-        },
-        sel: function(editor, range, count, param) {
-            if (!count && count !== 0) { // Stupid JS
-                count = editor.session.getLength();
-            }
-            editor.selection.selectTo(count, 0);
-        }
-    },
-    "g": {
-        param: true,
-        nav: function(editor, range, count, param) {
-            switch(param) {
-                case "m":
-                    console.log("Middle line");
-                    break;
-                case "e":
-                    console.log("End of prev word");
-                    break;
-                case "g":
-                    editor.gotoLine(count || 0);
-                case "u":
-                    editor.gotoLine(count || 0);
-                case "U":
-                    editor.gotoLine(count || 0);
-            }
-        },
-        sel: function(editor, range, count, param) {
-            switch(param) {
-                case "m":
-                    console.log("Middle line");
-                    break;
-                case "e":
-                    console.log("End of prev word");
-                    break;
-                case "g":
-                    editor.selection.selectTo(count || 0, 0);
-            }
-        }
-    },
-    "o": {
-        nav: function(editor, range, count, param) {
-            count = count || 1;
-            var content = "";
-            while (0 < count--)
-                content += "\n";
-
-            if (content.length) {
-                editor.navigateLineEnd()
-                editor.insert(content);
-                util.insertMode(editor);
-            }
-        }
-    },
-    "O": {
-        nav: function(editor, range, count, param) {
-            var row = editor.getCursorPosition().row;
-            count = count || 1;
-            var content = "";
-            while (0 < count--)
-                content += "\n";
-
-            if (content.length) {
-                if(row > 0) {
-                    editor.navigateUp();
-                    editor.navigateLineEnd()
-                    editor.insert(content);
-                } else {
-                    editor.session.insert({row: 0, column: 0}, content);
-                    editor.navigateUp();
-                }
-                util.insertMode(editor);
-            }
-        }
-    },
-    "%": new Motion(function(editor){
-        var brRe = /[\[\]{}()]/g;
-        var cursor = editor.getCursorPosition();
-        var ch = editor.session.getLine(cursor.row)[cursor.column];
-        if (!brRe.test(ch)) {
-            var range = find(editor, brRe);
-            if (!range)
-                return;
-            cursor = range.start;
-        }
-        var match = editor.session.findMatchingBracket({
-            row: cursor.row,
-            column: cursor.column + 1
-        });
-
-        return match;
-    }),
-    "{": new Motion(function(ed) {
-        var session = ed.session;
-        var row = session.selection.lead.row;
-        while(row > 0 && !/\S/.test(session.getLine(row)))
-            row--;
-        while(/\S/.test(session.getLine(row)))
-            row--;
-        return {column: 0, row: row};
-    }),
-    "}": new Motion(function(ed) {
-        var session = ed.session;
-        var l = session.getLength();
-        var row = session.selection.lead.row;
-        while(row < l && !/\S/.test(session.getLine(row)))
-            row++;
-        while(/\S/.test(session.getLine(row)))
-            row++;
-        return {column: 0, row: row};
-    }),
-    "ctrl-d": {
-        nav: function(editor, range, count, param) {
-            editor.selection.clearSelection();
-            keepScrollPosition(editor, editor.gotoPageDown);
-        },
-        sel: function(editor, range, count, param) {
-            keepScrollPosition(editor, editor.selectPageDown);
-        }
-    },
-    "ctrl-u": {
-        nav: function(editor, range, count, param) {
-            editor.selection.clearSelection();
-            keepScrollPosition(editor, editor.gotoPageUp);
-        },
-        sel: function(editor, range, count, param) {
-            keepScrollPosition(editor, editor.selectPageUp);
-        }
-    },
-    "`": new Motion({
-        param: true,
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel) {
-            var s = editor.session;
-            var marker = s.vimMarkers && s.vimMarkers[param];
-            if (marker) {
-                return marker.getPosition();
-            }
-        }
-    }),
-    "'": new Motion({
-        param: true,
-        handlesCount: true,
-        getPos: function(editor, range, count, param, isSel) {
-            var s = editor.session;
-            var marker = s.vimMarkers && s.vimMarkers[param];
-            if (marker) {
-                var pos = marker.getPosition();
-                var line = editor.session.getLine(pos.row);                
-                pos.column = line.search(/\S/);
-                if (pos.column == -1)
-                    pos.column = line.length;
-                return pos;
-            }
-        },
-        isLine: true
-    })
-};
-
-module.exports.backspace = module.exports.left = module.exports.h;
-module.exports.space = module.exports['return'] = module.exports.right = module.exports.l;
-module.exports.up = module.exports.k;
-module.exports.down = module.exports.j;
-module.exports.pagedown = module.exports["ctrl-d"];
-module.exports.pageup = module.exports["ctrl-u"];
-module.exports.home = module.exports["0"];
-module.exports.end = module.exports["$"];
-
-});
-
-define("ace/keyboard/vim/maps/operators",["require","exports","module","ace/keyboard/vim/maps/util","ace/keyboard/vim/registers","ace/range"], function(require, exports, module) {
-
-"use strict";
-
-var util = require("./util");
-var registers = require("../registers");
-var Range = require("../../../range").Range;
-
-module.exports = {
-    "d": {
-        selFn: function(editor, range, count, param) {
-            registers._default.text = editor.getCopyText();
-            registers._default.isLine = util.onVisualLineMode;
-            if(util.onVisualLineMode)
-                editor.removeLines();
-            else
-                editor.session.remove(range);
-            util.normalMode(editor);
-        },
-        fn: function(editor, range, count, param) {
-            count = count || 1;
-            switch (param) {
-                case "d":
-                    registers._default.text = "";
-                    registers._default.isLine = true;
-                    for (var i = 0; i < count; i++) {
-                        editor.selection.selectLine();
-                        registers._default.text += editor.getCopyText();
-                        var selRange = editor.getSelectionRange();
-                        if (!selRange.isMultiLine()) {
-                            var row = selRange.start.row - 1;
-                            var col = editor.session.getLine(row).length
-                            selRange.setStart(row, col);
-                            editor.session.remove(selRange);
-                            editor.selection.clearSelection();
-                            break;
-                        }
-                        editor.session.remove(selRange);
-                        editor.selection.clearSelection();
-                    }
-                    registers._default.text = registers._default.text.replace(/\n$/, "");
-                    break;
-                default:
-                    if (range) {
-                        editor.selection.setSelectionRange(range);
-                        registers._default.text = editor.getCopyText();
-                        registers._default.isLine = false;
-                        editor.session.remove(range);
-                        editor.selection.clearSelection();
-                    }
-            }
-        }
-    },
-    "c": {
-        selFn: function(editor, range, count, param) {
-            editor.session.remove(range);
-            util.insertMode(editor);
-        },
-        fn: function(editor, range, count, param) {
-            count = count || 1;
-            switch (param) {
-                case "c":
-                    editor.$blockScrolling++;
-                    editor.selection.$moveSelection(function() {
-                        editor.selection.moveCursorBy(count - 1, 0);
-                    });
-                    var rows = editor.$getSelectedRows();
-                    range = new Range(rows.first, 0, rows.last, Infinity);
-                    editor.session.remove(range);
-                    editor.$blockScrolling--;
-                    util.insertMode(editor);
-                    break;
-                default:
-                    if (range) {
-                        editor.session.remove(range);
-                        util.insertMode(editor);
-                    }
-            }
-        }
-    },
-    "y": {
-        selFn: function(editor, range, count, param) {
-            registers._default.text = editor.getCopyText();
-            registers._default.isLine = util.onVisualLineMode;
-            editor.selection.clearSelection();
-            util.normalMode(editor);
-        },
-        fn: function(editor, range, count, param) {
-            count = count || 1;
-            if (param && param.isLine) 
-                param = "y";
-            switch (param) {
-                case "y":
-                    var pos = editor.getCursorPosition();
-                    editor.selection.selectLine();
-                    for (var i = 0; i < count - 1; i++) {
-                        editor.selection.moveCursorDown();
-                    }
-                    registers._default.text = editor.getCopyText().replace(/\n$/, "");
-                    editor.selection.clearSelection();
-                    registers._default.isLine = true;
-                    editor.moveCursorToPosition(pos);
-                    break;
-                default:
-                    if (range) {
-                        var pos = editor.getCursorPosition();
-                        editor.selection.setSelectionRange(range);
-                        registers._default.text = editor.getCopyText();
-                        registers._default.isLine = false;
-                        editor.selection.clearSelection();
-                        editor.moveCursorTo(pos.row, pos.column);
-                    }
-            }
-        }
-    },
-    ">": {
-        selFn: function(editor, range, count, param) {
-            count = count || 1;
-            for (var i = 0; i < count; i++) {
-                editor.indent();
-            }
-            util.normalMode(editor);
-        },
-        fn: function(editor, range, count, param) {
-            count = parseInt(count || 1, 10);
-            switch (param) {
-                case ">":
-                    var pos = editor.getCursorPosition();
-                    editor.selection.selectLine();
-                    for (var i = 0; i < count - 1; i++) {
-                        editor.selection.moveCursorDown();
-                    }
-                    editor.indent();
-                    editor.selection.clearSelection();
-                    editor.moveCursorToPosition(pos);
-                    editor.navigateLineEnd();
-                    editor.navigateLineStart();
-                    break;
-            }
-        }
-    },
-    "<": {
-        selFn: function(editor, range, count, param) {
-            count = count || 1;
-            for (var i = 0; i < count; i++) {
-                editor.blockOutdent();
-            }
-            util.normalMode(editor);
-        },
-        fn: function(editor, range, count, param) {
-            count = count || 1;
-            switch (param) {
-                case "<":
-                    var pos = editor.getCursorPosition();
-                    editor.selection.selectLine();
-                    for (var i = 0; i < count - 1; i++) {
-                        editor.selection.moveCursorDown();
-                    }
-                    editor.blockOutdent();
-                    editor.selection.clearSelection();
-                    editor.moveCursorToPosition(pos);
-                    editor.navigateLineEnd();
-                    editor.navigateLineStart();
-                    break;
-            }
-        }
-    }
-};
-});
-
-"use strict"
-
-define("ace/keyboard/vim/maps/aliases",["require","exports","module"], function(require, exports, module) {
-module.exports = {
-    "x": {
-        operator: {
-            ch: "d",
-            count: 1
-        },
-        motion: {
-            ch: "l",
-            count: 1
-        }
-    },
-    "X": {
-        operator: {
-            ch: "d",
-            count: 1
-        },
-        motion: {
-            ch: "h",
-            count: 1
-        }
-    },
-    "D": {
-        operator: {
-            ch: "d",
-            count: 1
-        },
-        motion: {
-            ch: "$",
-            count: 1
-        }
-    },
-    "C": {
-        operator: {
-            ch: "c",
-            count: 1
-        },
-        motion: {
-            ch: "$",
-            count: 1
-        }
-    },
-    "s": {
-        operator: {
-            ch: "c",
-            count: 1
-        },
-        motion: {
-            ch: "l",
-            count: 1
-        }
-    },
-    "S": {
-        operator: {
-            ch: "c",
-            count: 1
-        },
-        param: "c"
-    }
-};
-});
-
-define("ace/keyboard/vim/commands",["require","exports","module","ace/lib/lang","ace/keyboard/vim/maps/util","ace/keyboard/vim/maps/motions","ace/keyboard/vim/maps/operators","ace/keyboard/vim/maps/aliases","ace/keyboard/vim/registers"], function(require, exports, module) {
-
-"never use strict";
-
-var lang = require("../../lib/lang");
-var util = require("./maps/util");
-var motions = require("./maps/motions");
-var operators = require("./maps/operators");
-var alias = require("./maps/aliases");
-var registers = require("./registers");
-
-var NUMBER = 1;
-var OPERATOR = 2;
-var MOTION = 3;
-var ACTION = 4;
-var HMARGIN = 8; // Minimum amount of line separation between margins;
-
-var repeat = function repeat(fn, count, args) {
-    while (0 < count--)
-        fn.apply(this, args);
-};
-
-var ensureScrollMargin = function(editor) {
-    var renderer = editor.renderer;
-    var pos = renderer.$cursorLayer.getPixelPosition();
-
-    var top = pos.top;
-
-    var margin = HMARGIN * renderer.layerConfig.lineHeight;
-    if (2 * margin > renderer.$size.scrollerHeight)
-        margin = renderer.$size.scrollerHeight / 2;
-
-    if (renderer.scrollTop > top - margin) {
-        renderer.session.setScrollTop(top - margin);
-    }
-
-    if (renderer.scrollTop + renderer.$size.scrollerHeight < top + margin + renderer.lineHeight) {
-        renderer.session.setScrollTop(top + margin + renderer.lineHeight - renderer.$size.scrollerHeight);
-    }
-};
-
-var actions = exports.actions = {
-    "z": {
-        param: true,
-        fn: function(editor, range, count, param) {
-            switch (param) {
-                case "z":
-                    editor.renderer.alignCursor(null, 0.5);
-                    break;
-                case "t":
-                    editor.renderer.alignCursor(null, 0);
-                    break;
-                case "b":
-                    editor.renderer.alignCursor(null, 1);
-                    break;
-                case "c":
-                    editor.session.onFoldWidgetClick(range.start.row, {domEvent:{target :{}}});
-                    break;
-                case "o":
-                    editor.session.onFoldWidgetClick(range.start.row, {domEvent:{target :{}}});
-                    break;
-                case "C":
-                    editor.session.foldAll();
-                    break;
-                case "O":
-                    editor.session.unfold();
-                    break;
-            }
-        }
-    },
-    "r": {
-        param: true,
-        fn: function(editor, range, count, param) {
-            if (param && param.length) {
-                if (param.length > 1)
-                    param = param == "return" ? "\n" : param == "tab" ? "\t" : param;
-                repeat(function() { editor.insert(param); }, count || 1);
-                editor.navigateLeft();
-            }
-        }
-    },
-    "R": {
-        fn: function(editor, range, count, param) {
-            util.insertMode(editor);
-            editor.setOverwrite(true);
-        }
-    },
-    "~": {
-        fn: function(editor, range, count) {
-            repeat(function() {
-                var range = editor.selection.getRange();
-                if (range.isEmpty())
-                    range.end.column++;
-                var text = editor.session.getTextRange(range);
-                var toggled = text.toUpperCase();
-                if (toggled != text)
-                    editor.session.replace(range, toggled);
-                else if (text.toLowerCase() != text)
-                    editor.session.replace(range, text.toLowerCase())
-                else
-                    editor.navigateRight();
-            }, count || 1);
-        }
-    },
-    "*": {
-        fn: function(editor, range, count, param) {
-            editor.selection.selectWord();
-            editor.findNext();
-            ensureScrollMargin(editor);
-            var r = editor.selection.getRange();
-            editor.selection.setSelectionRange(r, true);
-        }
-    },
-    "#": {
-        fn: function(editor, range, count, param) {
-            editor.selection.selectWord();
-            editor.findPrevious();
-            ensureScrollMargin(editor);
-            var r = editor.selection.getRange();
-            editor.selection.setSelectionRange(r, true);
-        }
-    },
-    "m": {
-        param: true,
-        fn: function(editor, range, count, param) {
-            var s =  editor.session;
-            var markers = s.vimMarkers || (s.vimMarkers = {});
-            var c = editor.getCursorPosition();
-            if (!markers[param]) {
-                markers[param] = editor.session.doc.createAnchor(c);
-            }
-            markers[param].setPosition(c.row, c.column, true);
-        }
-    },
-    "n": {
-        fn: function(editor, range, count, param) {
-            var options = editor.getLastSearchOptions();
-            options.backwards = false;
-            options.start = null;
-
-            editor.selection.moveCursorRight();
-            editor.selection.clearSelection();
-            editor.findNext(options);
-
-            ensureScrollMargin(editor);
-            var r = editor.selection.getRange();
-            r.end.row = r.start.row;
-            r.end.column = r.start.column;
-            editor.selection.setSelectionRange(r, true);
-        }
-    },
-    "N": {
-        fn: function(editor, range, count, param) {
-            var options = editor.getLastSearchOptions();
-            options.backwards = true;
-            options.start = null;
-
-            editor.findPrevious(options);
-            ensureScrollMargin(editor);
-            var r = editor.selection.getRange();
-            r.end.row = r.start.row;
-            r.end.column = r.start.column;
-            editor.selection.setSelectionRange(r, true);
-        }
-    },
-    "v": {
-        fn: function(editor, range, count, param) {
-            editor.selection.selectRight();
-            util.visualMode(editor, false);
-        },
-        acceptsMotion: true
-    },
-    "V": {
-        fn: function(editor, range, count, param) {
-            var row = editor.getCursorPosition().row;
-            editor.selection.moveTo(row, 0);
-            editor.selection.selectLineEnd();
-            editor.selection.visualLineStart = row;
-
-            util.visualMode(editor, true);
-        },
-        acceptsMotion: true
-    },
-    "Y": {
-        fn: function(editor, range, count, param) {
-            util.copyLine(editor);
-        }
-    },
-    "p": {
-        fn: function(editor, range, count, param) {
-            var defaultReg = registers._default;
-
-            editor.setOverwrite(false);
-            if (defaultReg.isLine) {
-                var pos = editor.getCursorPosition();
-                pos.column = editor.session.getLine(pos.row).length;
-                var text = lang.stringRepeat("\n" + defaultReg.text, count || 1);
-                editor.session.insert(pos, text);
-                editor.moveCursorTo(pos.row + 1, 0);
-            }
-            else {
-                editor.navigateRight();
-                editor.insert(lang.stringRepeat(defaultReg.text, count || 1));
-                editor.navigateLeft();
-            }
-            editor.setOverwrite(true);
-            editor.selection.clearSelection();
-        }
-    },
-    "P": {
-        fn: function(editor, range, count, param) {
-            var defaultReg = registers._default;
-            editor.setOverwrite(false);
-
-            if (defaultReg.isLine) {
-                var pos = editor.getCursorPosition();
-                pos.column = 0;
-                var text = lang.stringRepeat(defaultReg.text + "\n", count || 1);
-                editor.session.insert(pos, text);
-                editor.moveCursorToPosition(pos);
-            }
-            else {
-                editor.insert(lang.stringRepeat(defaultReg.text, count || 1));
-            }
-            editor.setOverwrite(true);
-            editor.selection.clearSelection();
-        }
-    },
-    "J": {
-        fn: function(editor, range, count, param) {
-            var session = editor.session;
-            range = editor.getSelectionRange();
-            var pos = {row: range.start.row, column: range.start.column};
-            count = count || range.end.row - range.start.row;
-            var maxRow = Math.min(pos.row + (count || 1), session.getLength() - 1);
-
-            range.start.column = session.getLine(pos.row).length;
-            range.end.column = session.getLine(maxRow).length;
-            range.end.row = maxRow;
-
-            var text = "";
-            for (var i = pos.row; i < maxRow; i++) {
-                var nextLine = session.getLine(i + 1);
-                text += " " + /^\s*(.*)$/.exec(nextLine)[1] || "";
-            }
-
-            session.replace(range, text);
-            editor.moveCursorTo(pos.row, pos.column);
-        }
-    },
-    "u": {
-        fn: function(editor, range, count, param) {
-            count = parseInt(count || 1, 10);
-            for (var i = 0; i < count; i++) {
-                editor.undo();
-            }
-            editor.selection.clearSelection();
-        }
-    },
-    "ctrl-r": {
-        fn: function(editor, range, count, param) {
-            count = parseInt(count || 1, 10);
-            for (var i = 0; i < count; i++) {
-                editor.redo();
-            }
-            editor.selection.clearSelection();
-        }
-    },
-    ":": {
-        fn: function(editor, range, count, param) {
-            var val = ":";
-            if (count > 1)
-                val = ".,.+" + count + val;
-            if (editor.showCommandLine)
-                editor.showCommandLine(val);
-        }
-    },
-    "/": {
-        fn: function(editor, range, count, param) {
-            if (editor.showCommandLine)
-                editor.showCommandLine("/");
-        }
-    },
-    "?": {
-        fn: function(editor, range, count, param) {
-            if (editor.showCommandLine)
-                editor.showCommandLine("?");
-        }
-    },
-    ".": {
-        fn: function(editor, range, count, param) {
-            util.onInsertReplaySequence = inputBuffer.lastInsertCommands;
-            var previous = inputBuffer.previous;
-            if (previous) // If there is a previous action
-                inputBuffer.exec(editor, previous.action, previous.param);
-        }
-    },
-    "ctrl-x": {
-        fn: function(editor, range, count, param) {
-            editor.modifyNumber(-(count || 1));
-        }
-    },
-    "ctrl-a": {
-        fn: function(editor, range, count, param) {
-            editor.modifyNumber(count || 1);
-        }
-    }
-};
-
-var inputBuffer = exports.inputBuffer = {
-    accepting: [NUMBER, OPERATOR, MOTION, ACTION],
-    currentCmd: null,
-    currentCount: "",
-    pendingCount: "",
-    status: "",
-    operator: null,
-    motion: null,
-
-    lastInsertCommands: [],
-
-    push: function(editor, ch, keyId) {
-        var status = this.status;
-        var isKeyHandled = true;
-        this.idle = false;
-        var wObj = this.waitingForParam;
-        if (/^numpad\d+$/i.test(ch))
-            ch = ch.substr(6);
-            
-        if (wObj) {
-            this.exec(editor, wObj, ch);
-        }
-        else if (!(ch === "0" && !this.currentCount.length) &&
-            (/^\d+$/.test(ch) && this.isAccepting(NUMBER))) {
-            this.currentCount += ch;
-            this.currentCmd = NUMBER;
-            this.accepting = [NUMBER, OPERATOR, MOTION, ACTION];
-        }
-        else if (!this.operator && this.isAccepting(OPERATOR) && operators[ch]) {
-            this.operator = {
-                ch: ch,
-                count: this.getCount()
-            };
-            this.currentCmd = OPERATOR;
-            this.accepting = [NUMBER, MOTION, ACTION];
-            this.exec(editor, { operator: this.operator });
-        }
-        else if (motions[ch] && this.isAccepting(MOTION)) {
-            this.currentCmd = MOTION;
-
-            var ctx = {
-                operator: this.operator,
-                motion: {
-                    ch: ch,
-                    count: this.getCount()
-                }
-            };
-
-            if (motions[ch].param)
-                this.waitForParam(ctx);
-            else
-                this.exec(editor, ctx);
-        }
-        else if (alias[ch] && this.isAccepting(MOTION)) {
-            alias[ch].operator.count = this.getCount();
-            this.exec(editor, alias[ch]);
-        }
-        else if (actions[ch] && this.isAccepting(ACTION)) {
-            var actionObj = {
-                action: {
-                    fn: actions[ch].fn,
-                    count: this.getCount()
-                }
-            };
-
-            if (actions[ch].param) {
-                this.waitForParam(actionObj);
-            }
-            else {
-                this.exec(editor, actionObj);
-            }
-
-            if (actions[ch].acceptsMotion)
-                this.idle = false;
-        }
-        else if (this.operator) {
-            this.operator.count = this.getCount();
-            this.exec(editor, { operator: this.operator }, ch);
-        }
-        else {
-            isKeyHandled = ch.length == 1;
-            this.reset();
-        }
-        
-        if (this.waitingForParam || this.motion || this.operator) {
-            this.status += ch;
-        } else if (this.currentCount) {
-            this.status = this.currentCount;
-        } else if (this.status) {
-            this.status = "";
-        }
-        if (this.status != status)
-            editor._emit("changeStatus");
-        return isKeyHandled;
-    },
-
-    waitForParam: function(cmd) {
-        this.waitingForParam = cmd;
-    },
-
-    getCount: function() {
-        var count = this.currentCount || this.pendingCount;
-        this.currentCount = "";
-        this.pendingCount = count;
-        return count && parseInt(count, 10);
-    },
-
-    exec: function(editor, action, param) {
-        var m = action.motion;
-        var o = action.operator;
-        var a = action.action;
-
-        if (!param)
-            param = action.param;
-
-        if (o) {
-            this.previous = {
-                action: action,
-                param: param
-            };
-        }
-
-        if (o && !editor.selection.isEmpty()) {
-            if (operators[o.ch].selFn) {
-                operators[o.ch].selFn(editor, editor.getSelectionRange(), o.count, param);
-                this.reset();
-            }
-            return;
-        }
-        else if (!m && !a && o && param) {
-            operators[o.ch].fn(editor, null, o.count, param);
-            this.reset();
-        }
-        else if (m) {
-            var run = function(fn) {
-                if (fn && typeof fn === "function") { // There should always be a motion
-                    if (m.count && !motionObj.handlesCount)
-                        repeat(fn, m.count, [editor, null, m.count, param]);
-                    else
-                        fn(editor, null, m.count, param);
-                }
-            };
-
-            var motionObj = motions[m.ch];
-            var selectable = motionObj.sel;
-
-            if (!o) {
-                if ((util.onVisualMode || util.onVisualLineMode) && selectable)
-                    run(motionObj.sel);
-                else
-                    run(motionObj.nav);
-            }
-            else if (selectable) {
-                repeat(function() {
-                    run(motionObj.sel);
-                    operators[o.ch].fn(editor, editor.getSelectionRange(), 
-                        o.count, motionObj.param ? motionObj : param);
-                }, o.count || 1);
-            }
-            this.reset();
-        }
-        else if (a) {
-            a.fn(editor, editor.getSelectionRange(), a.count, param);
-            this.reset();
-        }
-        handleCursorMove(editor);
-    },
-
-    isAccepting: function(type) {
-        return this.accepting.indexOf(type) !== -1;
-    },
-
-    reset: function() {
-        this.operator = null;
-        this.motion = null;
-        this.currentCount = "";
-        this.pendingCount = "";
-        this.status = "";
-        this.accepting = [NUMBER, OPERATOR, MOTION, ACTION];
-        this.idle = true;
-        this.waitingForParam = null;
-    }
-};
-
-function setPreviousCommand(fn) {
-    inputBuffer.previous = { action: { action: { fn: fn } } };
-}
-
-exports.coreCommands = {
-    start: {
-        exec: function start(editor) {
-            util.insertMode(editor);
-            setPreviousCommand(start);
-        }
-    },
-    startBeginning: {
-        exec: function startBeginning(editor) {
-            editor.navigateLineStart();
-            util.insertMode(editor);
-            setPreviousCommand(startBeginning);
-        }
-    },
-    stop: {
-        exec: function stop(editor) {
-            inputBuffer.reset();
-            util.onVisualMode = false;
-            util.onVisualLineMode = false;
-            inputBuffer.lastInsertCommands = util.normalMode(editor);
-        }
-    },
-    append: {
-        exec: function append(editor) {
-            var pos = editor.getCursorPosition();
-            var lineLen = editor.session.getLine(pos.row).length;
-            if (lineLen)
-                editor.navigateRight();
-            util.insertMode(editor);
-            setPreviousCommand(append);
-        }
-    },
-    appendEnd: {
-        exec: function appendEnd(editor) {
-            editor.navigateLineEnd();
-            util.insertMode(editor);
-            setPreviousCommand(appendEnd);
-        }
-    }
-};
-
-var handleCursorMove = exports.onCursorMove = function(editor, e) {
-    if (util.currentMode === 'insert' || handleCursorMove.running)
-        return;
-    else if(!editor.selection.isEmpty()) {
-        handleCursorMove.running = true;
-        if (util.onVisualLineMode) {
-            var originRow = editor.selection.visualLineStart;
-            var cursorRow = editor.getCursorPosition().row;
-            if(originRow <= cursorRow) {
-                var endLine = editor.session.getLine(cursorRow);
-                editor.selection.moveTo(originRow, 0);
-                editor.selection.selectTo(cursorRow, endLine.length);
-            } else {
-                var endLine = editor.session.getLine(originRow);
-                editor.selection.moveTo(originRow, endLine.length);
-                editor.selection.selectTo(cursorRow, 0);
-            }
-        }
-        handleCursorMove.running = false;
-        return;
-    }
-    else {
-        if (e && (util.onVisualLineMode || util.onVisualMode)) {
-            editor.selection.clearSelection();
-            util.normalMode(editor);
-        }
-
-        handleCursorMove.running = true;
-        var pos = editor.getCursorPosition();
-        var lineLen = editor.session.getLine(pos.row).length;
-
-        if (lineLen && pos.column === lineLen)
-            editor.navigateLeft();
-        handleCursorMove.running = false;
-    }
-};
-});
-
-define("ace/keyboard/vim",["require","exports","module","ace/keyboard/vim/commands","ace/keyboard/vim/maps/util","ace/lib/useragent"], function(require, exports, module) {
-"use strict";
-
-var cmds = require("./vim/commands");
-var coreCommands = cmds.coreCommands;
-var util = require("./vim/maps/util");
-var useragent = require("../lib/useragent");
-
-var startCommands = {
-    "i": {
-        command: coreCommands.start
-    },
-    "I": {
-        command: coreCommands.startBeginning
-    },
-    "a": {
-        command: coreCommands.append
-    },
-    "A": {
-        command: coreCommands.appendEnd
-    },
-    "ctrl-f": {
-        command: "gotopagedown"
-    },
-    "ctrl-b": {
-        command: "gotopageup"
-    }
-};
-
-exports.handler = {
-	$id: "ace/keyboard/vim",
-    handleMacRepeat: function(data, hashId, key) {
-        if (hashId == -1) {
-            data.inputChar = key;
-            data.lastEvent = "input";
-        } else if (data.inputChar && data.$lastHash == hashId && data.$lastKey == key) {
-            if (data.lastEvent == "input") {
-                data.lastEvent = "input1";
-            } else if (data.lastEvent == "input1") {
-                return true;
-            }
-        } else {
-            data.$lastHash = hashId;
-            data.$lastKey = key;
-            data.lastEvent = "keypress";
-        }
-    },
-    updateMacCompositionHandlers: function(editor, enable) {
-        var onCompositionUpdateOverride = function(text) {
-            if (util.currentMode !== "insert") {
-                var el = this.textInput.getElement();
-                el.blur();
-                el.focus();
-                el.value = text;
-            } else {
-                this.onCompositionUpdateOrig(text);
-            }
-        };
-        var onCompositionStartOverride = function(text) {
-            if (util.currentMode === "insert") {            
-                this.onCompositionStartOrig(text);
-            }
-        };
-        if (enable) {
-            if (!editor.onCompositionUpdateOrig) {
-                editor.onCompositionUpdateOrig = editor.onCompositionUpdate;
-                editor.onCompositionUpdate = onCompositionUpdateOverride;
-                editor.onCompositionStartOrig = editor.onCompositionStart;
-                editor.onCompositionStart = onCompositionStartOverride;
-            }
-        } else {
-            if (editor.onCompositionUpdateOrig) {
-                editor.onCompositionUpdate = editor.onCompositionUpdateOrig;
-                editor.onCompositionUpdateOrig = null;
-                editor.onCompositionStart = editor.onCompositionStartOrig;
-                editor.onCompositionStartOrig = null;
-            }
-        }
-    },
-
-    handleKeyboard: function(data, hashId, key, keyCode, e) {
-        if (hashId !== 0 && (!key || keyCode == -1))
-            return null;
-        
-        var editor = data.editor;
-        var vimState = data.vimState || "start";
-        
-        if (hashId == 1)
-            key = "ctrl-" + key;
-        if (key == "ctrl-c") {
-            if (!useragent.isMac && editor.getCopyText()) {
-                editor.once("copy", function() {
-                    if (vimState == "start")
-                        coreCommands.stop.exec(editor);
-                    else
-                        editor.selection.clearSelection();
-                });
-                return {command: "null", passEvent: true};
-            }
-            return {command: coreCommands.stop};
-        } else if ((key == "esc" && hashId === 0) || key == "ctrl-[") {
-            return {command: coreCommands.stop};
-        } else if (vimState == "start") {
-            if (useragent.isMac && this.handleMacRepeat(data, hashId, key)) {
-                hashId = -1;
-                key = data.inputChar;
-            }
-            
-            if (hashId == -1 || hashId == 1 || hashId === 0 && key.length > 1) {
-                if (cmds.inputBuffer.idle && startCommands[key])
-                    return startCommands[key];
-                var isHandled = cmds.inputBuffer.push(editor, key);
-                if (!isHandled && hashId !== -1)
-                    return;
-                return {command: "null", passEvent: !isHandled}; 
-            } else if (key == "esc" && hashId === 0) {
-                return {command: coreCommands.stop};
-            }
-            else if (hashId === 0 || hashId == 4) {
-                return {command: "null", passEvent: true};
-            } 
-        } else {
-            if (key == "ctrl-w") {
-                return {command: "removewordleft"};
-            }
-        }
-    },
-
-    attach: function(editor) {
-        editor.on("click", exports.onCursorMove);
-        if (util.currentMode !== "insert")
-            cmds.coreCommands.stop.exec(editor);
-        editor.$vimModeHandler = this;
-        
-        this.updateMacCompositionHandlers(editor, true);
-    },
-
-    detach: function(editor) {
-        editor.removeListener("click", exports.onCursorMove);
-        util.noMode(editor);
-        util.currentMode = "normal";
-        this.updateMacCompositionHandlers(editor, false);
-    },
-
-    actions: cmds.actions,
-    getStatusText: function() {
-        if (util.currentMode == "insert")
-            return "INSERT";
-        if (util.onVisualMode)
-            return (util.onVisualLineMode ? "VISUAL LINE " : "VISUAL ") + cmds.inputBuffer.status;
-        return cmds.inputBuffer.status;
-    }
-};
-
-
-exports.onCursorMove = function(e) {
-    cmds.onCursorMove(e.editor, e);
-    exports.onCursorMove.scheduled = false;
-};
-
-});

+ 0 - 230
services/web/public/js/ace/src/mode-abap.js

@@ -1,230 +0,0 @@
-define("ace/mode/abap_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var AbapHighlightRules = function() {
-
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language": "this",
-        "keyword": 
-            "ADD ALIAS ALIASES ASSERT ASSIGN ASSIGNING AT BACK" +
-            " CALL CASE CATCH CHECK CLASS CLEAR CLOSE CNT COLLECT COMMIT COMMUNICATION COMPUTE CONCATENATE CONDENSE CONSTANTS CONTINUE CONTROLS CONVERT CREATE CURRENCY" +
-            " DATA DEFINE DEFINITION DEFERRED DELETE DESCRIBE DETAIL DIVIDE DO" +
-            " ELSE ELSEIF ENDAT ENDCASE ENDCLASS ENDDO ENDEXEC ENDFORM ENDFUNCTION ENDIF ENDIFEND ENDINTERFACE ENDLOOP ENDMETHOD ENDMODULE ENDON ENDPROVIDE ENDSELECT ENDTRY ENDWHILE EVENT EVENTS EXEC EXIT EXPORT EXPORTING EXTRACT" +
-            " FETCH FIELDS FORM FORMAT FREE FROM FUNCTION" +
-            " GENERATE GET" +
-            " HIDE" +
-            " IF IMPORT IMPORTING INDEX INFOTYPES INITIALIZATION INTERFACE INTERFACES INPUT INSERT IMPLEMENTATION" +
-            " LEAVE LIKE LINE LOAD LOCAL LOOP" +
-            " MESSAGE METHOD METHODS MODIFY MODULE MOVE MULTIPLY" +
-            " ON OVERLAY OPTIONAL OTHERS" +
-            " PACK PARAMETERS PERFORM POSITION PROGRAM PROVIDE PUT" +
-            " RAISE RANGES READ RECEIVE RECEIVING REDEFINITION REFERENCE REFRESH REJECT REPLACE REPORT RESERVE RESTORE RETURNING ROLLBACK" +
-            " SCAN SCROLL SEARCH SELECT SET SHIFT SKIP SORT SORTED SPLIT STANDARD STATICS STEP STOP SUBMIT SUBTRACT SUM SUMMARY SUPPRESS" +
-            " TABLES TIMES TRANSFER TRANSLATE TRY TYPE TYPES" +
-            " UNASSIGN ULINE UNPACK UPDATE" +
-            " WHEN WHILE WINDOW WRITE" +
-            " OCCURS STRUCTURE OBJECT PROPERTY" +
-            " CASTING APPEND RAISING VALUE COLOR" +
-            " CHANGING EXCEPTION EXCEPTIONS DEFAULT CHECKBOX COMMENT" +
-            " ID NUMBER FOR TITLE OUTPUT" +
-            " WITH EXIT USING" +
-            " INTO WHERE GROUP BY HAVING ORDER BY SINGLE" +
-            " APPENDING CORRESPONDING FIELDS OF TABLE" +
-            " LEFT RIGHT OUTER INNER JOIN AS CLIENT SPECIFIED BYPASSING BUFFER UP TO ROWS CONNECTING" +
-            " EQ NE LT LE GT GE NOT AND OR XOR IN LIKE BETWEEN",
-        "constant.language": 
-            "TRUE FALSE NULL SPACE",
-        "support.type": 
-            "c n i p f d t x string xstring decfloat16 decfloat34",
-        "keyword.operator":
-            "abs sign ceil floor trunc frac acos asin atan cos sin tan" +
-            " abapOperator cosh sinh tanh exp log log10 sqrt" +
-            " strlen xstrlen charlen numofchar dbmaxlen lines" 
-    }, "text", true, " ");
-
-    var compoundKeywords = "WITH\\W+(?:HEADER\\W+LINE|FRAME|KEY)|NO\\W+STANDARD\\W+PAGE\\W+HEADING|"+
-        "EXIT\\W+FROM\\W+STEP\\W+LOOP|BEGIN\\W+OF\\W+(?:BLOCK|LINE)|BEGIN\\W+OF|"+
-        "END\\W+OF\\W+(?:BLOCK|LINE)|END\\W+OF|NO\\W+INTERVALS|"+
-        "RESPECTING\\W+BLANKS|SEPARATED\\W+BY|USING\\W+(?:EDIT\\W+MASK)|"+
-        "WHERE\\W+(?:LINE)|RADIOBUTTON\\W+GROUP|REF\\W+TO|"+
-        "(?:PUBLIC|PRIVATE|PROTECTED)(?:\\W+SECTION)?|DELETING\\W+(?:TRAILING|LEADING)"+
-        "(?:ALL\\W+OCCURRENCES)|(?:FIRST|LAST)\\W+OCCURRENCE|INHERITING\\W+FROM|"+
-        "LINE-COUNT|ADD-CORRESPONDING|AUTHORITY-CHECK|BREAK-POINT|CLASS-DATA|CLASS-METHODS|"+
-        "CLASS-METHOD|DIVIDE-CORRESPONDING|EDITOR-CALL|END-OF-DEFINITION|END-OF-PAGE|END-OF-SELECTION|"+
-        "FIELD-GROUPS|FIELD-SYMBOLS|FUNCTION-POOL|MOVE-CORRESPONDING|MULTIPLY-CORRESPONDING|NEW-LINE|"+
-        "NEW-PAGE|NEW-SECTION|PRINT-CONTROL|RP-PROVIDE-FROM-LAST|SELECT-OPTIONS|SELECTION-SCREEN|"+
-        "START-OF-SELECTION|SUBTRACT-CORRESPONDING|SYNTAX-CHECK|SYNTAX-TRACE|TOP-OF-PAGE|TYPE-POOL|"+
-        "TYPE-POOLS|LINE-SIZE|LINE-COUNT|MESSAGE-ID|DISPLAY-MODE|READ(?:-ONLY)?|"+
-        "IS\\W+(?:NOT\\W+)?(?:ASSIGNED|BOUND|INITIAL|SUPPLIED)";
-     
-    this.$rules = {
-        "start" : [
-            {token : "string", regex : "`", next  : "string"},
-            {token : "string", regex : "'", next  : "qstring"},
-            {token : "doc.comment", regex : /^\*.+/},
-            {token : "comment",  regex : /".+$/},
-            {token : "invalid", regex: "\\.{2,}"},
-            {token : "keyword.operator", regex: /\W[\-+\%=<>*]\W|\*\*|[~:,\.&$]|->*?|=>/},
-            {token : "paren.lparen", regex : "[\\[({]"},
-            {token : "paren.rparen", regex : "[\\])}]"},
-            {token : "constant.numeric", regex: "[+-]?\\d+\\b"},
-            {token : "variable.parameter", regex : /sy|pa?\d\d\d\d\|t\d\d\d\.|innnn/}, 
-            {token : "keyword", regex : compoundKeywords}, 
-            {token : "variable.parameter", regex : /\w+-\w+(?:-\w+)*/}, 
-            {token : keywordMapper, regex : "\\b\\w+\\b"},
-            {caseInsensitive: true}
-        ],
-        "qstring" : [
-            {token : "constant.language.escape",   regex : "''"},
-            {token : "string", regex : "'",     next  : "start"},
-            {defaultToken : "string"}
-        ],
-        "string" : [
-            {token : "constant.language.escape",   regex : "``"},
-            {token : "string", regex : "`",     next  : "start"},
-            {defaultToken : "string"}
-        ]
-    }
-};
-oop.inherits(AbapHighlightRules, TextHighlightRules);
-
-exports.AbapHighlightRules = AbapHighlightRules;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/abap",["require","exports","module","ace/mode/abap_highlight_rules","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/lib/oop"], function(require, exports, module) {
-"use strict";
-
-var Rules = require("./abap_highlight_rules").AbapHighlightRules;
-var FoldMode = require("./folding/coffee").FoldMode;
-var Range = require("../range").Range;
-var TextMode = require("./text").Mode;
-var oop = require("../lib/oop");
-
-function Mode() {
-    this.HighlightRules = Rules;
-    this.foldingRules = new FoldMode();
-}
-
-oop.inherits(Mode, TextMode);
-
-(function() {
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        return indent;
-    };
-    
-    this.toggleCommentLines = function(state, doc, startRow, endRow){
-        var range = new Range(0, 0, 0, 0);
-        for (var i = startRow; i <= endRow; ++i) {
-            var line = doc.getLine(i);
-            if (hereComment.test(line))
-                continue;
-                
-            if (commentLine.test(line))
-                line = line.replace(commentLine, '$1');
-            else
-                line = line.replace(indentation, '$&#');
-    
-            range.end.row = range.start.row = i;
-            range.end.column = line.length + 1;
-            doc.replace(range, line);
-        }
-    };
-    
-    this.$id = "ace/mode/abap";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 12
services/web/public/js/ace/src/mode-actionscript.js


+ 0 - 87
services/web/public/js/ace/src/mode-ada.js

@@ -1,87 +0,0 @@
-define("ace/mode/ada_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var AdaHighlightRules = function() {
-var keywords = "abort|else|new|return|abs|elsif|not|reverse|abstract|end|null|accept|entry|select|" +
-"access|exception|of|separate|aliased|exit|or|some|all|others|subtype|and|for|out|synchronized|" +
-"array|function|overriding|at|tagged|generic|package|task|begin|goto|pragma|terminate|" +
-"body|private|then|if|procedure|type|case|in|protected|constant|interface|until|" +
-"|is|raise|use|declare|range|delay|limited|record|when|delta|loop|rem|while|digits|renames|with|do|mod|requeue|xor";
-
-    var builtinConstants = (
-        "true|false|null"
-    );
-
-    var builtinFunctions = (
-        "count|min|max|avg|sum|rank|now|coalesce|main"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "support.function": builtinFunctions,
-        "keyword": keywords,
-        "constant.language": builtinConstants
-    }, "identifier", true);
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment",
-            regex : "--.*$"
-        }, {
-            token : "string",           // " string
-            regex : '".*?"'
-        }, {
-            token : "string",           // ' string
-            regex : "'.*?'"
-        }, {
-            token : "constant.numeric", // float
-            regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="
-        }, {
-            token : "paren.lparen",
-            regex : "[\\(]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\)]"
-        }, {
-            token : "text",
-            regex : "\\s+"
-        } ]
-    };
-};
-
-oop.inherits(AdaHighlightRules, TextHighlightRules);
-
-exports.AdaHighlightRules = AdaHighlightRules;
-});
-
-define("ace/mode/ada",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ada_highlight_rules","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var AdaHighlightRules = require("./ada_highlight_rules").AdaHighlightRules;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = AdaHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "--";
-
-    this.$id = "ace/mode/ada";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

+ 0 - 310
services/web/public/js/ace/src/mode-apache_conf.js

@@ -1,310 +0,0 @@
-define("ace/mode/apache_conf_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var ApacheConfHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { token: 
-            [ 'punctuation.definition.comment.apacheconf',
-              'comment.line.hash.ini',
-              'comment.line.hash.ini' ],
-           regex: '^((?:\\s)*)(#)(.*$)' },
-         { token: 
-            [ 'punctuation.definition.tag.apacheconf',
-              'entity.tag.apacheconf',
-              'text',
-              'string.value.apacheconf',
-              'punctuation.definition.tag.apacheconf' ],
-           regex: '(<)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost)(?:(\\s)(.+?))?(>)' },
-         { token: 
-            [ 'punctuation.definition.tag.apacheconf',
-              'entity.tag.apacheconf',
-              'punctuation.definition.tag.apacheconf' ],
-           regex: '(</)(Proxy|ProxyMatch|IfVersion|Directory|DirectoryMatch|Files|FilesMatch|IfDefine|IfModule|Limit|LimitExcept|Location|LocationMatch|VirtualHost)(>)' },
-         { token: 
-            [ 'keyword.alias.apacheconf', 'text',
-              'string.regexp.apacheconf', 'text',
-              'string.replacement.apacheconf', 'text' ],
-           regex: '(Rewrite(?:Rule|Cond))(\\s+)(.+?)(\\s+)(.+?)($|\\s)' },
-         { token: 
-            [ 'keyword.alias.apacheconf', 'text',
-              'entity.status.apacheconf', 'text',
-              'string.regexp.apacheconf', 'text',
-              'string.path.apacheconf', 'text' ],
-           regex: '(RedirectMatch)(?:(\\s+)(\\d\\d\\d|permanent|temp|seeother|gone))?(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?' },
-         { token: 
-            [ 'keyword.alias.apacheconf', 'text', 
-              'entity.status.apacheconf', 'text',
-              'string.path.apacheconf', 'text',
-              'string.path.apacheconf', 'text' ],
-           regex: '(Redirect)(?:(\\s+)(\\d\\d\\d|permanent|temp|seeother|gone))?(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?' },
-         { token: 
-            [ 'keyword.alias.apacheconf', 'text',
-              'string.regexp.apacheconf', 'text',
-              'string.path.apacheconf', 'text' ],
-           regex: '(ScriptAliasMatch|AliasMatch)(\\s+)(.+?)(\\s+)(?:(.+?)(\\s))?' },
-         { token: 
-            [ 'keyword.alias.apacheconf', 'text',
-              'string.path.apacheconf', 'text',
-              'string.path.apacheconf', 'text' ],
-           regex: '(RedirectPermanent|RedirectTemp|ScriptAlias|Alias)(\\s+)(.+?)(\\s+)(?:(.+?)($|\\s))?' },
-         { token: 'keyword.core.apacheconf',
-           regex: '\\b(?:AcceptPathInfo|AccessFileName|AddDefaultCharset|AddOutputFilterByType|AllowEncodedSlashes|AllowOverride|AuthName|AuthType|CGIMapExtension|ContentDigest|DefaultType|DocumentRoot|EnableMMAP|EnableSendfile|ErrorDocument|ErrorLog|FileETag|ForceType|HostnameLookups|IdentityCheck|Include|KeepAlive|KeepAliveTimeout|LimitInternalRecursion|LimitRequestBody|LimitRequestFields|LimitRequestFieldSize|LimitRequestLine|LimitXMLRequestBody|LogLevel|MaxKeepAliveRequests|NameVirtualHost|Options|Require|RLimitCPU|RLimitMEM|RLimitNPROC|Satisfy|ScriptInterpreterSource|ServerAdmin|ServerAlias|ServerName|ServerPath|ServerRoot|ServerSignature|ServerTokens|SetHandler|SetInputFilter|SetOutputFilter|TimeOut|TraceEnable|UseCanonicalName)\\b' },
-         { token: 'keyword.mpm.apacheconf',
-           regex: '\\b(?:AcceptMutex|AssignUserID|BS2000Account|ChildPerUserID|CoreDumpDirectory|EnableExceptionHook|Group|Listen|ListenBacklog|LockFile|MaxClients|MaxMemFree|MaxRequestsPerChild|MaxRequestsPerThread|MaxSpareServers|MaxSpareThreads|MaxThreads|MaxThreadsPerChild|MinSpareServers|MinSpareThreads|NumServers|PidFile|ReceiveBufferSize|ScoreBoardFile|SendBufferSize|ServerLimit|StartServers|StartThreads|ThreadLimit|ThreadsPerChild|ThreadStackSize|User|Win32DisableAcceptEx)\\b' },
-         { token: 'keyword.access.apacheconf',
-           regex: '\\b(?:Allow|Deny|Order)\\b' },
-         { token: 'keyword.actions.apacheconf',
-           regex: '\\b(?:Action|Script)\\b' },
-         { token: 'keyword.alias.apacheconf',
-           regex: '\\b(?:Alias|AliasMatch|Redirect|RedirectMatch|RedirectPermanent|RedirectTemp|ScriptAlias|ScriptAliasMatch)\\b' },
-         { token: 'keyword.auth.apacheconf',
-           regex: '\\b(?:AuthAuthoritative|AuthGroupFile|AuthUserFile)\\b' },
-         { token: 'keyword.auth_anon.apacheconf',
-           regex: '\\b(?:Anonymous|Anonymous_Authoritative|Anonymous_LogEmail|Anonymous_MustGiveEmail|Anonymous_NoUserID|Anonymous_VerifyEmail)\\b' },
-         { token: 'keyword.auth_dbm.apacheconf',
-           regex: '\\b(?:AuthDBMAuthoritative|AuthDBMGroupFile|AuthDBMType|AuthDBMUserFile)\\b' },
-         { token: 'keyword.auth_digest.apacheconf',
-           regex: '\\b(?:AuthDigestAlgorithm|AuthDigestDomain|AuthDigestFile|AuthDigestGroupFile|AuthDigestNcCheck|AuthDigestNonceFormat|AuthDigestNonceLifetime|AuthDigestQop|AuthDigestShmemSize)\\b' },
-         { token: 'keyword.auth_ldap.apacheconf',
-           regex: '\\b(?:AuthLDAPAuthoritative|AuthLDAPBindDN|AuthLDAPBindPassword|AuthLDAPCharsetConfig|AuthLDAPCompareDNOnServer|AuthLDAPDereferenceAliases|AuthLDAPEnabled|AuthLDAPFrontPageHack|AuthLDAPGroupAttribute|AuthLDAPGroupAttributeIsDN|AuthLDAPRemoteUserIsDN|AuthLDAPUrl)\\b' },
-         { token: 'keyword.autoindex.apacheconf',
-           regex: '\\b(?:AddAlt|AddAltByEncoding|AddAltByType|AddDescription|AddIcon|AddIconByEncoding|AddIconByType|DefaultIcon|HeaderName|IndexIgnore|IndexOptions|IndexOrderDefault|ReadmeName)\\b' },
-         { token: 'keyword.cache.apacheconf',
-           regex: '\\b(?:CacheDefaultExpire|CacheDisable|CacheEnable|CacheForceCompletion|CacheIgnoreCacheControl|CacheIgnoreHeaders|CacheIgnoreNoLastMod|CacheLastModifiedFactor|CacheMaxExpire)\\b' },
-         { token: 'keyword.cern_meta.apacheconf',
-           regex: '\\b(?:MetaDir|MetaFiles|MetaSuffix)\\b' },
-         { token: 'keyword.cgi.apacheconf',
-           regex: '\\b(?:ScriptLog|ScriptLogBuffer|ScriptLogLength)\\b' },
-         { token: 'keyword.cgid.apacheconf',
-           regex: '\\b(?:ScriptLog|ScriptLogBuffer|ScriptLogLength|ScriptSock)\\b' },
-         { token: 'keyword.charset_lite.apacheconf',
-           regex: '\\b(?:CharsetDefault|CharsetOptions|CharsetSourceEnc)\\b' },
-         { token: 'keyword.dav.apacheconf',
-           regex: '\\b(?:Dav|DavDepthInfinity|DavMinTimeout|DavLockDB)\\b' },
-         { token: 'keyword.deflate.apacheconf',
-           regex: '\\b(?:DeflateBufferSize|DeflateCompressionLevel|DeflateFilterNote|DeflateMemLevel|DeflateWindowSize)\\b' },
-         { token: 'keyword.dir.apacheconf',
-           regex: '\\b(?:DirectoryIndex|DirectorySlash)\\b' },
-         { token: 'keyword.disk_cache.apacheconf',
-           regex: '\\b(?:CacheDirLength|CacheDirLevels|CacheExpiryCheck|CacheGcClean|CacheGcDaily|CacheGcInterval|CacheGcMemUsage|CacheGcUnused|CacheMaxFileSize|CacheMinFileSize|CacheRoot|CacheSize|CacheTimeMargin)\\b' },
-         { token: 'keyword.dumpio.apacheconf',
-           regex: '\\b(?:DumpIOInput|DumpIOOutput)\\b' },
-         { token: 'keyword.env.apacheconf',
-           regex: '\\b(?:PassEnv|SetEnv|UnsetEnv)\\b' },
-         { token: 'keyword.expires.apacheconf',
-           regex: '\\b(?:ExpiresActive|ExpiresByType|ExpiresDefault)\\b' },
-         { token: 'keyword.ext_filter.apacheconf',
-           regex: '\\b(?:ExtFilterDefine|ExtFilterOptions)\\b' },
-         { token: 'keyword.file_cache.apacheconf',
-           regex: '\\b(?:CacheFile|MMapFile)\\b' },
-         { token: 'keyword.headers.apacheconf',
-           regex: '\\b(?:Header|RequestHeader)\\b' },
-         { token: 'keyword.imap.apacheconf',
-           regex: '\\b(?:ImapBase|ImapDefault|ImapMenu)\\b' },
-         { token: 'keyword.include.apacheconf',
-           regex: '\\b(?:SSIEndTag|SSIErrorMsg|SSIStartTag|SSITimeFormat|SSIUndefinedEcho|XBitHack)\\b' },
-         { token: 'keyword.isapi.apacheconf',
-           regex: '\\b(?:ISAPIAppendLogToErrors|ISAPIAppendLogToQuery|ISAPICacheFile|ISAPIFakeAsync|ISAPILogNotSupported|ISAPIReadAheadBuffer)\\b' },
-         { token: 'keyword.ldap.apacheconf',
-           regex: '\\b(?:LDAPCacheEntries|LDAPCacheTTL|LDAPConnectionTimeout|LDAPOpCacheEntries|LDAPOpCacheTTL|LDAPSharedCacheFile|LDAPSharedCacheSize|LDAPTrustedCA|LDAPTrustedCAType)\\b' },
-         { token: 'keyword.log.apacheconf',
-           regex: '\\b(?:BufferedLogs|CookieLog|CustomLog|LogFormat|TransferLog|ForensicLog)\\b' },
-         { token: 'keyword.mem_cache.apacheconf',
-           regex: '\\b(?:MCacheMaxObjectCount|MCacheMaxObjectSize|MCacheMaxStreamingBuffer|MCacheMinObjectSize|MCacheRemovalAlgorithm|MCacheSize)\\b' },
-         { token: 'keyword.mime.apacheconf',
-           regex: '\\b(?:AddCharset|AddEncoding|AddHandler|AddInputFilter|AddLanguage|AddOutputFilter|AddType|DefaultLanguage|ModMimeUsePathInfo|MultiviewsMatch|RemoveCharset|RemoveEncoding|RemoveHandler|RemoveInputFilter|RemoveLanguage|RemoveOutputFilter|RemoveType|TypesConfig)\\b' },
-         { token: 'keyword.misc.apacheconf',
-           regex: '\\b(?:ProtocolEcho|Example|AddModuleInfo|MimeMagicFile|CheckSpelling|ExtendedStatus|SuexecUserGroup|UserDir)\\b' },
-         { token: 'keyword.negotiation.apacheconf',
-           regex: '\\b(?:CacheNegotiatedDocs|ForceLanguagePriority|LanguagePriority)\\b' },
-         { token: 'keyword.nw_ssl.apacheconf',
-           regex: '\\b(?:NWSSLTrustedCerts|NWSSLUpgradeable|SecureListen)\\b' },
-         { token: 'keyword.proxy.apacheconf',
-           regex: '\\b(?:AllowCONNECT|NoProxy|ProxyBadHeader|ProxyBlock|ProxyDomain|ProxyErrorOverride|ProxyFtpDirCharset|ProxyIOBufferSize|ProxyMaxForwards|ProxyPass|ProxyPassReverse|ProxyPreserveHost|ProxyReceiveBufferSize|ProxyRemote|ProxyRemoteMatch|ProxyRequests|ProxyTimeout|ProxyVia)\\b' },
-         { token: 'keyword.rewrite.apacheconf',
-           regex: '\\b(?:RewriteBase|RewriteCond|RewriteEngine|RewriteLock|RewriteLog|RewriteLogLevel|RewriteMap|RewriteOptions|RewriteRule)\\b' },
-         { token: 'keyword.setenvif.apacheconf',
-           regex: '\\b(?:BrowserMatch|BrowserMatchNoCase|SetEnvIf|SetEnvIfNoCase)\\b' },
-         { token: 'keyword.so.apacheconf',
-           regex: '\\b(?:LoadFile|LoadModule)\\b' },
-         { token: 'keyword.ssl.apacheconf',
-           regex: '\\b(?:SSLCACertificateFile|SSLCACertificatePath|SSLCARevocationFile|SSLCARevocationPath|SSLCertificateChainFile|SSLCertificateFile|SSLCertificateKeyFile|SSLCipherSuite|SSLEngine|SSLMutex|SSLOptions|SSLPassPhraseDialog|SSLProtocol|SSLProxyCACertificateFile|SSLProxyCACertificatePath|SSLProxyCARevocationFile|SSLProxyCARevocationPath|SSLProxyCipherSuite|SSLProxyEngine|SSLProxyMachineCertificateFile|SSLProxyMachineCertificatePath|SSLProxyProtocol|SSLProxyVerify|SSLProxyVerifyDepth|SSLRandomSeed|SSLRequire|SSLRequireSSL|SSLSessionCache|SSLSessionCacheTimeout|SSLUserName|SSLVerifyClient|SSLVerifyDepth)\\b' },
-         { token: 'keyword.usertrack.apacheconf',
-           regex: '\\b(?:CookieDomain|CookieExpires|CookieName|CookieStyle|CookieTracking)\\b' },
-         { token: 'keyword.vhost_alias.apacheconf',
-           regex: '\\b(?:VirtualDocumentRoot|VirtualDocumentRootIP|VirtualScriptAlias|VirtualScriptAliasIP)\\b' },
-         { token: 
-            [ 'keyword.php.apacheconf',
-              'text',
-              'entity.property.apacheconf',
-              'text',
-              'string.value.apacheconf',
-              'text' ],
-           regex: '\\b(php_value|php_flag)\\b(?:(\\s+)(.+?)(?:(\\s+)(.+?))?)?(\\s)' },
-         { token: 
-            [ 'punctuation.variable.apacheconf',
-              'variable.env.apacheconf',
-              'variable.misc.apacheconf',
-              'punctuation.variable.apacheconf' ],
-           regex: '(%\\{)(?:(HTTP_USER_AGENT|HTTP_REFERER|HTTP_COOKIE|HTTP_FORWARDED|HTTP_HOST|HTTP_PROXY_CONNECTION|HTTP_ACCEPT|REMOTE_ADDR|REMOTE_HOST|REMOTE_PORT|REMOTE_USER|REMOTE_IDENT|REQUEST_METHOD|SCRIPT_FILENAME|PATH_INFO|QUERY_STRING|AUTH_TYPE|DOCUMENT_ROOT|SERVER_ADMIN|SERVER_NAME|SERVER_ADDR|SERVER_PORT|SERVER_PROTOCOL|SERVER_SOFTWARE|TIME_YEAR|TIME_MON|TIME_DAY|TIME_HOUR|TIME_MIN|TIME_SEC|TIME_WDAY|TIME|API_VERSION|THE_REQUEST|REQUEST_URI|REQUEST_FILENAME|IS_SUBREQ|HTTPS)|(.*?))(\\})' },
-         { token: [ 'entity.mime-type.apacheconf', 'text' ],
-           regex: '\\b((?:text|image|application|video|audio)/.+?)(\\s)' },
-         { token: 'entity.helper.apacheconf',
-           regex: '\\b(?:from|unset|set|on|off)\\b',
-           caseInsensitive: true },
-         { token: 'constant.integer.apacheconf', regex: '\\b\\d+\\b' },
-         { token: 
-            [ 'text',
-              'punctuation.definition.flag.apacheconf',
-              'string.flag.apacheconf',
-              'punctuation.definition.flag.apacheconf',
-              'text' ],
-           regex: '(\\s)(\\[)(.*?)(\\])(\\s)' } ] }
-    
-    this.normalizeRules();
-};
-
-ApacheConfHighlightRules.metaData = { fileTypes: 
-       [ 'conf',
-         'CONF',
-         'htaccess',
-         'HTACCESS',
-         'htgroups',
-         'HTGROUPS',
-         'htpasswd',
-         'HTPASSWD',
-         '.htaccess',
-         '.HTACCESS',
-         '.htgroups',
-         '.HTGROUPS',
-         '.htpasswd',
-         '.HTPASSWD' ],
-      name: 'Apache Conf',
-      scopeName: 'source.apacheconf' }
-
-
-oop.inherits(ApacheConfHighlightRules, TextHighlightRules);
-
-exports.ApacheConfHighlightRules = ApacheConfHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/apache_conf",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/apache_conf_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var ApacheConfHighlightRules = require("./apache_conf_highlight_rules").ApacheConfHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = ApacheConfHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "#";
-    this.$id = "ace/mode/apache_conf";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 226
services/web/public/js/ace/src/mode-applescript.js

@@ -1,226 +0,0 @@
-define("ace/mode/applescript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var AppleScriptHighlightRules = function() {
-    var keywords = (
-        "about|above|after|against|and|around|as|at|back|before|beginning|" +
-        "behind|below|beneath|beside|between|but|by|considering|" +
-        "contain|contains|continue|copy|div|does|eighth|else|end|equal|" +
-        "equals|error|every|exit|fifth|first|for|fourth|from|front|" +
-        "get|given|global|if|ignoring|in|into|is|it|its|last|local|me|" +
-        "middle|mod|my|ninth|not|of|on|onto|or|over|prop|property|put|ref|" +
-        "reference|repeat|returning|script|second|set|seventh|since|" +
-        "sixth|some|tell|tenth|that|the|then|third|through|thru|" +
-        "timeout|times|to|transaction|try|until|where|while|whose|with|without"
-    );
-
-    var builtinConstants = (
-        "AppleScript|false|linefeed|return|pi|quote|result|space|tab|true"
-    );
-
-    var builtinFunctions = (
-        "activate|beep|count|delay|launch|log|offset|read|round|run|say|" +
-        "summarize|write"
-    );
-
-    var builtinTypes = (
-        "alias|application|boolean|class|constant|date|file|integer|list|" +
-        "number|real|record|string|text|character|characters|contents|day|" +
-        "frontmost|id|item|length|month|name|paragraph|paragraphs|rest|" +
-        "reverse|running|time|version|weekday|word|words|year"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "support.function": builtinFunctions,
-        "constant.language": builtinConstants,
-        "support.type": builtinTypes,
-        "keyword": keywords
-    }, "identifier");
-
-    this.$rules = {
-        "start": [
-            {
-                token: "comment",
-                regex: "--.*$"
-            },
-            {
-                token : "comment", // multi line comment
-                regex : "\\(\\*",
-                next : "comment"
-            },
-            {
-                token: "string",           // " string
-                regex: '".*?"'
-            },
-            {
-                token: "support.type",
-                regex: '\\b(POSIX file|POSIX path|(date|time) string|quoted form)\\b'
-            },
-            {
-                token: "support.function",
-                regex: '\\b(clipboard info|the clipboard|info for|list (disks|folder)|' +
-          'mount volume|path to|(close|open for) access|(get|set) eof|' +
-          'current date|do shell script|get volume settings|random number|' +
-          'set volume|system attribute|system info|time to GMT|' +
-          '(load|run|store) script|scripting components|' +
-          'ASCII (character|number)|localized string|' +
-          'choose (application|color|file|file name|' +
-          'folder|from list|remote application|URL)|' +
-          'display (alert|dialog))\\b|^\\s*return\\b'
-            },
-            {
-                token: "constant.language",
-                regex: '\\b(text item delimiters|current application|missing value)\\b'
-            },
-            {
-                token: "keyword",
-                regex: '\\b(apart from|aside from|instead of|out of|greater than|' +
-          "isn't|(doesn't|does not) (equal|come before|come after|contain)|" +
-          '(greater|less) than( or equal)?|(starts?|ends|begins?) with|' +
-          'contained by|comes (before|after)|a (ref|reference))\\b'
-            },
-            {
-                token: keywordMapper,
-                regex: "[a-zA-Z][a-zA-Z0-9_]*\\b"
-            }
-        ],
-        "comment": [
-            {
-                token: "comment", // closing comment
-                regex: "\\*\\)",
-                next: "start"
-            }, {
-                defaultToken: "comment"
-            }
-        ]
-    }
-
-    this.normalizeRules();
-};
-
-oop.inherits(AppleScriptHighlightRules, TextHighlightRules);
-
-exports.AppleScriptHighlightRules = AppleScriptHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/applescript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/tokenizer","ace/mode/applescript_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var Tokenizer = require("../tokenizer").Tokenizer;
-var AppleScriptHighlightRules = require("./applescript_highlight_rules").AppleScriptHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = AppleScriptHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "--";
-    this.blockComment = {start: "(*", end: "*)"};
-    this.$id = "ace/mode/applescript";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 342
services/web/public/js/ace/src/mode-asciidoc.js

@@ -1,342 +0,0 @@
-define("ace/mode/asciidoc_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var AsciidocHighlightRules = function() {
-    var identifierRe = "[a-zA-Z\u00a1-\uffff]+\\b";
-
-    this.$rules = {
-        "start": [
-            {token: "empty",   regex: /$/},
-            {token: "literal", regex: /^\.{4,}\s*$/,  next: "listingBlock"},
-            {token: "literal", regex: /^-{4,}\s*$/,   next: "literalBlock"},
-            {token: "string",  regex: /^\+{4,}\s*$/,  next: "passthroughBlock"},
-            {token: "keyword", regex: /^={4,}\s*$/},
-            {token: "text",    regex: /^\s*$/},
-            {token: "empty", regex: "", next: "dissallowDelimitedBlock"}
-        ],
-
-        "dissallowDelimitedBlock": [
-            {include: "paragraphEnd"},
-            {token: "comment", regex: '^//.+$'},
-            {token: "keyword", regex: "^(?:NOTE|TIP|IMPORTANT|WARNING|CAUTION):"},
-
-            {include: "listStart"},
-            {token: "literal", regex: /^\s+.+$/, next: "indentedBlock"},
-            {token: "empty",   regex: "", next: "text"}
-        ],
-
-        "paragraphEnd": [
-            {token: "doc.comment", regex: /^\/{4,}\s*$/,    next: "commentBlock"},
-            {token: "tableBlock",  regex: /^\s*[|!]=+\s*$/, next: "tableBlock"},
-            {token: "keyword",     regex: /^(?:--|''')\s*$/, next: "start"},
-            {token: "option",      regex: /^\[.*\]\s*$/,     next: "start"},
-            {token: "pageBreak",   regex: /^>{3,}$/,         next: "start"},
-            {token: "literal",     regex: /^\.{4,}\s*$/,     next: "listingBlock"},
-            {token: "titleUnderline",    regex: /^(?:={2,}|-{2,}|~{2,}|\^{2,}|\+{2,})\s*$/, next: "start"},
-            {token: "singleLineTitle",   regex: /^={1,5}\s+\S.*$/, next: "start"},
-
-            {token: "otherBlock",    regex: /^(?:\*{2,}|_{2,})\s*$/, next: "start"},
-            {token: "optionalTitle", regex: /^\.[^.\s].+$/,  next: "start"}
-        ],
-
-        "listStart": [
-            {token: "keyword",  regex: /^\s*(?:\d+\.|[a-zA-Z]\.|[ixvmIXVM]+\)|\*{1,5}|-|\.{1,5})\s/, next: "listText"},
-            {token: "meta.tag", regex: /^.+(?::{2,4}|;;)(?: |$)/, next: "listText"},
-            {token: "support.function.list.callout", regex: /^(?:<\d+>|\d+>|>) /, next: "text"},
-            {token: "keyword",  regex: /^\+\s*$/, next: "start"}
-        ],
-
-        "text": [
-            {token: ["link", "variable.language"], regex: /((?:https?:\/\/|ftp:\/\/|file:\/\/|mailto:|callto:)[^\s\[]+)(\[.*?\])/},
-            {token: "link", regex: /(?:https?:\/\/|ftp:\/\/|file:\/\/|mailto:|callto:)[^\s\[]+/},
-            {token: "link", regex: /\b[\w\.\/\-]+@[\w\.\/\-]+\b/},
-            {include: "macros"},
-            {include: "paragraphEnd"},
-            {token: "literal", regex:/\+{3,}/, next:"smallPassthrough"},
-            {token: "escape", regex: /\((?:C|TM|R)\)|\.{3}|->|<-|=>|<=|&#(?:\d+|x[a-fA-F\d]+);|(?: |^)--(?=\s+\S)/},
-            {token: "escape", regex: /\\[_*'`+#]|\\{2}[_*'`+#]{2}/},
-            {token: "keyword", regex: /\s\+$/},
-            {token: "text", regex: identifierRe},
-            {token: ["keyword", "string", "keyword"],
-                regex: /(<<[\w\d\-$]+,)(.*?)(>>|$)/},
-            {token: "keyword", regex: /<<[\w\d\-$]+,?|>>/},
-            {token: "constant.character", regex: /\({2,3}.*?\){2,3}/},
-            {token: "keyword", regex: /\[\[.+?\]\]/},
-            {token: "support", regex: /^\[{3}[\w\d =\-]+\]{3}/},
-
-            {include: "quotes"},
-            {token: "empty", regex: /^\s*$/, next: "start"}
-        ],
-
-        "listText": [
-            {include: "listStart"},
-            {include: "text"}
-        ],
-
-        "indentedBlock": [
-            {token: "literal", regex: /^[\s\w].+$/, next: "indentedBlock"},
-            {token: "literal", regex: "", next: "start"}
-        ],
-
-        "listingBlock": [
-            {token: "literal", regex: /^\.{4,}\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "constant.numeric", regex: '<\\d+>'},
-            {token: "literal", regex: '[^<]+'},
-            {token: "literal", regex: '<'}
-        ],
-        "literalBlock": [
-            {token: "literal", regex: /^-{4,}\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "constant.numeric", regex: '<\\d+>'},
-            {token: "literal", regex: '[^<]+'},
-            {token: "literal", regex: '<'}
-        ],
-        "passthroughBlock": [
-            {token: "literal", regex: /^\+{4,}\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "literal", regex: identifierRe + "|\\d+"},
-            {include: "macros"},
-            {token: "literal", regex: "."}
-        ],
-
-        "smallPassthrough": [
-            {token: "literal", regex: /[+]{3,}/, next: "dissallowDelimitedBlock"},
-            {token: "literal", regex: /^\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "literal", regex: identifierRe + "|\\d+"},
-            {include: "macros"}
-        ],
-
-        "commentBlock": [
-            {token: "doc.comment", regex: /^\/{4,}\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "doc.comment", regex: '^.*$'}
-        ],
-        "tableBlock": [
-            {token: "tableBlock", regex: /^\s*\|={3,}\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "tableBlock", regex: /^\s*!={3,}\s*$/, next: "innerTableBlock"},
-            {token: "tableBlock", regex: /\|/},
-            {include: "text", noEscape: true}
-        ],
-        "innerTableBlock": [
-            {token: "tableBlock", regex: /^\s*!={3,}\s*$/, next: "tableBlock"},
-            {token: "tableBlock", regex: /^\s*|={3,}\s*$/, next: "dissallowDelimitedBlock"},
-            {token: "tableBlock", regex: /\!/}
-        ],
-        "macros": [
-            {token: "macro", regex: /{[\w\-$]+}/},
-            {token: ["text", "string", "text", "constant.character", "text"], regex: /({)([\w\-$]+)(:)?(.+)?(})/},
-            {token: ["text", "markup.list.macro", "keyword", "string"], regex: /(\w+)(footnote(?:ref)?::?)([^\s\[]+)?(\[.*?\])?/},
-            {token: ["markup.list.macro", "keyword", "string"], regex: /([a-zA-Z\-][\w\.\/\-]*::?)([^\s\[]+)(\[.*?\])?/},
-            {token: ["markup.list.macro", "keyword"], regex: /([a-zA-Z\-][\w\.\/\-]+::?)(\[.*?\])/},
-            {token: "keyword",     regex: /^:.+?:(?= |$)/}
-        ],
-
-        "quotes": [
-            {token: "string.italic", regex: /__[^_\s].*?__/},
-            {token: "string.italic", regex: quoteRule("_")},
-            
-            {token: "keyword.bold", regex: /\*\*[^*\s].*?\*\*/},
-            {token: "keyword.bold", regex: quoteRule("\\*")},
-            
-            {token: "literal", regex: quoteRule("\\+")},
-            {token: "literal", regex: /\+\+[^+\s].*?\+\+/},
-            {token: "literal", regex: /\$\$.+?\$\$/},
-            {token: "literal", regex: quoteRule("`")},
-
-            {token: "keyword", regex: quoteRule("^")},
-            {token: "keyword", regex: quoteRule("~")},
-            {token: "keyword", regex: /##?/},
-            {token: "keyword", regex: /(?:\B|^)``|\b''/}
-        ]
-
-    };
-
-    function quoteRule(ch) {
-        var prefix = /\w/.test(ch) ? "\\b" : "(?:\\B|^)";
-        return prefix + ch + "[^" + ch + "].*?" + ch + "(?![\\w*])";
-    }
-
-    var tokenMap = {
-        macro: "constant.character",
-        tableBlock: "doc.comment",
-        titleUnderline: "markup.heading",
-        singleLineTitle: "markup.heading",
-        pageBreak: "string",
-        option: "string.regexp",
-        otherBlock: "markup.list",
-        literal: "support.function",
-        optionalTitle: "constant.numeric",
-        escape: "constant.language.escape",
-        link: "markup.underline.list"
-    };
-
-    for (var state in this.$rules) {
-        var stateRules = this.$rules[state];
-        for (var i = stateRules.length; i--; ) {
-            var rule = stateRules[i];
-            if (rule.include || typeof rule == "string") {
-                var args = [i, 1].concat(this.$rules[rule.include || rule]);
-                if (rule.noEscape) {
-                    args = args.filter(function(x) {
-                        return !x.next;
-                    });
-                }
-                stateRules.splice.apply(stateRules, args);
-            } else if (rule.token in tokenMap) {
-                rule.token = tokenMap[rule.token];
-            }
-        }
-    }
-};
-oop.inherits(AsciidocHighlightRules, TextHighlightRules);
-
-exports.AsciidocHighlightRules = AsciidocHighlightRules;
-});
-
-define("ace/mode/folding/asciidoc",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-    this.foldingStartMarker = /^(?:\|={10,}|[\.\/=\-~^+]{4,}\s*$|={1,5} )/;
-    this.singleLineHeadingRe = /^={1,5}(?=\s+\S)/;
-
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        if (!this.foldingStartMarker.test(line))
-            return ""
-
-        if (line[0] == "=") {
-            if (this.singleLineHeadingRe.test(line))
-                return "start";
-            if (session.getLine(row - 1).length != session.getLine(row).length)
-                return "";
-            return "start";
-        }
-        if (session.bgTokenizer.getState(row) == "dissallowDelimitedBlock")
-            return "end";
-        return "start";
-    };
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-        if (!line.match(this.foldingStartMarker))
-            return;
-
-        var token;
-        function getTokenType(row) {
-            token = session.getTokens(row)[0];
-            return token && token.type;
-        }
-
-        var levels = ["=","-","~","^","+"];
-        var heading = "markup.heading";
-        var singleLineHeadingRe = this.singleLineHeadingRe;
-        function getLevel() {
-            var match = token.value.match(singleLineHeadingRe);
-            if (match)
-                return match[0].length;
-            var level = levels.indexOf(token.value[0]) + 1;
-            if (level == 1) {
-                if (session.getLine(row - 1).length != session.getLine(row).length)
-                    return Infinity;
-            }
-            return level;
-        }
-
-        if (getTokenType(row) == heading) {
-            var startHeadingLevel = getLevel();
-            while (++row < maxRow) {
-                if (getTokenType(row) != heading)
-                    continue;
-                var level = getLevel();
-                if (level <= startHeadingLevel)
-                    break;
-            }
-
-            var isSingleLineHeading = token && token.value.match(this.singleLineHeadingRe);
-            endRow = isSingleLineHeading ? row - 1 : row - 2;
-
-            if (endRow > startRow) {
-                while (endRow > startRow && (!getTokenType(endRow) || token.value[0] == "["))
-                    endRow--;
-            }
-
-            if (endRow > startRow) {
-                var endColumn = session.getLine(endRow).length;
-                return new Range(startRow, startColumn, endRow, endColumn);
-            }
-        } else {
-            var state = session.bgTokenizer.getState(row);
-            if (state == "dissallowDelimitedBlock") {
-                while (row -- > 0) {
-                    if (session.bgTokenizer.getState(row).lastIndexOf("Block") == -1)
-                        break;
-                }
-                endRow = row + 1;
-                if (endRow < startRow) {
-                    var endColumn = session.getLine(row).length;
-                    return new Range(endRow, 5, startRow, startColumn - 5);
-                }
-            } else {
-                while (++row < maxRow) {
-                    if (session.bgTokenizer.getState(row) == "dissallowDelimitedBlock")
-                        break;
-                }
-                endRow = row;
-                if (endRow > startRow) {
-                    var endColumn = session.getLine(row).length;
-                    return new Range(startRow, 5, endRow, endColumn - 5);
-                }
-            }
-        }
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/asciidoc",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/asciidoc_highlight_rules","ace/mode/folding/asciidoc"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var AsciidocHighlightRules = require("./asciidoc_highlight_rules").AsciidocHighlightRules;
-var AsciidocFoldMode = require("./folding/asciidoc").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = AsciidocHighlightRules;
-    
-    this.foldingRules = new AsciidocFoldMode();    
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.type = "text";
-    this.getNextLineIndent = function(state, line, tab) {
-        if (state == "listblock") {
-            var match = /^((?:.+)?)([-+*][ ]+)/.exec(line);
-            if (match) {
-                return new Array(match[1].length + 1).join(" ") + match[2];
-            } else {
-                return "";
-            }
-        } else {
-            return this.$getIndent(line);
-        }
-    };
-    this.$id = "ace/mode/asciidoc";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 10
services/web/public/js/ace/src/mode-assembly_x86.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 8
services/web/public/js/ace/src/mode-autohotkey.js


+ 0 - 177
services/web/public/js/ace/src/mode-batchfile.js

@@ -1,177 +0,0 @@
-define("ace/mode/batchfile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var BatchFileHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { token: 'keyword.command.dosbatch',
-           regex: '\\b(?:append|assoc|at|attrib|break|cacls|cd|chcp|chdir|chkdsk|chkntfs|cls|cmd|color|comp|compact|convert|copy|date|del|dir|diskcomp|diskcopy|doskey|echo|endlocal|erase|fc|find|findstr|format|ftype|graftabl|help|keyb|label|md|mkdir|mode|more|move|path|pause|popd|print|prompt|pushd|rd|recover|ren|rename|replace|restore|rmdir|set|setlocal|shift|sort|start|subst|time|title|tree|type|ver|verify|vol|xcopy)\\b',
-           caseInsensitive: true },
-         { token: 'keyword.control.statement.dosbatch',
-           regex: '\\b(?:goto|call|exit)\\b',
-           caseInsensitive: true },
-         { token: 'keyword.control.conditional.if.dosbatch',
-           regex: '\\bif\\s+not\\s+(?:exist|defined|errorlevel|cmdextversion)\\b',
-           caseInsensitive: true },
-         { token: 'keyword.control.conditional.dosbatch',
-           regex: '\\b(?:if|else)\\b',
-           caseInsensitive: true },
-         { token: 'keyword.control.repeat.dosbatch',
-           regex: '\\bfor\\b',
-           caseInsensitive: true },
-         { token: 'keyword.operator.dosbatch',
-           regex: '\\b(?:EQU|NEQ|LSS|LEQ|GTR|GEQ)\\b' },
-         { token: ['doc.comment', 'comment'],
-           regex: '(?:^|\\b)(rem)($|\\s.*$)',
-           caseInsensitive: true },
-         { token: 'comment.line.colons.dosbatch',
-           regex: '::.*$' },
-         { include: 'variable' },
-         { token: 'punctuation.definition.string.begin.shell',
-           regex: '"',
-           push: [ 
-              { token: 'punctuation.definition.string.end.shell', regex: '"', next: 'pop' },
-              { include: 'variable' },
-              { defaultToken: 'string.quoted.double.dosbatch' } ] },
-         { token: 'keyword.operator.pipe.dosbatch', regex: '[|]' },
-         { token: 'keyword.operator.redirect.shell',
-           regex: '&>|\\d*>&\\d*|\\d*(?:>>|>|<)|\\d*<&|\\d*<>' } ],
-        variable: [
-         { token: 'constant.numeric', regex: '%%\\w+|%[*\\d]|%\\w+%'},
-         { token: 'constant.numeric', regex: '%~\\d+'},
-         { token: ['markup.list', 'constant.other', 'markup.list'],
-            regex: '(%)(\\w+)(%?)' }]}
-    
-    this.normalizeRules();
-};
-
-BatchFileHighlightRules.metaData = { name: 'Batch File',
-      scopeName: 'source.dosbatch',
-      fileTypes: [ 'bat' ] }
-
-
-oop.inherits(BatchFileHighlightRules, TextHighlightRules);
-
-exports.BatchFileHighlightRules = BatchFileHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/batchfile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/batchfile_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var BatchFileHighlightRules = require("./batchfile_highlight_rules").BatchFileHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = BatchFileHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "::";
-    this.blockComment = "";
-    this.$id = "ace/mode/batchfile";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 275
services/web/public/js/ace/src/mode-c9search.js

@@ -1,275 +0,0 @@
-define("ace/mode/c9search_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var lang = require("../lib/lang");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-function safeCreateRegexp(source, flag) {
-    try {
-        return new RegExp(source, flag);
-    } catch(e) {}
-}
-
-var C9SearchHighlightRules = function() {
-    this.$rules = {
-        "start" : [
-            {
-                tokenNames : ["c9searchresults.constant.numeric", "c9searchresults.text", "c9searchresults.text", "c9searchresults.keyword"],
-                regex : "(^\\s+[0-9]+)(:\\s)(.+)",
-                onMatch : function(val, state, stack) {
-                    var values = this.splitRegex.exec(val);
-                    var types = this.tokenNames;
-                    var tokens = [{
-                        type: types[0],
-                        value: values[1]
-                    },{
-                        type: types[1],
-                        value: values[2]
-                    }];
-                    
-                    var regex = stack[1];
-                    var str = values[3];
-                    
-                    var m;
-                    var last = 0;
-                    if (regex && regex.exec) {
-                        regex.lastIndex = 0;
-                        while (m = regex.exec(str)) {
-                            var skipped = str.substring(last, m.index);
-                            last = regex.lastIndex;
-                            if (skipped)
-                                tokens.push({type: types[2], value: skipped});
-                            if (m[0])
-                                tokens.push({type: types[3], value: m[0]});
-                            else if (!skipped)
-                                break;
-                        }
-                    }
-                    if (last < str.length)
-                        tokens.push({type: types[2], value: str.substr(last)});
-                    return tokens;
-                }
-            },
-            {
-                token : ["string", "text"], // single line
-                regex : "(\\S.*)(:$)"
-            },
-            {
-                regex : "Searching for .*$",
-                onMatch: function(val, state, stack) {
-                    var parts = val.split("\x01");
-                    if (parts.length < 3)
-                        return "text";
-
-                    var options, search, replace;
-                    
-                    var i = 0;
-                    var tokens = [{
-                        value: parts[i++] + "'",
-                        type: "text"
-                    }, {
-                        value: search = parts[i++],
-                        type: "text" // "c9searchresults.keyword"
-                    }, {
-                        value: "'" + parts[i++],
-                        type: "text"
-                    }];
-                    if (parts[2] !== " in") {
-                        replace = parts[i];
-                        tokens.push({
-                            value: "'" + parts[i++] + "'",
-                            type: "text"
-                        }, {
-                            value: parts[i++],
-                            type: "text"
-                        });
-                    }
-                    tokens.push({
-                        value: " " + parts[i++] + " ",
-                        type: "text"
-                    });
-                    if (parts[i+1]) {
-                        options = parts[i+1];
-                        tokens.push({
-                            value: "(" + parts[i+1] + ")",
-                            type: "text"
-                        });
-                        i += 1;
-                    } else {
-                        i -= 1;
-                    }
-                    while (i++ < parts.length) {
-                        parts[i] && tokens.push({
-                            value: parts[i],
-                            type: "text"
-                        });
-                    }
-                    
-                    if (replace) {
-                        search = replace;
-                        options = "";
-                    }
-                    
-                    if (search) {
-                        if (!/regex/.test(options))
-                            search = lang.escapeRegExp(search);
-                        if (/whole/.test(options))
-                            search = "\\b" + search + "\\b";
-                    }
-                    
-                    var regex = search && safeCreateRegexp(
-                        "(" + search + ")",
-                        / sensitive/.test(options) ? "g" : "ig"
-                    );
-                    if (regex) {
-                        stack[0] = state;
-                        stack[1] = regex;
-                    }
-                    
-                    return tokens;
-                }
-            },
-            {
-                regex : "\\d+",
-                token: "constant.numeric"
-            }
-        ]
-    };
-};
-
-oop.inherits(C9SearchHighlightRules, TextHighlightRules);
-
-exports.C9SearchHighlightRules = C9SearchHighlightRules;
-
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/folding/c9search",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /^(\S.*\:|Searching for.*)$/;
-    this.foldingStopMarker = /^(\s+|Found.*)$/;
-    
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var lines = session.doc.getAllLines(row);
-        var line = lines[row];
-        var level1 = /^(Found.*|Searching for.*)$/;
-        var level2 = /^(\S.*\:|\s*)$/;
-        var re = level1.test(line) ? level1 : level2;
-        
-        var startRow = row;
-        var endRow = row;
-
-        if (this.foldingStartMarker.test(line)) {            
-            for (var i = row + 1, l = session.getLength(); i < l; i++) {
-                if (re.test(lines[i]))
-                    break;
-            }
-            endRow = i;
-        }
-        else if (this.foldingStopMarker.test(line)) {
-            for (var i = row - 1; i >= 0; i--) {
-                line = lines[i];
-                if (re.test(line))
-                    break;
-            }
-            startRow = i;
-        }
-        if (startRow != endRow) {
-            var col = line.length;
-            if (re === level1)
-                col = line.search(/\(Found[^)]+\)$|$/);
-            return new Range(startRow, col, endRow, 0);
-        }
-    };
-    
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/c9search",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/c9search_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/c9search"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var C9SearchHighlightRules = require("./c9search_highlight_rules").C9SearchHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var C9StyleFoldMode = require("./folding/c9search").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = C9SearchHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.foldingRules = new C9StyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/c9search";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 50
services/web/public/js/ace/src/mode-c_cpp.js


+ 0 - 202
services/web/public/js/ace/src/mode-cirru.js

@@ -1,202 +0,0 @@
-define("ace/mode/cirru_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var CirruHighlightRules = function() {
-    this.$rules = {
-        start: [{
-            token: 'constant.numeric',
-            regex: /[\d\.]+/
-        }, {
-            token: 'comment.line.double-dash',
-            regex: /--/,
-            next: 'comment',
-        }, {
-            token: 'storage.modifier',
-            regex: /\(/,
-        }, {
-            token: 'storage.modifier',
-            regex: /\,/,
-            next: 'line',
-        }, {
-            token: 'support.function',
-            regex: /[^\(\)\"\s]+/,
-            next: 'line'
-        }, {
-            token: 'string.quoted.double',
-            regex: /"/,
-            next: 'string',
-        }, {
-            token: 'storage.modifier',
-            regex: /\)/,
-        }],
-        comment: [{
-            token: 'comment.line.double-dash',
-            regex: /\ +[^\n]+/,
-            next: 'start',
-        }],
-        string: [{
-            token: 'string.quoted.double',
-            regex: /"/,
-            next: 'line',
-        }, {
-            token: 'constant.character.escape',
-            regex: /\\/,
-            next: 'escape',
-        }, {
-            token: 'string.quoted.double',
-            regex: /[^\\\"]+/,
-        }],
-        escape: [{
-            token: 'constant.character.escape',
-            regex: /./,
-            next: 'string',
-        }],
-        line: [{
-            token: 'constant.numeric',
-            regex: /[\d\.]+/
-        }, {
-            token: 'markup.raw',
-            regex: /^\s*/,
-            next: 'start',
-        }, {
-            token: 'storage.modifier',
-            regex: /\$/,
-            next: 'start',
-        }, {
-            token: 'variable.parameter',
-            regex: /[^\(\)\"\s]+/
-        }, {
-            token: 'storage.modifier',
-            regex: /\(/,
-            next: 'start'
-        }, {
-            token: 'storage.modifier',
-            regex: /\)/,
-        }, {
-            token: 'markup.raw',
-            regex: /^\ */,
-            next: 'start',
-        }, {
-            token: 'string.quoted.double',
-            regex: /"/,
-            next: 'string',
-        }]
-    }
-
-};
-
-oop.inherits(CirruHighlightRules, TextHighlightRules);
-
-exports.CirruHighlightRules = CirruHighlightRules;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/cirru",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/cirru_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var CirruHighlightRules = require("./cirru_highlight_rules").CirruHighlightRules;
-var CoffeeFoldMode = require("./folding/coffee").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = CirruHighlightRules;
-    this.foldingRules = new CoffeeFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "--";
-    this.$id = "ace/mode/cirru";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 306
services/web/public/js/ace/src/mode-clojure.js

@@ -1,306 +0,0 @@
-define("ace/mode/clojure_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-
-
-var ClojureHighlightRules = function() {
-
-    var builtinFunctions = (
-        '* *1 *2 *3 *agent* *allow-unresolved-vars* *assert* *clojure-version* ' +
-        '*command-line-args* *compile-files* *compile-path* *e *err* *file* ' +
-        '*flush-on-newline* *in* *macro-meta* *math-context* *ns* *out* ' +
-        '*print-dup* *print-length* *print-level* *print-meta* *print-readably* ' +
-        '*read-eval* *source-path* *use-context-classloader* ' +
-        '*warn-on-reflection* + - -> ->> .. / < <= = ' +
-        '== > &gt; >= &gt;= accessor aclone ' +
-        'add-classpath add-watch agent agent-errors aget alength alias all-ns ' +
-        'alter alter-meta! alter-var-root amap ancestors and apply areduce ' +
-        'array-map aset aset-boolean aset-byte aset-char aset-double aset-float ' +
-        'aset-int aset-long aset-short assert assoc assoc! assoc-in associative? ' +
-        'atom await await-for await1 bases bean bigdec bigint binding bit-and ' +
-        'bit-and-not bit-clear bit-flip bit-not bit-or bit-set bit-shift-left ' +
-        'bit-shift-right bit-test bit-xor boolean boolean-array booleans ' +
-        'bound-fn bound-fn* butlast byte byte-array bytes cast char char-array ' +
-        'char-escape-string char-name-string char? chars chunk chunk-append ' +
-        'chunk-buffer chunk-cons chunk-first chunk-next chunk-rest chunked-seq? ' +
-        'class class? clear-agent-errors clojure-version coll? comment commute ' +
-        'comp comparator compare compare-and-set! compile complement concat cond ' +
-        'condp conj conj! cons constantly construct-proxy contains? count ' +
-        'counted? create-ns create-struct cycle dec decimal? declare definline ' +
-        'defmacro defmethod defmulti defn defn- defonce defstruct delay delay? ' +
-        'deliver deref derive descendants destructure disj disj! dissoc dissoc! ' +
-        'distinct distinct? doall doc dorun doseq dosync dotimes doto double ' +
-        'double-array doubles drop drop-last drop-while empty empty? ensure ' +
-        'enumeration-seq eval even? every? false? ffirst file-seq filter find ' +
-        'find-doc find-ns find-var first float float-array float? floats flush ' +
-        'fn fn? fnext for force format future future-call future-cancel ' +
-        'future-cancelled? future-done? future? gen-class gen-interface gensym ' +
-        'get get-in get-method get-proxy-class get-thread-bindings get-validator ' +
-        'hash hash-map hash-set identical? identity if-let if-not ifn? import ' +
-        'in-ns inc init-proxy instance? int int-array integer? interleave intern ' +
-        'interpose into into-array ints io! isa? iterate iterator-seq juxt key ' +
-        'keys keyword keyword? last lazy-cat lazy-seq let letfn line-seq list ' +
-        'list* list? load load-file load-reader load-string loaded-libs locking ' +
-        'long long-array longs loop macroexpand macroexpand-1 make-array ' +
-        'make-hierarchy map map? mapcat max max-key memfn memoize merge ' +
-        'merge-with meta method-sig methods min min-key mod name namespace neg? ' +
-        'newline next nfirst nil? nnext not not-any? not-empty not-every? not= ' +
-        'ns ns-aliases ns-imports ns-interns ns-map ns-name ns-publics ' +
-        'ns-refers ns-resolve ns-unalias ns-unmap nth nthnext num number? odd? ' +
-        'or parents partial partition pcalls peek persistent! pmap pop pop! ' +
-        'pop-thread-bindings pos? pr pr-str prefer-method prefers ' +
-        'primitives-classnames print print-ctor print-doc print-dup print-method ' +
-        'print-namespace-doc print-simple print-special-doc print-str printf ' +
-        'println println-str prn prn-str promise proxy proxy-call-with-super ' +
-        'proxy-mappings proxy-name proxy-super push-thread-bindings pvalues quot ' +
-        'rand rand-int range ratio? rational? rationalize re-find re-groups ' +
-        're-matcher re-matches re-pattern re-seq read read-line read-string ' +
-        'reduce ref ref-history-count ref-max-history ref-min-history ref-set ' +
-        'refer refer-clojure release-pending-sends rem remove remove-method ' +
-        'remove-ns remove-watch repeat repeatedly replace replicate require ' +
-        'reset! reset-meta! resolve rest resultset-seq reverse reversible? rseq ' +
-        'rsubseq second select-keys send send-off seq seq? seque sequence ' +
-        'sequential? set set-validator! set? short short-array shorts ' +
-        'shutdown-agents slurp some sort sort-by sorted-map sorted-map-by ' +
-        'sorted-set sorted-set-by sorted? special-form-anchor special-symbol? ' +
-        'split-at split-with str stream? string? struct struct-map subs subseq ' +
-        'subvec supers swap! symbol symbol? sync syntax-symbol-anchor take ' +
-        'take-last take-nth take-while test the-ns time to-array to-array-2d ' +
-        'trampoline transient tree-seq true? type unchecked-add unchecked-dec ' +
-        'unchecked-divide unchecked-inc unchecked-multiply unchecked-negate ' +
-        'unchecked-remainder unchecked-subtract underive unquote ' +
-        'unquote-splicing update-in update-proxy use val vals var-get var-set ' +
-        'var? vary-meta vec vector vector? when when-first when-let when-not ' +
-        'while with-bindings with-bindings* with-in-str with-loading-context ' +
-        'with-local-vars with-meta with-open with-out-str with-precision xml-seq ' +
-        'zero? zipmap'
-    );
-
-    var keywords = ('throw try var ' +
-        'def do fn if let loop monitor-enter monitor-exit new quote recur set!'
-    );
-
-    var buildinConstants = ("true false nil");
-
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": keywords,
-        "constant.language": buildinConstants,
-        "support.function": builtinFunctions
-    }, "identifier", false, " ");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : ";.*$"
-            }, {
-                token : "keyword", //parens
-                regex : "[\\(|\\)]"
-            }, {
-                token : "keyword", //lists
-                regex : "[\\'\\(]"
-            }, {
-                token : "keyword", //vectors
-                regex : "[\\[|\\]]"
-            }, {
-                token : "keyword", //sets and maps
-                regex : "[\\{|\\}|\\#\\{|\\#\\}]"
-            }, {
-                    token : "keyword", // ampersands
-                    regex : '[\\&]'
-            }, {
-                    token : "keyword", // metadata
-                    regex : '[\\#\\^\\{]'
-            }, {
-                    token : "keyword", // anonymous fn syntactic sugar
-                    regex : '[\\%]'
-            }, {
-                    token : "keyword", // deref reader macro
-                    regex : '[@]'
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language",
-                regex : '[!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+||=|!=|<=|>=|<>|<|>|!|&&]'
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"
-            }, {
-                token : "string", // single line
-                regex : '"',
-                next: "string"
-            }, {
-                token : "constant", // symbol
-                regex : /:[^()\[\]{}'"\^%`,;\s]+/
-            }, {
-                token : "string.regexp", //Regular Expressions
-                regex : '/#"(?:\\.|(?:\\\")|[^\""\n])*"/g'
-            }
-
-        ],
-        "string" : [
-            {
-                token : "constant.language.escape",                
-                regex : "\\\\.|\\\\$"
-            }, {
-                token : "string",                
-                regex : '[^"\\\\]+'
-            }, {
-                token : "string",
-                regex : '"',
-                next : "start"
-            }
-        ]
-    };
-};
-
-oop.inherits(ClojureHighlightRules, TextHighlightRules);
-
-exports.ClojureHighlightRules = ClojureHighlightRules;
-});
-
-define("ace/mode/matching_parens_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingParensOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\)/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\))/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        var match = line.match(/^(\s+)/);
-        if (match) {
-            return match[1];
-        }
-
-        return "";
-    };
-
-}).call(MatchingParensOutdent.prototype);
-
-exports.MatchingParensOutdent = MatchingParensOutdent;
-});
-
-define("ace/mode/clojure",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/clojure_highlight_rules","ace/mode/matching_parens_outdent"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var ClojureHighlightRules = require("./clojure_highlight_rules").ClojureHighlightRules;
-var MatchingParensOutdent = require("./matching_parens_outdent").MatchingParensOutdent;
-
-var Mode = function() {
-    this.HighlightRules = ClojureHighlightRules;
-    this.$outdent = new MatchingParensOutdent();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = ";";
-    this.minorIndentFunctions = ["defn", "defn-", "defmacro", "def", "deftest", "testing"];
-
-    this.$toIndent = function(str) {
-        return str.split('').map(function(ch) {
-            if (/\s/.exec(ch)) {
-                return ch;
-            } else {
-                return ' ';
-            }
-        }).join('');
-    };
-
-    this.$calculateIndent = function(line, tab) {
-        var baseIndent = this.$getIndent(line);
-        var delta = 0;
-        var isParen, ch;
-        for (var i = line.length - 1; i >= 0; i--) {
-            ch = line[i];
-            if (ch === '(') {
-                delta--;
-                isParen = true;
-            } else if (ch === '(' || ch === '[' || ch === '{') {
-                delta--;
-                isParen = false;
-            } else if (ch === ')' || ch === ']' || ch === '}') {
-                delta++;
-            }
-            if (delta < 0) {
-                break;
-            }
-        }
-        if (delta < 0 && isParen) {
-            i += 1;
-            var iBefore = i;
-            var fn = '';
-            while (true) {
-                ch = line[i];
-                if (ch === ' ' || ch === '\t') {
-                    if(this.minorIndentFunctions.indexOf(fn) !== -1) {
-                        return this.$toIndent(line.substring(0, iBefore - 1) + tab);
-                    } else {
-                        return this.$toIndent(line.substring(0, i + 1));
-                    }
-                } else if (ch === undefined) {
-                    return this.$toIndent(line.substring(0, iBefore - 1) + tab);
-                }
-                fn += line[i];
-                i++;
-            }
-        } else if(delta < 0 && !isParen) {
-            return this.$toIndent(line.substring(0, i+1));
-        } else if(delta > 0) {
-            baseIndent = baseIndent.substring(0, baseIndent.length - tab.length);
-            return baseIndent;
-        } else {
-            return baseIndent;
-        }
-    };
-
-    this.getNextLineIndent = function(state, line, tab) {
-        return this.$calculateIndent(line, tab);
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/clojure";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 94
services/web/public/js/ace/src/mode-cobol.js

@@ -1,94 +0,0 @@
-define("ace/mode/cobol_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var CobolHighlightRules = function() {
-var keywords = "ACCEPT|MERGE|SUM|ADD||MESSAGE|TABLE|ADVANCING|MODE|TAPE|" +
-"AFTER|MULTIPLY|TEST|ALL|NEGATIVE|TEXT|ALPHABET|NEXT|THAN|" +
-"ALSO|NO|THEN|ALTERNATE|NOT|THROUGH|AND|NUMBER|THRU|ANY|OCCURS|" +
-"TIME|ARE|OF|TO|AREA|OFF|TOP||ASCENDING|OMITTED|TRUE|ASSIGN|ON|TYPE|AT|OPEN|" +
-"UNIT|AUTHOR|OR|UNTIL|BEFORE|OTHER|UP|BLANK|OUTPUT|USE|BLOCK|PAGE|USING|BOTTOM|" +
-"PERFORM|VALUE|BY|PIC|VALUES|CALL|PICTURE|WHEN|CANCEL|PLUS|WITH|CD|POINTER|WRITE|" +
-"CHARACTER|POSITION||ZERO|CLOSE|POSITIVE|ZEROS|COLUMN|PROCEDURE|ZEROES|COMMA|PROGRAM|" +
-"COMMON|PROGRAM-ID|COMMUNICATION|QUOTE|COMP|RANDOM|COMPUTE|READ|CONTAINS|RECEIVE|CONFIGURATION|" +
-"RECORD|CONTINUE|REDEFINES|CONTROL|REFERENCE|COPY|REMAINDER|COUNT|REPLACE|DATA|REPORT|DATE|RESERVE|" +
-"DAY|RESET|DELETE|RETURN|DESTINATION|REWIND|DISABLE|REWRITE|DISPLAY|RIGHT|DIVIDE|RUN|DOWN|SAME|" +
-"ELSE|SEARCH|ENABLE|SECTION|END|SELECT|ENVIRONMENT|SENTENCE|EQUAL|SET|ERROR|SIGN|EXIT|SEQUENTIAL|" +
-"EXTERNAL|SIZE|FLASE|SORT|FILE|SOURCE|LENGTH|SPACE|LESS|STANDARD|LIMIT|START|LINE|STOP|LOCK|STRING|LOW-VALUE|SUBTRACT";
-
-    var builtinConstants = (
-        "true|false|null"
-    );
-
-    var builtinFunctions = (
-        "count|min|max|avg|sum|rank|now|coalesce|main"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "support.function": builtinFunctions,
-        "keyword": keywords,
-        "constant.language": builtinConstants
-    }, "identifier", true);
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment",
-            regex : "\\*.*$"
-        }, {
-            token : "string",           // " string
-            regex : '".*?"'
-        }, {
-            token : "string",           // ' string
-            regex : "'.*?'"
-        }, {
-            token : "constant.numeric", // float
-            regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\/|\\/\\/|%|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="
-        }, {
-            token : "paren.lparen",
-            regex : "[\\(]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\)]"
-        }, {
-            token : "text",
-            regex : "\\s+"
-        } ]
-    };
-};
-
-oop.inherits(CobolHighlightRules, TextHighlightRules);
-
-exports.CobolHighlightRules = CobolHighlightRules;
-});
-
-define("ace/mode/cobol",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/cobol_highlight_rules","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var CobolHighlightRules = require("./cobol_highlight_rules").CobolHighlightRules;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = CobolHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "*";
-
-    this.$id = "ace/mode/cobol";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

+ 0 - 412
services/web/public/js/ace/src/mode-coffee.js

@@ -1,412 +0,0 @@
-define("ace/mode/coffee_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-    var oop = require("../lib/oop");
-    var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-    oop.inherits(CoffeeHighlightRules, TextHighlightRules);
-
-    function CoffeeHighlightRules() {
-        var identifier = "[$A-Za-z_\\x7f-\\uffff][$\\w\\x7f-\\uffff]*";
-
-        var keywords = (
-            "this|throw|then|try|typeof|super|switch|return|break|by|continue|" +
-            "catch|class|in|instanceof|is|isnt|if|else|extends|for|own|" +
-            "finally|function|while|when|new|no|not|delete|debugger|do|loop|of|off|" +
-            "or|on|unless|until|and|yes"
-        );
-
-        var langConstant = (
-            "true|false|null|undefined|NaN|Infinity"
-        );
-
-        var illegal = (
-            "case|const|default|function|var|void|with|enum|export|implements|" +
-            "interface|let|package|private|protected|public|static|yield|" +
-            "__hasProp|slice|bind|indexOf"
-        );
-
-        var supportClass = (
-            "Array|Boolean|Date|Function|Number|Object|RegExp|ReferenceError|String|" +
-            "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|" +
-            "SyntaxError|TypeError|URIError|"  +
-            "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|" +
-            "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray"
-        );
-
-        var supportFunction = (
-            "Math|JSON|isNaN|isFinite|parseInt|parseFloat|encodeURI|" +
-            "encodeURIComponent|decodeURI|decodeURIComponent|String|"
-        );
-
-        var variableLanguage = (
-            "window|arguments|prototype|document"
-        );
-
-        var keywordMapper = this.createKeywordMapper({
-            "keyword": keywords,
-            "constant.language": langConstant,
-            "invalid.illegal": illegal,
-            "language.support.class": supportClass,
-            "language.support.function": supportFunction,
-            "variable.language": variableLanguage
-        }, "identifier");
-
-        var functionRule = {
-            token: ["paren.lparen", "variable.parameter", "paren.rparen", "text", "storage.type"],
-            regex: /(?:(\()((?:"[^")]*?"|'[^')]*?'|\/[^\/)]*?\/|[^()\"'\/])*?)(\))(\s*))?([\-=]>)/.source
-        };
-
-        var stringEscape = /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|[0-2][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)/;
-
-        this.$rules = {
-            start : [
-                {
-                    token : "constant.numeric",
-                    regex : "(?:0x[\\da-fA-F]+|(?:\\d+(?:\\.\\d+)?|\\.\\d+)(?:[eE][+-]?\\d+)?)"
-                }, {
-                    stateName: "qdoc",
-                    token : "string", regex : "'''", next : [
-                        {token : "string", regex : "'''", next : "start"},
-                        {token : "constant.language.escape", regex : stringEscape},
-                        {defaultToken: "string"}
-                    ]
-                }, {
-                    stateName: "qqdoc",
-                    token : "string",
-                    regex : '"""',
-                    next : [
-                        {token : "string", regex : '"""', next : "start"},
-                        {token : "paren.string", regex : '#{', push : "start"},
-                        {token : "constant.language.escape", regex : stringEscape},
-                        {defaultToken: "string"}
-                    ]
-                }, {
-                    stateName: "qstring",
-                    token : "string", regex : "'", next : [
-                        {token : "string", regex : "'", next : "start"},
-                        {token : "constant.language.escape", regex : stringEscape},
-                        {defaultToken: "string"}
-                    ]
-                }, {
-                    stateName: "qqstring",
-                    token : "string.start", regex : '"', next : [
-                        {token : "string.end", regex : '"', next : "start"},
-                        {token : "paren.string", regex : '#{', push : "start"},
-                        {token : "constant.language.escape", regex : stringEscape},
-                        {defaultToken: "string"}
-                    ]
-                }, {
-                    stateName: "js",
-                    token : "string", regex : "`", next : [
-                        {token : "string", regex : "`", next : "start"},
-                        {token : "constant.language.escape", regex : stringEscape},
-                        {defaultToken: "string"}
-                    ]
-                }, {
-                    regex: "[{}]", onMatch: function(val, state, stack) {
-                        this.next = "";
-                        if (val == "{" && stack.length) {
-                            stack.unshift("start", state);
-                            return "paren";
-                        }
-                        if (val == "}" && stack.length) {
-                            stack.shift();
-                            this.next = stack.shift();
-                            if (this.next.indexOf("string") != -1)
-                                return "paren.string";
-                        }
-                        return "paren";
-                    }
-                }, {
-                    token : "string.regex",
-                    regex : "///",
-                    next : "heregex"
-                }, {
-                    token : "string.regex",
-                    regex : /(?:\/(?![\s=])[^[\/\n\\]*(?:(?:\\[\s\S]|\[[^\]\n\\]*(?:\\[\s\S][^\]\n\\]*)*])[^[\/\n\\]*)*\/)(?:[imgy]{0,4})(?!\w)/
-                }, {
-                    token : "comment",
-                    regex : "###(?!#)",
-                    next : "comment"
-                }, {
-                    token : "comment",
-                    regex : "#.*"
-                }, {
-                    token : ["punctuation.operator", "text", "identifier"],
-                    regex : "(\\.)(\\s*)(" + illegal + ")"
-                }, {
-                    token : "punctuation.operator",
-                    regex : "\\."
-                }, {
-                    token : ["keyword", "text", "language.support.class",
-                     "text", "keyword", "text", "language.support.class"],
-                    regex : "(class)(\\s+)(" + identifier + ")(?:(\\s+)(extends)(\\s+)(" + identifier + "))?"
-                }, {
-                    token : ["entity.name.function", "text", "keyword.operator", "text"].concat(functionRule.token),
-                    regex : "(" + identifier + ")(\\s*)([=:])(\\s*)" + functionRule.regex
-                }, 
-                functionRule, 
-                {
-                    token : "variable",
-                    regex : "@(?:" + identifier + ")?"
-                }, {
-                    token: keywordMapper,
-                    regex : identifier
-                }, {
-                    token : "punctuation.operator",
-                    regex : "\\,|\\."
-                }, {
-                    token : "storage.type",
-                    regex : "[\\-=]>"
-                }, {
-                    token : "keyword.operator",
-                    regex : "(?:[-+*/%<>&|^!?=]=|>>>=?|\\-\\-|\\+\\+|::|&&=|\\|\\|=|<<=|>>=|\\?\\.|\\.{2,3}|[!*+-=><])"
-                }, {
-                    token : "paren.lparen",
-                    regex : "[({[]"
-                }, {
-                    token : "paren.rparen",
-                    regex : "[\\]})]"
-                }, {
-                    token : "text",
-                    regex : "\\s+"
-                }],
-
-
-            heregex : [{
-                token : "string.regex",
-                regex : '.*?///[imgy]{0,4}',
-                next : "start"
-            }, {
-                token : "comment.regex",
-                regex : "\\s+(?:#.*)?"
-            }, {
-                token : "string.regex",
-                regex : "\\S+"
-            }],
-
-            comment : [{
-                token : "comment",
-                regex : '###',
-                next : "start"
-            }, {
-                defaultToken : "comment"
-            }]
-        };
-        this.normalizeRules();
-    }
-
-    exports.CoffeeHighlightRules = CoffeeHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/coffee",["require","exports","module","ace/mode/coffee_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/folding/coffee","ace/range","ace/mode/text","ace/worker/worker_client","ace/lib/oop"], function(require, exports, module) {
-"use strict";
-
-var Rules = require("./coffee_highlight_rules").CoffeeHighlightRules;
-var Outdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var FoldMode = require("./folding/coffee").FoldMode;
-var Range = require("../range").Range;
-var TextMode = require("./text").Mode;
-var WorkerClient = require("../worker/worker_client").WorkerClient;
-var oop = require("../lib/oop");
-
-function Mode() {
-    this.HighlightRules = Rules;
-    this.$outdent = new Outdent();
-    this.foldingRules = new FoldMode();
-}
-
-oop.inherits(Mode, TextMode);
-
-(function() {
-    var indenter = /(?:[({[=:]|[-=]>|\b(?:else|try|(?:swi|ca)tch(?:\s+[$A-Za-z_\x7f-\uffff][$\w\x7f-\uffff]*)?|finally))\s*$|^\s*(else\b\s*)?(?:if|for|while|loop)\b(?!.*\bthen\b)/;
-    var commentLine = /^(\s*)#/;
-    var hereComment = /^\s*###(?!#)/;
-    var indentation = /^\s*/;
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        var tokens = this.getTokenizer().getLineTokens(line, state).tokens;
-    
-        if (!(tokens.length && tokens[tokens.length - 1].type === 'comment') &&
-            state === 'start' && indenter.test(line))
-            indent += tab;
-        return indent;
-    };
-    
-    this.toggleCommentLines = function(state, doc, startRow, endRow){
-        console.log("toggle");
-        var range = new Range(0, 0, 0, 0);
-        for (var i = startRow; i <= endRow; ++i) {
-            var line = doc.getLine(i);
-            if (hereComment.test(line))
-                continue;
-                
-            if (commentLine.test(line))
-                line = line.replace(commentLine, '$1');
-            else
-                line = line.replace(indentation, '$&#');
-    
-            range.end.row = range.start.row = i;
-            range.end.column = line.length + 1;
-            doc.replace(range, line);
-        }
-    };
-    
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-    
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-    
-    this.createWorker = function(session) {
-        var worker = new WorkerClient(["ace"], "ace/mode/coffee_worker", "Worker");
-        worker.attachToDocument(session.getDocument());
-        
-        worker.on("error", function(e) {
-            session.setAnnotations([e.data]);
-        });
-        
-        worker.on("ok", function(e) {
-            session.clearAnnotations();
-        });
-        
-        return worker;
-    };
-
-    this.$id = "ace/mode/coffee";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 942
services/web/public/js/ace/src/mode-coldfusion.js


+ 0 - 798
services/web/public/js/ace/src/mode-csharp.js

@@ -1,798 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/csharp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var CSharpHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language": "this",
-        "keyword": "abstract|event|new|struct|as|explicit|null|switch|base|extern|object|this|bool|false|operator|throw|break|finally|out|true|byte|fixed|override|try|case|float|params|typeof|catch|for|private|uint|char|foreach|protected|ulong|checked|goto|public|unchecked|class|if|readonly|unsafe|const|implicit|ref|ushort|continue|in|return|using|decimal|int|sbyte|virtual|default|interface|sealed|volatile|delegate|internal|short|void|do|is|sizeof|while|double|lock|stackalloc|else|long|static|enum|namespace|string|var|dynamic",
-        "constant.language": "null|true|false"
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment"
-            }, {
-                token : "string", // character
-                regex : /'(?:.|\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n]))'/
-            }, {
-                token : "string", start : '"', end : '"|$', next: [
-                    {token: "constant.language.escape", regex: /\\(:?u[\da-fA-F]+|x[\da-fA-F]+|[tbrf'"n])/},
-                    {token: "invalid", regex: /\\./}
-                ]
-            }, {
-                token : "string", start : '@"', end : '"', next:[
-                    {token: "constant.language.escape", regex: '""'}
-                ]
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
-            }, {
-                token : "keyword",
-                regex : "^\\s*#(if|else|elif|endif|define|undef|warning|error|line|region|endregion|pragma)"
-            }, {
-                token : "punctuation.operator",
-                regex : "\\?|\\:|\\,|\\;|\\."
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("start") ]);
-    this.normalizeRules();
-};
-
-oop.inherits(CSharpHighlightRules, TextHighlightRules);
-
-exports.CSharpHighlightRules = CSharpHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/folding/csharp",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var CFoldMode = require("./cstyle").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, CFoldMode);
-
-(function() {
-    this.usingRe = /^\s*using \S/;
-
-    this.getFoldWidgetRangeBase = this.getFoldWidgetRange;
-    this.getFoldWidgetBase = this.getFoldWidget;
-    
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var fw = this.getFoldWidgetBase(session, foldStyle, row);
-        if (!fw) {
-            var line = session.getLine(row);
-            if (/^\s*#region\b/.test(line)) 
-                return "start";
-            var usingRe = this.usingRe;
-            if (usingRe.test(line)) {
-                var prev = session.getLine(row - 1);
-                var next = session.getLine(row + 1);
-                if (!usingRe.test(prev) && usingRe.test(next))
-                    return "start"
-            }
-        }
-        return fw;
-    };
-    
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.getFoldWidgetRangeBase(session, foldStyle, row);
-        if (range)
-            return range;
-
-        var line = session.getLine(row);
-        if (this.usingRe.test(line))
-            return this.getUsingStatementBlock(session, line, row);
-            
-        if (/^\s*#region\b/.test(line))
-            return this.getRegionBlock(session, line, row);
-    };
-    
-    this.getUsingStatementBlock = function(session, line, row) {
-        var startColumn = line.match(this.usingRe)[0].length - 1;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            if (/^\s*$/.test(line))
-                continue;
-            if (!this.usingRe.test(line))
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    
-    this.getRegionBlock = function(session, line, row) {
-        var startColumn = line.search(/\s*$/);
-        var maxRow = session.getLength();
-        var startRow = row;
-        
-        var re = /^\s*#(end)?region\b/
-        var depth = 1
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var m = re.exec(line);
-            if (!m)
-                continue;
-            if (m[1])
-                depth--;
-            else
-                depth++;
-
-            if (!depth)
-                break;
-        }
-
-        var endRow = row;
-        if (endRow > startRow) {
-            var endColumn = line.search(/\S/);
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/csharp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/csharp_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/csharp"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var CSharpHighlightRules = require("./csharp_highlight_rules").CSharpHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/csharp").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = CSharpHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-  
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-  
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-    
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-  
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-  
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-
-    this.createWorker = function(session) {
-        return null;
-    };
-
-    this.$id = "ace/mode/csharp";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 6
services/web/public/js/ace/src/mode-css.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 942
services/web/public/js/ace/src/mode-curly.js


+ 0 - 461
services/web/public/js/ace/src/mode-d.js

@@ -1,461 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/d_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DHighlightRules = function() {
-
-    var keywords = (
-        "this|super|import|module|body|mixin|__traits|invariant|alias|asm|delete|"+
-        "typeof|typeid|sizeof|cast|new|in|is|typedef|__vector|__parameters"
-    );
-
-    var keywordControls = (
-        "break|case|continue|default|do|else|for|foreach|foreach_reverse|goto|if|" +
-        "return|switch|while|catch|try|throw|finally|version|assert|unittest|with"
-    );
-    
-    var types = (
-        "auto|bool|char|dchar|wchar|byte|ubyte|float|double|real|" +
-        "cfloat|creal|cdouble|cent|ifloat|ireal|idouble|" +
-        "int|long|short|void|uint|ulong|ushort|ucent|" +
-        "function|delegate|string|wstring|dstring|size_t|ptrdiff_t|hash_t|Object"
-    );
-
-    var modifiers = (
-        "abstract|align|debug|deprecated|export|extern|const|final|in|inout|out|" +
-        "ref|immutable|lazy|nothrow|override|package|pragma|private|protected|" +
-        "public|pure|scope|shared|__gshared|synchronized|static|volatile"
-    );
-    
-    var storages = (
-        "class|struct|union|template|interface|enum|macro"
-    );
-    
-    var stringEscapesSeq =  {
-        token: "constant.language.escape",
-        regex: "\\\\(?:(?:x[0-9A-F]{2})|(?:[0-7]{1,3})|(?:['\"\\?0abfnrtv\\\\])|" +
-            "(?:u[0-9a-fA-F]{4})|(?:U[0-9a-fA-F]{8}))"
-    };
-
-    var builtinConstants = (
-        "null|true|false|"+
-        "__DATE__|__EOF__|__TIME__|__TIMESTAMP__|__VENDOR__|__VERSION__|"+
-        "__FILE__|__MODULE__|__LINE__|__FUNCTION__|__PRETTY_FUNCTION__"
-    );
-    
-    var operators = (
-        "/|/\\=|&|&\\=|&&|\\|\\|\\=|\\|\\||\\-|\\-\\=|\\-\\-|\\+|" +
-        "\\+\\=|\\+\\+|\\<|\\<\\=|\\<\\<|\\<\\<\\=|\\<\\>|\\<\\>\\=|\\>|\\>\\=|\\>\\>\\=|" +
-        "\\>\\>\\>\\=|\\>\\>|\\>\\>\\>|\\!|\\!\\=|\\!\\<\\>|\\!\\<\\>\\=|\\!\\<|\\!\\<\\=|" +
-        "\\!\\>|\\!\\>\\=|\\?|\\$|\\=|\\=\\=|\\*|\\*\\=|%|%\\=|" +
-        "\\^|\\^\\=|\\^\\^|\\^\\^\\=|~|~\\=|\\=\\>|#"
-    );
-
-    var keywordMapper = this.$keywords = this.createKeywordMapper({
-        "keyword.modifier" : modifiers,
-        "keyword.control" :  keywordControls,
-        "keyword.type" :     types,
-        "keyword":           keywords,
-        "keyword.storage":   storages,
-        "punctation": "\\.|\\,|;|\\.\\.|\\.\\.\\.",
-        "keyword.operator" : operators,
-        "constant.language": builtinConstants
-    }, "identifier");
-    
-    var identifierRe = "[a-zA-Z_\u00a1-\uffff][a-zA-Z\\d_\u00a1-\uffff]*\\b";
-
-    this.$rules = {
-        "start" : [
-            {     //-------------------------------------------------------- COMMENTS
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "star-comment"
-            }, {
-                token: "comment.shebang",
-                regex: "^\s*#!.*"
-            }, {
-                token : "comment",
-                regex : "\\/\\+",
-                next: "plus-comment"
-            }, {  //-------------------------------------------------------- STRINGS
-                onMatch: function(value, currentState, state) {
-                    state.unshift(this.next, value.substr(2));
-                    return "string";
-                },
-                regex: 'q"(?:[\\[\\(\\{\\<]+)',
-                next: 'operator-heredoc-string'
-            }, {
-                onMatch: function(value, currentState, state) {
-                    state.unshift(this.next, value.substr(2));
-                    return "string";
-                },
-                regex: 'q"(?:[a-zA-Z_]+)$',
-                next: 'identifier-heredoc-string'
-            }, {
-                token : "string", // multi line string start
-                regex : '[xr]?"',
-                next : "quote-string"
-            }, {
-                token : "string", // multi line string start
-                regex : '[xr]?`',
-                next : "backtick-string"
-            }, {
-                token : "string", // single line
-                regex : "[xr]?['](?:(?:\\\\.)|(?:[^'\\\\]))*?['][cdw]?"
-            }, {  //-------------------------------------------------------- RULES
-                token: ["keyword", "text", "paren.lparen"],
-                regex: /(asm)(\s*)({)/,
-                next: "d-asm"
-            }, {
-                token: ["keyword", "text", "paren.lparen", "constant.language"],
-                regex: "(__traits)(\\s*)(\\()("+identifierRe+")"
-            }, { // import|module abc
-                token: ["keyword", "text", "variable.module"],
-                regex: "(import|module)(\\s+)((?:"+identifierRe+"\\.?)*)"
-            }, { // storage Name
-                token: ["keyword.storage", "text", "entity.name.type"],
-                regex: "("+storages+")(\\s*)("+identifierRe+")"
-            }, { // alias|typedef foo bar;
-                token: ["keyword", "text", "variable.storage", "text"],
-                regex: "(alias|typedef)(\\s*)("+identifierRe+")(\\s*)"
-            }, {  //-------------------------------------------------------- OTHERS
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F_]+(l|ul|u|f|F|L|U|UL)?\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d[\\d_]*(?:(?:\\.[\\d_]*)?(?:[eE][+-]?[\\d_]+)?)?(l|ul|u|f|F|L|U|UL)?\\b"
-            }, {
-                token: "entity.other.attribute-name",
-                regex: "@"+identifierRe
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_][a-zA-Z0-9_]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : operators
-            }, {
-                token : "punctuation.operator",
-                regex : "\\?|\\:|\\,|\\;|\\.|\\:"
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "star-comment" : [
-            {
-                token : "comment", // closing comment
-                regex : "\\*\\/",
-                next : "start"
-            }, {
-                defaultToken: 'comment'
-            }
-        ],
-        "plus-comment" : [
-            {
-                token : "comment", // closing comment
-                regex : "\\+\\/",
-                next : "start"
-            }, {
-                defaultToken: 'comment'
-            }
-        ],
-        
-        "quote-string" : [
-           stringEscapesSeq,
-           {
-                token : "string",
-                regex : '"[cdw]?',
-                next : "start"
-            }, {
-                defaultToken: 'string'
-            }
-        ],
-        
-        "backtick-string" : [
-           stringEscapesSeq,
-           {
-                token : "string",
-                regex : '`[cdw]?',
-                next : "start"
-            }, {
-                defaultToken: 'string'
-            }
-        ],
-        
-        "operator-heredoc-string": [
-            {
-                onMatch: function(value, currentState, state) {
-                    value = value.substring(value.length-2, value.length-1);
-                    var map = {'>':'<',']':'[',')':'(','}':'{'};
-                    if(Object.keys(map).indexOf(value) != -1)
-                        value = map[value];
-                    if(value != state[1]) return "string";
-                    state.shift();
-                    state.shift();
-                    
-                    return "string";
-                },
-                regex: '(?:[\\]\\)}>]+)"',
-                next: 'start'
-            }, {
-                token: 'string',
-                regex: '[^\\]\\)}>]+'
-            }
-        ],
-        
-        "identifier-heredoc-string": [
-            {
-                onMatch: function(value, currentState, state) {
-                    value = value.substring(0, value.length-1);
-                    if(value != state[1]) return "string";
-                    state.shift();
-                    state.shift();
-                    
-                    return "string";
-                },
-                regex: '^(?:[A-Za-z_][a-zA-Z0-9]+)"',
-                next: 'start'
-            }, {
-                token: 'string',
-                regex: '[^\\]\\)}>]+'
-            }
-        ],
-        
-        "d-asm": [
-            {
-                token: "paren.rparen",
-                regex: "\\}",
-                next: "start"
-            }, {
-                token: 'keyword.instruction',
-                regex: '[a-zA-Z]+',
-                next: 'd-asm-instruction' 
-            }, {
-                token: "text",
-                regex: "\\s+"
-            }
-        ],
-        'd-asm-instruction': [
-            {
-                token: 'constant.language',
-                regex: /AL|AH|AX|EAX|BL|BH|BX|EBX|CL|CH|CX|ECX|DL|DH|DX|EDX|BP|EBP|SP|ESP|DI|EDI|SI|ESI/i
-            }, {
-                token: 'identifier',
-                regex: '[a-zA-Z]+'
-            }, {
-                token: 'string',
-                regex: '".*"'
-            }, {
-                token: 'comment',
-                regex: '//.*$'
-            }, {
-                token: 'constant.numeric',
-                regex: '[0-9.xA-F]+'
-            }, {
-                token: 'punctuation.operator',
-                regex: '\\,'
-            }, {
-                token: 'punctuation.operator',
-                regex: ';',
-                next: 'd-asm'
-            }, {
-                token: 'text',
-                regex: '\\s+'
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("start") ]);
-};
-
-DHighlightRules.metaData = {
-      comment: 'D language',
-      fileTypes: [ 'd', 'di' ],
-      firstLineMatch: '^#!.*\\b[glr]?dmd\\b.',
-      foldingStartMarker: '(?x)/\\*\\*(?!\\*)|^(?![^{]*?//|[^{]*?/\\*(?!.*?\\*/.*?\\{)).*?\\{\\s*($|//|/\\*(?!.*?\\*/.*\\S))',
-      foldingStopMarker: '(?<!\\*)\\*\\*/|^\\s*\\}',
-      keyEquivalent: '^~D',
-      name: 'D',
-      scopeName: 'source.d'
-};
-oop.inherits(DHighlightRules, TextHighlightRules);
-
-exports.DHighlightRules = DHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/d",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/d_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var DHighlightRules = require("./d_highlight_rules").DHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = DHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "/\\+";
-    this.blockComment = {start: "/*", end: "*/"};
-    this.$id = "ace/mode/d";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 50
services/web/public/js/ace/src/mode-dart.js


+ 0 - 139
services/web/public/js/ace/src/mode-diff.js

@@ -1,139 +0,0 @@
-define("ace/mode/diff_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DiffHighlightRules = function() {


-
-    this.$rules = {
-        "start" : [{
-                regex: "^(?:\\*{15}|={67}|-{3}|\\+{3})$",
-                token: "punctuation.definition.separator.diff",
-                "name": "keyword"
-            }, { //diff.range.unified
-                regex: "^(@@)(\\s*.+?\\s*)(@@)(.*)$",
-                token: [
-                    "constant",
-                    "constant.numeric",
-                    "constant",
-                    "comment.doc.tag"
-                ]
-            }, { //diff.range.normal
-                regex: "^(\\d+)([,\\d]+)(a|d|c)(\\d+)([,\\d]+)(.*)$",
-                token: [
-                    "constant.numeric",
-                    "punctuation.definition.range.diff",
-                    "constant.function",
-                    "constant.numeric",
-                    "punctuation.definition.range.diff",
-                    "invalid"
-                ],
-                "name": "meta."
-            }, {
-                regex: "^(\\-{3}|\\+{3}|\\*{3})( .+)$",
-                token: [
-                    "constant.numeric",
-                    "meta.tag"
-                ]
-            }, { // added
-                regex: "^([!+>])(.*?)(\\s*)$",
-                token: [
-                    "support.constant",
-                    "text",
-                    "invalid"
-                ]
-            }, { // removed
-                regex: "^([<\\-])(.*?)(\\s*)$",
-                token: [
-                    "support.function",
-                    "string",
-                    "invalid"
-                ]
-            }, {
-                regex: "^(diff)(\\s+--\\w+)?(.+?)( .+)?$",
-                token: ["variable", "variable", "keyword", "variable"]
-            }, {
-                regex: "^Index.+$",
-                token: "variable"
-            }, {
-                regex: "^\\s+$",
-                token: "text"
-            }, {
-                regex: "\\s*$",
-                token: "invalid"
-            }, {
-                defaultToken: "invisible",
-                caseInsensitive: true
-            }
-        ]
-    };
-};
-
-oop.inherits(DiffHighlightRules, TextHighlightRules);
-
-exports.DiffHighlightRules = DiffHighlightRules;
-});
-
-define("ace/mode/folding/diff",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function(levels, flag) {
-	this.regExpList = levels;
-	this.flag = flag;
-	this.foldingStartMarker = RegExp("^(" + levels.join("|") + ")", this.flag);
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var start = {row: row, column: line.length};
-
-        var regList = this.regExpList;
-        for (var i = 1; i <= regList.length; i++) {
-            var re = RegExp("^(" + regList.slice(0, i).join("|") + ")", this.flag);
-            if (re.test(line))
-                break;
-        }
-
-        for (var l = session.getLength(); ++row < l; ) {
-            line = session.getLine(row);
-            if (re.test(line))
-                break;
-        }
-        if (row == start.row + 1)
-            return;
-        return  Range.fromPoints(start, {row: row - 1, column: line.length});
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/diff",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/diff_highlight_rules","ace/mode/folding/diff"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var HighlightRules = require("./diff_highlight_rules").DiffHighlightRules;
-var FoldMode = require("./folding/diff").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = HighlightRules;
-    this.foldingRules = new FoldMode(["diff", "index", "\\+{3}", "@@|\\*{5}"], "i");
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.$id = "ace/mode/diff";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 942
services/web/public/js/ace/src/mode-django.js


+ 0 - 700
services/web/public/js/ace/src/mode-dockerfile.js

@@ -1,700 +0,0 @@
-define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var reservedKeywords = exports.reservedKeywords = (
-        '!|{|}|case|do|done|elif|else|'+
-        'esac|fi|for|if|in|then|until|while|'+
-        '&|;|export|local|read|typeset|unset|'+
-        'elif|select|set'
-    );
-
-var languageConstructs = exports.languageConstructs = (
-    '[|]|alias|bg|bind|break|builtin|'+
-     'cd|command|compgen|complete|continue|'+
-     'dirs|disown|echo|enable|eval|exec|'+
-     'exit|fc|fg|getopts|hash|help|history|'+
-     'jobs|kill|let|logout|popd|printf|pushd|'+
-     'pwd|return|set|shift|shopt|source|'+
-     'suspend|test|times|trap|type|ulimit|'+
-     'umask|unalias|wait'
-);
-
-var ShHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": reservedKeywords,
-        "support.function.builtin": languageConstructs,
-        "invalid.deprecated": "debugger"
-    }, "identifier");
-
-    var integer = "(?:(?:[1-9]\\d*)|(?:0))";
-
-    var fraction = "(?:\\.\\d+)";
-    var intPart = "(?:\\d+)";
-    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
-    var exponentFloat = "(?:(?:" + pointFloat + "|" +  intPart + ")" + ")";
-    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
-    var fileDescriptor = "(?:&" + intPart + ")";
-
-    var variableName = "[a-zA-Z_][a-zA-Z0-9_]*";
-    var variable = "(?:(?:\\$" + variableName + ")|(?:" + variableName + "=))";
-
-    var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))";
-
-    var func = "(?:" + variableName + "\\s*\\(\\))";
-
-    this.$rules = {
-        "start" : [{
-            token : "constant",
-            regex : /\\./
-        }, {
-            token : ["text", "comment"],
-            regex : /(^|\s)(#.*)$/
-        }, {
-            token : "string",
-            regex : '"',
-            push : [{
-                token : "constant.language.escape",
-                regex : /\\(?:[$abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/
-            }, {
-                token : "constant",
-                regex : /\$\w+/
-            }, {
-                token : "string",
-                regex : '"',
-                next: "pop"
-            }, {
-                defaultToken: "string"
-            }]
-        }, {
-            token : "variable.language",
-            regex : builtinVariable
-        }, {
-            token : "variable",
-            regex : variable
-        }, {
-            token : "support.function",
-            regex : func
-        }, {
-            token : "support.function",
-            regex : fileDescriptor
-        }, {
-            token : "string",           // ' string
-            start : "'", end : "'"
-        }, {
-            token : "constant.numeric", // float
-            regex : floatNumber
-        }, {
-            token : "constant.numeric", // integer
-            regex : integer + "\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!="
-        }, {
-            token : "paren.lparen",
-            regex : "[\\[\\(\\{]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\]\\)\\}]"
-        } ]
-    };
-    
-    this.normalizeRules();
-};
-
-oop.inherits(ShHighlightRules, TextHighlightRules);
-
-exports.ShHighlightRules = ShHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/sh",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/sh_highlight_rules","ace/range","ace/mode/folding/cstyle","ace/mode/behaviour/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var ShHighlightRules = require("./sh_highlight_rules").ShHighlightRules;
-var Range = require("../range").Range;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-
-var Mode = function() {
-    this.HighlightRules = ShHighlightRules;
-    this.foldingRules = new CStyleFoldMode();
-    this.$behaviour = new CstyleBehaviour();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-   
-    this.lineCommentStart = "#";
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[\:]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    var outdents = {
-        "pass": 1,
-        "return": 1,
-        "raise": 1,
-        "break": 1,
-        "continue": 1
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        if (input !== "\r\n" && input !== "\r" && input !== "\n")
-            return false;
-
-        var tokens = this.getTokenizer().getLineTokens(line.trim(), state).tokens;
-
-        if (!tokens)
-            return false;
-        do {
-            var last = tokens.pop();
-        } while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\s+$/))));
-
-        if (!last)
-            return false;
-
-        return (last.type == "keyword" && outdents[last.value]);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-
-        row += 1;
-        var indent = this.$getIndent(doc.getLine(row));
-        var tab = doc.getTabString();
-        if (indent.slice(-tab.length) == tab)
-            doc.remove(new Range(row, indent.length-tab.length, row, indent.length));
-    };
-
-    this.$id = "ace/mode/sh";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});
-
-define("ace/mode/dockerfile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/sh_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var ShHighlightRules = require("./sh_highlight_rules").ShHighlightRules;
-
-var DockerfileHighlightRules = function() {
-    ShHighlightRules.call(this);
-
-    var startRules = this.$rules.start;
-    for (var i = 0; i < startRules.length; i++) {
-        if (startRules[i].token == "variable.language") {
-            startRules.splice(i, 0, {
-                token: "variable.language",
-                regex: "(?:^(?:FROM|MAINTAINER|RUN|CMD|EXPOSE|ENV|ADD|ENTRYPOINT|VOLUME|USER|WORKDIR|ONBUILD)\\b)",
-                caseInsensitive: true
-            });
-            break;
-        }
-    }
-    
-};
-
-oop.inherits(DockerfileHighlightRules, ShHighlightRules);
-
-exports.DockerfileHighlightRules = DockerfileHighlightRules;
-});
-
-define("ace/mode/dockerfile",["require","exports","module","ace/lib/oop","ace/mode/sh","ace/mode/dockerfile_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var ShMode = require("./sh").Mode;
-var DockerfileHighlightRules = require("./dockerfile_highlight_rules").DockerfileHighlightRules;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    ShMode.call(this);
-    
-    this.HighlightRules = DockerfileHighlightRules;
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, ShMode);
-
-(function() {
-    this.$id = "ace/mode/dockerfile";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 361
services/web/public/js/ace/src/mode-dot.js

@@ -1,361 +0,0 @@
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/dot_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules","ace/mode/doc_comment_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var lang = require("../lib/lang");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-
-var DotHighlightRules = function() {
-
-   var keywords = lang.arrayToMap(
-        ("strict|node|edge|graph|digraph|subgraph").split("|")
-   );
-
-   var attributes = lang.arrayToMap(
-        ("damping|k|url|area|arrowhead|arrowsize|arrowtail|aspect|bb|bgcolor|center|charset|clusterrank|color|colorscheme|comment|compound|concentrate|constraint|decorate|defaultdist|dim|dimen|dir|diredgeconstraints|distortion|dpi|edgeurl|edgehref|edgetarget|edgetooltip|epsilon|esep|fillcolor|fixedsize|fontcolor|fontname|fontnames|fontpath|fontsize|forcelabels|gradientangle|group|headurl|head_lp|headclip|headhref|headlabel|headport|headtarget|headtooltip|height|href|id|image|imagepath|imagescale|label|labelurl|label_scheme|labelangle|labeldistance|labelfloat|labelfontcolor|labelfontname|labelfontsize|labelhref|labeljust|labelloc|labeltarget|labeltooltip|landscape|layer|layerlistsep|layers|layerselect|layersep|layout|len|levels|levelsgap|lhead|lheight|lp|ltail|lwidth|margin|maxiter|mclimit|mindist|minlen|mode|model|mosek|nodesep|nojustify|normalize|nslimit|nslimit1|ordering|orientation|outputorder|overlap|overlap_scaling|pack|packmode|pad|page|pagedir|pencolor|penwidth|peripheries|pin|pos|quadtree|quantum|rank|rankdir|ranksep|ratio|rects|regular|remincross|repulsiveforce|resolution|root|rotate|rotation|samehead|sametail|samplepoints|scale|searchsize|sep|shape|shapefile|showboxes|sides|size|skew|smoothing|sortv|splines|start|style|stylesheet|tailurl|tail_lp|tailclip|tailhref|taillabel|tailport|tailtarget|tailtooltip|target|tooltip|truecolor|vertices|viewport|voro_margin|weight|width|xlabel|xlp|z").split("|")
-   );
-
-   this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : /\/\/.*$/
-            }, {
-                token : "comment",
-                regex : /#.*$/
-            }, {
-                token : "comment", // multi line comment
-                merge : true,
-                regex : /\/\*/,
-                next : "comment"
-            }, {
-                token : "string",
-                regex : "'(?=.)",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : '"(?=.)',
-                next  : "qqstring"
-            }, {
-                token : "constant.numeric",
-                regex : /[+\-]?\d+(?:(?:\.\d*)?(?:[eE][+\-]?\d+)?)?\b/
-            }, {
-                token : "keyword.operator",
-                regex : /\+|=|\->/
-            }, {
-                token : "punctuation.operator",
-                regex : /,|;/
-            }, {
-                token : "paren.lparen",
-                regex : /[\[{]/
-            }, {
-                token : "paren.rparen",
-                regex : /[\]}]/
-            }, {
-                token: "comment",
-                regex: /^#!.*$/
-            }, {
-                token: function(value) {
-                    if (keywords.hasOwnProperty(value.toLowerCase())) {
-                        return "keyword";
-                    }
-                    else if (attributes.hasOwnProperty(value.toLowerCase())) {
-                        return "variable";
-                    }
-                    else {
-                        return "text";
-                    }
-                },
-                regex: "\\-?[a-zA-Z_][a-zA-Z0-9_\\-]*"
-           }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                merge : true,
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                merge : true,
-                regex : ".+"
-            }
-        ],
-        "qqstring" : [
-            {
-                token : "string",
-                regex : '[^"\\\\]+',
-                merge : true
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qqstring",
-                merge : true
-            }, {
-                token : "string",
-                regex : '"|$',
-                next  : "start",
-                merge : true
-            }
-        ],
-        "qstring" : [
-            {
-                token : "string",
-                regex : "[^'\\\\]+",
-                merge : true
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qstring",
-                merge : true
-            }, {
-                token : "string",
-                regex : "'|$",
-                next  : "start",
-                merge : true
-            }
-        ]
-   };
-};
-
-oop.inherits(DotHighlightRules, TextHighlightRules);
-
-exports.DotHighlightRules = DotHighlightRules;
-
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/dot",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/matching_brace_outdent","ace/mode/dot_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var DotHighlightRules = require("./dot_highlight_rules").DotHighlightRules;
-var DotFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = DotHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.foldingRules = new DotFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = ["//", "#"];
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        var endState = tokenizedLine.state;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start") {
-            var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/dot";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 6
services/web/public/js/ace/src/mode-ejs.js


+ 0 - 956
services/web/public/js/ace/src/mode-erlang.js

@@ -1,956 +0,0 @@
-define("ace/mode/erlang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var ErlangHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { include: '#module-directive' },
-         { include: '#import-export-directive' },
-         { include: '#behaviour-directive' },
-         { include: '#record-directive' },
-         { include: '#define-directive' },
-         { include: '#macro-directive' },
-         { include: '#directive' },
-         { include: '#function' },
-         { include: '#everything-else' } ],
-      '#atom': 
-       [ { token: 'punctuation.definition.symbol.begin.erlang',
-           regex: '\'',
-           push: 
-            [ { token: 'punctuation.definition.symbol.end.erlang',
-                regex: '\'',
-                next: 'pop' },
-              { token: 
-                 [ 'punctuation.definition.escape.erlang',
-                   'constant.other.symbol.escape.erlang',
-                   'punctuation.definition.escape.erlang',
-                   'constant.other.symbol.escape.erlang',
-                   'constant.other.symbol.escape.erlang' ],
-                regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
-              { token: 'invalid.illegal.atom.erlang', regex: '\\\\\\^?.?' },
-              { defaultToken: 'constant.other.symbol.quoted.single.erlang' } ] },
-         { token: 'constant.other.symbol.unquoted.erlang',
-           regex: '[a-z][a-zA-Z\\d@_]*' } ],
-      '#behaviour-directive': 
-       [ { token: 
-            [ 'meta.directive.behaviour.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.behaviour.erlang',
-              'keyword.control.directive.behaviour.erlang',
-              'meta.directive.behaviour.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.behaviour.erlang',
-              'entity.name.type.class.behaviour.definition.erlang',
-              'meta.directive.behaviour.erlang',
-              'punctuation.definition.parameters.end.erlang',
-              'meta.directive.behaviour.erlang',
-              'punctuation.section.directive.end.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(behaviour)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' } ],
-      '#binary': 
-       [ { token: 'punctuation.definition.binary.begin.erlang',
-           regex: '<<',
-           push: 
-            [ { token: 'punctuation.definition.binary.end.erlang',
-                regex: '>>',
-                next: 'pop' },
-              { token: 
-                 [ 'punctuation.separator.binary.erlang',
-                   'punctuation.separator.value-size.erlang' ],
-                regex: '(,)|(:)' },
-              { include: '#internal-type-specifiers' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.structure.binary.erlang' } ] } ],
-      '#character': 
-       [ { token: 
-            [ 'punctuation.definition.character.erlang',
-              'punctuation.definition.escape.erlang',
-              'constant.character.escape.erlang',
-              'punctuation.definition.escape.erlang',
-              'constant.character.escape.erlang',
-              'constant.character.escape.erlang' ],
-           regex: '(\\$)(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
-         { token: 'invalid.illegal.character.erlang',
-           regex: '\\$\\\\\\^?.?' },
-         { token: 
-            [ 'punctuation.definition.character.erlang',
-              'constant.character.erlang' ],
-           regex: '(\\$)(\\S)' },
-         { token: 'invalid.illegal.character.erlang', regex: '\\$.?' } ],
-      '#comment': 
-       [ { token: 'punctuation.definition.comment.erlang',
-           regex: '%.*$',
-           push_: 
-            [ { token: 'comment.line.percentage.erlang',
-                regex: '$',
-                next: 'pop' },
-              { defaultToken: 'comment.line.percentage.erlang' } ] } ],
-      '#define-directive': 
-       [ { token: 
-            [ 'meta.directive.define.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.define.erlang',
-              'keyword.control.directive.define.erlang',
-              'meta.directive.define.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.define.erlang',
-              'entity.name.function.macro.definition.erlang',
-              'meta.directive.define.erlang',
-              'punctuation.separator.parameters.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(,)',
-           push: 
-            [ { token: 
-                 [ 'punctuation.definition.parameters.end.erlang',
-                   'meta.directive.define.erlang',
-                   'punctuation.section.directive.end.erlang' ],
-                regex: '(\\))(\\s*)(\\.)',
-                next: 'pop' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.directive.define.erlang' } ] },
-         { token: 'meta.directive.define.erlang',
-           regex: '(?=^\\s*-\\s*define\\s*\\(\\s*[a-zA-Z\\d@_]+\\s*\\()',
-           push: 
-            [ { token: 
-                 [ 'punctuation.definition.parameters.end.erlang',
-                   'meta.directive.define.erlang',
-                   'punctuation.section.directive.end.erlang' ],
-                regex: '(\\))(\\s*)(\\.)',
-                next: 'pop' },
-              { token: 
-                 [ 'text',
-                   'punctuation.section.directive.begin.erlang',
-                   'text',
-                   'keyword.control.directive.define.erlang',
-                   'text',
-                   'punctuation.definition.parameters.begin.erlang',
-                   'text',
-                   'entity.name.function.macro.definition.erlang',
-                   'text',
-                   'punctuation.definition.parameters.begin.erlang' ],
-                regex: '^(\\s*)(-)(\\s*)(define)(\\s*)(\\()(\\s*)([a-zA-Z\\d@_]+)(\\s*)(\\()',
-                push: 
-                 [ { token: 
-                      [ 'punctuation.definition.parameters.end.erlang',
-                        'text',
-                        'punctuation.separator.parameters.erlang' ],
-                     regex: '(\\))(\\s*)(,)',
-                     next: 'pop' },
-                   { token: 'punctuation.separator.parameters.erlang', regex: ',' },
-                   { include: '#everything-else' } ] },
-              { token: 'punctuation.separator.define.erlang',
-                regex: '\\|\\||\\||:|;|,|\\.|->' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.directive.define.erlang' } ] } ],
-      '#directive': 
-       [ { token: 
-            [ 'meta.directive.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.erlang',
-              'keyword.control.directive.erlang',
-              'meta.directive.erlang',
-              'punctuation.definition.parameters.begin.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\(?)',
-           push: 
-            [ { token: 
-                 [ 'punctuation.definition.parameters.end.erlang',
-                   'meta.directive.erlang',
-                   'punctuation.section.directive.end.erlang' ],
-                regex: '(\\)?)(\\s*)(\\.)',
-                next: 'pop' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.directive.erlang' } ] },
-         { token: 
-            [ 'meta.directive.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.erlang',
-              'keyword.control.directive.erlang',
-              'meta.directive.erlang',
-              'punctuation.section.directive.end.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\.)' } ],
-      '#everything-else': 
-       [ { include: '#comment' },
-         { include: '#record-usage' },
-         { include: '#macro-usage' },
-         { include: '#expression' },
-         { include: '#keyword' },
-         { include: '#textual-operator' },
-         { include: '#function-call' },
-         { include: '#tuple' },
-         { include: '#list' },
-         { include: '#binary' },
-         { include: '#parenthesized-expression' },
-         { include: '#character' },
-         { include: '#number' },
-         { include: '#atom' },
-         { include: '#string' },
-         { include: '#symbolic-operator' },
-         { include: '#variable' } ],
-      '#expression': 
-       [ { token: 'keyword.control.if.erlang',
-           regex: '\\bif\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { include: '#internal-expression-punctuation' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.if.erlang' } ] },
-         { token: 'keyword.control.case.erlang',
-           regex: '\\bcase\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { include: '#internal-expression-punctuation' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.case.erlang' } ] },
-         { token: 'keyword.control.receive.erlang',
-           regex: '\\breceive\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { include: '#internal-expression-punctuation' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.receive.erlang' } ] },
-         { token: 
-            [ 'keyword.control.fun.erlang',
-              'text',
-              'entity.name.type.class.module.erlang',
-              'text',
-              'punctuation.separator.module-function.erlang',
-              'text',
-              'entity.name.function.erlang',
-              'text',
-              'punctuation.separator.function-arity.erlang' ],
-           regex: '\\b(fun)(\\s*)(?:([a-z][a-zA-Z\\d@_]*)(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*)(\\s*)(/)' },
-         { token: 'keyword.control.fun.erlang',
-           regex: '\\bfun\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { token: 'text',
-                regex: '(?=\\()',
-                push: 
-                 [ { token: 'punctuation.separator.clauses.erlang',
-                     regex: ';|(?=\\bend\\b)',
-                     next: 'pop' },
-                   { include: '#internal-function-parts' } ] },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.fun.erlang' } ] },
-         { token: 'keyword.control.try.erlang',
-           regex: '\\btry\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { include: '#internal-expression-punctuation' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.try.erlang' } ] },
-         { token: 'keyword.control.begin.erlang',
-           regex: '\\bbegin\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { include: '#internal-expression-punctuation' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.begin.erlang' } ] },
-         { token: 'keyword.control.query.erlang',
-           regex: '\\bquery\\b',
-           push: 
-            [ { token: 'keyword.control.end.erlang',
-                regex: '\\bend\\b',
-                next: 'pop' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.query.erlang' } ] } ],
-      '#function': 
-       [ { token: 
-            [ 'meta.function.erlang',
-              'entity.name.function.definition.erlang',
-              'meta.function.erlang' ],
-           regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()',
-           push: 
-            [ { token: 'punctuation.terminator.function.erlang',
-                regex: '\\.',
-                next: 'pop' },
-              { token: [ 'text', 'entity.name.function.erlang', 'text' ],
-                regex: '^(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(?=\\()' },
-              { token: 'text',
-                regex: '(?=\\()',
-                push: 
-                 [ { token: 'punctuation.separator.clauses.erlang',
-                     regex: ';|(?=\\.)',
-                     next: 'pop' },
-                   { include: '#parenthesized-expression' },
-                   { include: '#internal-function-parts' } ] },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.function.erlang' } ] } ],
-      '#function-call': 
-       [ { token: 'meta.function-call.erlang',
-           regex: '(?=(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*(?:\\(|:\\s*(?:[a-z][a-zA-Z\\d@_]*|\'[^\']*\')\\s*\\())',
-           push: 
-            [ { token: 'punctuation.definition.parameters.end.erlang',
-                regex: '\\)',
-                next: 'pop' },
-              { token: 
-                 [ 'entity.name.type.class.module.erlang',
-                   'text',
-                   'punctuation.separator.module-function.erlang',
-                   'text',
-                   'entity.name.function.guard.erlang',
-                   'text',
-                   'punctuation.definition.parameters.begin.erlang' ],
-                regex: '(?:(erlang)(\\s*)(:)(\\s*))?(is_atom|is_binary|is_constant|is_float|is_function|is_integer|is_list|is_number|is_pid|is_port|is_reference|is_tuple|is_record|abs|element|hd|length|node|round|self|size|tl|trunc)(\\s*)(\\()',
-                push: 
-                 [ { token: 'text', regex: '(?=\\))', next: 'pop' },
-                   { token: 'punctuation.separator.parameters.erlang', regex: ',' },
-                   { include: '#everything-else' } ] },
-              { token: 
-                 [ 'entity.name.type.class.module.erlang',
-                   'text',
-                   'punctuation.separator.module-function.erlang',
-                   'text',
-                   'entity.name.function.erlang',
-                   'text',
-                   'punctuation.definition.parameters.begin.erlang' ],
-                regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(:)(\\s*))?([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\()',
-                push: 
-                 [ { token: 'text', regex: '(?=\\))', next: 'pop' },
-                   { token: 'punctuation.separator.parameters.erlang', regex: ',' },
-                   { include: '#everything-else' } ] },
-              { defaultToken: 'meta.function-call.erlang' } ] } ],
-      '#import-export-directive': 
-       [ { token: 
-            [ 'meta.directive.import.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.import.erlang',
-              'keyword.control.directive.import.erlang',
-              'meta.directive.import.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.import.erlang',
-              'entity.name.type.class.module.erlang',
-              'meta.directive.import.erlang',
-              'punctuation.separator.parameters.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(import)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
-           push: 
-            [ { token: 
-                 [ 'punctuation.definition.parameters.end.erlang',
-                   'meta.directive.import.erlang',
-                   'punctuation.section.directive.end.erlang' ],
-                regex: '(\\))(\\s*)(\\.)',
-                next: 'pop' },
-              { include: '#internal-function-list' },
-              { defaultToken: 'meta.directive.import.erlang' } ] },
-         { token: 
-            [ 'meta.directive.export.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.export.erlang',
-              'keyword.control.directive.export.erlang',
-              'meta.directive.export.erlang',
-              'punctuation.definition.parameters.begin.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(export)(\\s*)(\\()',
-           push: 
-            [ { token: 
-                 [ 'punctuation.definition.parameters.end.erlang',
-                   'meta.directive.export.erlang',
-                   'punctuation.section.directive.end.erlang' ],
-                regex: '(\\))(\\s*)(\\.)',
-                next: 'pop' },
-              { include: '#internal-function-list' },
-              { defaultToken: 'meta.directive.export.erlang' } ] } ],
-      '#internal-expression-punctuation': 
-       [ { token: 
-            [ 'punctuation.separator.clause-head-body.erlang',
-              'punctuation.separator.clauses.erlang',
-              'punctuation.separator.expressions.erlang' ],
-           regex: '(->)|(;)|(,)' } ],
-      '#internal-function-list': 
-       [ { token: 'punctuation.definition.list.begin.erlang',
-           regex: '\\[',
-           push: 
-            [ { token: 'punctuation.definition.list.end.erlang',
-                regex: '\\]',
-                next: 'pop' },
-              { token: 
-                 [ 'entity.name.function.erlang',
-                   'text',
-                   'punctuation.separator.function-arity.erlang' ],
-                regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(/)',
-                push: 
-                 [ { token: 'punctuation.separator.list.erlang',
-                     regex: ',|(?=\\])',
-                     next: 'pop' },
-                   { include: '#everything-else' } ] },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.structure.list.function.erlang' } ] } ],
-      '#internal-function-parts': 
-       [ { token: 'text',
-           regex: '(?=\\()',
-           push: 
-            [ { token: 'punctuation.separator.clause-head-body.erlang',
-                regex: '->',
-                next: 'pop' },
-              { token: 'punctuation.definition.parameters.begin.erlang',
-                regex: '\\(',
-                push: 
-                 [ { token: 'punctuation.definition.parameters.end.erlang',
-                     regex: '\\)',
-                     next: 'pop' },
-                   { token: 'punctuation.separator.parameters.erlang', regex: ',' },
-                   { include: '#everything-else' } ] },
-              { token: 'punctuation.separator.guards.erlang', regex: ',|;' },
-              { include: '#everything-else' } ] },
-         { token: 'punctuation.separator.expressions.erlang',
-           regex: ',' },
-         { include: '#everything-else' } ],
-      '#internal-record-body': 
-       [ { token: 'punctuation.definition.class.record.begin.erlang',
-           regex: '\\{',
-           push: 
-            [ { token: 'meta.structure.record.erlang',
-                regex: '(?=\\})',
-                next: 'pop' },
-              { token: 
-                 [ 'variable.other.field.erlang',
-                   'variable.language.omitted.field.erlang',
-                   'text',
-                   'keyword.operator.assignment.erlang' ],
-                regex: '(?:([a-z][a-zA-Z\\d@_]*|\'[^\']*\')|(_))(\\s*)(=|::)',
-                push: 
-                 [ { token: 'punctuation.separator.class.record.erlang',
-                     regex: ',|(?=\\})',
-                     next: 'pop' },
-                   { include: '#everything-else' } ] },
-              { token: 
-                 [ 'variable.other.field.erlang',
-                   'text',
-                   'punctuation.separator.class.record.erlang' ],
-                regex: '([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)((?:,)?)' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.structure.record.erlang' } ] } ],
-      '#internal-type-specifiers': 
-       [ { token: 'punctuation.separator.value-type.erlang',
-           regex: '/',
-           push: 
-            [ { token: 'text', regex: '(?=,|:|>>)', next: 'pop' },
-              { token: 
-                 [ 'storage.type.erlang',
-                   'storage.modifier.signedness.erlang',
-                   'storage.modifier.endianness.erlang',
-                   'storage.modifier.unit.erlang',
-                   'punctuation.separator.type-specifiers.erlang' ],
-                regex: '(integer|float|binary|bytes|bitstring|bits)|(signed|unsigned)|(big|little|native)|(unit)|(-)' } ] } ],
-      '#keyword': 
-       [ { token: 'keyword.control.erlang',
-           regex: '\\b(?:after|begin|case|catch|cond|end|fun|if|let|of|query|try|receive|when)\\b' } ],
-      '#list': 
-       [ { token: 'punctuation.definition.list.begin.erlang',
-           regex: '\\[',
-           push: 
-            [ { token: 'punctuation.definition.list.end.erlang',
-                regex: '\\]',
-                next: 'pop' },
-              { token: 'punctuation.separator.list.erlang',
-                regex: '\\||\\|\\||,' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.structure.list.erlang' } ] } ],
-      '#macro-directive': 
-       [ { token: 
-            [ 'meta.directive.ifdef.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.ifdef.erlang',
-              'keyword.control.directive.ifdef.erlang',
-              'meta.directive.ifdef.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.ifdef.erlang',
-              'entity.name.function.macro.erlang',
-              'meta.directive.ifdef.erlang',
-              'punctuation.definition.parameters.end.erlang',
-              'meta.directive.ifdef.erlang',
-              'punctuation.section.directive.end.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(ifdef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
-         { token: 
-            [ 'meta.directive.ifndef.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.ifndef.erlang',
-              'keyword.control.directive.ifndef.erlang',
-              'meta.directive.ifndef.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.ifndef.erlang',
-              'entity.name.function.macro.erlang',
-              'meta.directive.ifndef.erlang',
-              'punctuation.definition.parameters.end.erlang',
-              'meta.directive.ifndef.erlang',
-              'punctuation.section.directive.end.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(ifndef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' },
-         { token: 
-            [ 'meta.directive.undef.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.undef.erlang',
-              'keyword.control.directive.undef.erlang',
-              'meta.directive.undef.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.undef.erlang',
-              'entity.name.function.macro.erlang',
-              'meta.directive.undef.erlang',
-              'punctuation.definition.parameters.end.erlang',
-              'meta.directive.undef.erlang',
-              'punctuation.section.directive.end.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(undef)(\\s*)(\\()(\\s*)([a-zA-z\\d@_]+)(\\s*)(\\))(\\s*)(\\.)' } ],
-      '#macro-usage': 
-       [ { token: 
-            [ 'keyword.operator.macro.erlang',
-              'meta.macro-usage.erlang',
-              'entity.name.function.macro.erlang' ],
-           regex: '(\\?\\??)(\\s*)([a-zA-Z\\d@_]+)' } ],
-      '#module-directive': 
-       [ { token: 
-            [ 'meta.directive.module.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.module.erlang',
-              'keyword.control.directive.module.erlang',
-              'meta.directive.module.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.module.erlang',
-              'entity.name.type.class.module.definition.erlang',
-              'meta.directive.module.erlang',
-              'punctuation.definition.parameters.end.erlang',
-              'meta.directive.module.erlang',
-              'punctuation.section.directive.end.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(module)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*)(\\s*)(\\))(\\s*)(\\.)' } ],
-      '#number': 
-       [ { token: 'text',
-           regex: '(?=\\d)',
-           push: 
-            [ { token: 'text', regex: '(?!\\d)', next: 'pop' },
-              { token: 
-                 [ 'constant.numeric.float.erlang',
-                   'punctuation.separator.integer-float.erlang',
-                   'constant.numeric.float.erlang',
-                   'punctuation.separator.float-exponent.erlang' ],
-                regex: '(\\d+)(\\.)(\\d+)((?:[eE][\\+\\-]?\\d+)?)' },
-              { token: 
-                 [ 'constant.numeric.integer.binary.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.binary.erlang' ],
-                regex: '(2)(#)([0-1]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-3.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-3.erlang' ],
-                regex: '(3)(#)([0-2]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-4.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-4.erlang' ],
-                regex: '(4)(#)([0-3]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-5.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-5.erlang' ],
-                regex: '(5)(#)([0-4]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-6.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-6.erlang' ],
-                regex: '(6)(#)([0-5]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-7.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-7.erlang' ],
-                regex: '(7)(#)([0-6]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.octal.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.octal.erlang' ],
-                regex: '(8)(#)([0-7]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-9.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-9.erlang' ],
-                regex: '(9)(#)([0-8]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.decimal.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.decimal.erlang' ],
-                regex: '(10)(#)(\\d+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-11.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-11.erlang' ],
-                regex: '(11)(#)([\\daA]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-12.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-12.erlang' ],
-                regex: '(12)(#)([\\da-bA-B]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-13.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-13.erlang' ],
-                regex: '(13)(#)([\\da-cA-C]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-14.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-14.erlang' ],
-                regex: '(14)(#)([\\da-dA-D]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-15.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-15.erlang' ],
-                regex: '(15)(#)([\\da-eA-E]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.hexadecimal.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.hexadecimal.erlang' ],
-                regex: '(16)(#)([\\da-fA-F]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-17.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-17.erlang' ],
-                regex: '(17)(#)([\\da-gA-G]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-18.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-18.erlang' ],
-                regex: '(18)(#)([\\da-hA-H]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-19.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-19.erlang' ],
-                regex: '(19)(#)([\\da-iA-I]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-20.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-20.erlang' ],
-                regex: '(20)(#)([\\da-jA-J]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-21.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-21.erlang' ],
-                regex: '(21)(#)([\\da-kA-K]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-22.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-22.erlang' ],
-                regex: '(22)(#)([\\da-lA-L]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-23.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-23.erlang' ],
-                regex: '(23)(#)([\\da-mA-M]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-24.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-24.erlang' ],
-                regex: '(24)(#)([\\da-nA-N]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-25.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-25.erlang' ],
-                regex: '(25)(#)([\\da-oA-O]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-26.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-26.erlang' ],
-                regex: '(26)(#)([\\da-pA-P]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-27.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-27.erlang' ],
-                regex: '(27)(#)([\\da-qA-Q]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-28.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-28.erlang' ],
-                regex: '(28)(#)([\\da-rA-R]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-29.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-29.erlang' ],
-                regex: '(29)(#)([\\da-sA-S]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-30.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-30.erlang' ],
-                regex: '(30)(#)([\\da-tA-T]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-31.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-31.erlang' ],
-                regex: '(31)(#)([\\da-uA-U]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-32.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-32.erlang' ],
-                regex: '(32)(#)([\\da-vA-V]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-33.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-33.erlang' ],
-                regex: '(33)(#)([\\da-wA-W]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-34.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-34.erlang' ],
-                regex: '(34)(#)([\\da-xA-X]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-35.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-35.erlang' ],
-                regex: '(35)(#)([\\da-yA-Y]+)' },
-              { token: 
-                 [ 'constant.numeric.integer.base-36.erlang',
-                   'punctuation.separator.base-integer.erlang',
-                   'constant.numeric.integer.base-36.erlang' ],
-                regex: '(36)(#)([\\da-zA-Z]+)' },
-              { token: 'invalid.illegal.integer.erlang',
-                regex: '\\d+#[\\da-zA-Z]+' },
-              { token: 'constant.numeric.integer.decimal.erlang',
-                regex: '\\d+' } ] } ],
-      '#parenthesized-expression': 
-       [ { token: 'punctuation.section.expression.begin.erlang',
-           regex: '\\(',
-           push: 
-            [ { token: 'punctuation.section.expression.end.erlang',
-                regex: '\\)',
-                next: 'pop' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.expression.parenthesized' } ] } ],
-      '#record-directive': 
-       [ { token: 
-            [ 'meta.directive.record.erlang',
-              'punctuation.section.directive.begin.erlang',
-              'meta.directive.record.erlang',
-              'keyword.control.directive.import.erlang',
-              'meta.directive.record.erlang',
-              'punctuation.definition.parameters.begin.erlang',
-              'meta.directive.record.erlang',
-              'entity.name.type.class.record.definition.erlang',
-              'meta.directive.record.erlang',
-              'punctuation.separator.parameters.erlang' ],
-           regex: '^(\\s*)(-)(\\s*)(record)(\\s*)(\\()(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(,)',
-           push: 
-            [ { token: 
-                 [ 'punctuation.definition.class.record.end.erlang',
-                   'meta.directive.record.erlang',
-                   'punctuation.definition.parameters.end.erlang',
-                   'meta.directive.record.erlang',
-                   'punctuation.section.directive.end.erlang' ],
-                regex: '(\\})(\\s*)(\\))(\\s*)(\\.)',
-                next: 'pop' },
-              { include: '#internal-record-body' },
-              { defaultToken: 'meta.directive.record.erlang' } ] } ],
-      '#record-usage': 
-       [ { token: 
-            [ 'keyword.operator.record.erlang',
-              'meta.record-usage.erlang',
-              'entity.name.type.class.record.erlang',
-              'meta.record-usage.erlang',
-              'punctuation.separator.record-field.erlang',
-              'meta.record-usage.erlang',
-              'variable.other.field.erlang' ],
-           regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')(\\s*)(\\.)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')' },
-         { token: 
-            [ 'keyword.operator.record.erlang',
-              'meta.record-usage.erlang',
-              'entity.name.type.class.record.erlang' ],
-           regex: '(#)(\\s*)([a-z][a-zA-Z\\d@_]*|\'[^\']*\')',
-           push: 
-            [ { token: 'punctuation.definition.class.record.end.erlang',
-                regex: '\\}',
-                next: 'pop' },
-              { include: '#internal-record-body' },
-              { defaultToken: 'meta.record-usage.erlang' } ] } ],
-      '#string': 
-       [ { token: 'punctuation.definition.string.begin.erlang',
-           regex: '"',
-           push: 
-            [ { token: 'punctuation.definition.string.end.erlang',
-                regex: '"',
-                next: 'pop' },
-              { token: 
-                 [ 'punctuation.definition.escape.erlang',
-                   'constant.character.escape.erlang',
-                   'punctuation.definition.escape.erlang',
-                   'constant.character.escape.erlang',
-                   'constant.character.escape.erlang' ],
-                regex: '(\\\\)(?:([bdefnrstv\\\\\'"])|(\\^)([@-_])|([0-7]{1,3}))' },
-              { token: 'invalid.illegal.string.erlang', regex: '\\\\\\^?.?' },
-              { token: 
-                 [ 'punctuation.definition.placeholder.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'constant.other.placeholder.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'constant.other.placeholder.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'constant.other.placeholder.erlang',
-                   'constant.other.placeholder.erlang' ],
-                regex: '(~)(?:((?:\\-)?)(\\d+)|(\\*))?(?:(\\.)(?:(\\d+)|(\\*)))?(?:(\\.)(?:(\\*)|(.)))?([~cfegswpWPBX#bx\\+ni])' },
-              { token: 
-                 [ 'punctuation.definition.placeholder.erlang',
-                   'punctuation.separator.placeholder-parts.erlang',
-                   'constant.other.placeholder.erlang',
-                   'constant.other.placeholder.erlang' ],
-                regex: '(~)((?:\\*)?)((?:\\d+)?)([~du\\-#fsacl])' },
-              { token: 'invalid.illegal.string.erlang', regex: '~.?' },
-              { defaultToken: 'string.quoted.double.erlang' } ] } ],
-      '#symbolic-operator': 
-       [ { token: 'keyword.operator.symbolic.erlang',
-           regex: '\\+\\+|\\+|--|-|\\*|/=|/|=/=|=:=|==|=<|=|<-|<|>=|>|!|::' } ],
-      '#textual-operator': 
-       [ { token: 'keyword.operator.textual.erlang',
-           regex: '\\b(?:andalso|band|and|bxor|xor|bor|orelse|or|bnot|not|bsl|bsr|div|rem)\\b' } ],
-      '#tuple': 
-       [ { token: 'punctuation.definition.tuple.begin.erlang',
-           regex: '\\{',
-           push: 
-            [ { token: 'punctuation.definition.tuple.end.erlang',
-                regex: '\\}',
-                next: 'pop' },
-              { token: 'punctuation.separator.tuple.erlang', regex: ',' },
-              { include: '#everything-else' },
-              { defaultToken: 'meta.structure.tuple.erlang' } ] } ],
-      '#variable': 
-       [ { token: [ 'variable.other.erlang', 'variable.language.omitted.erlang' ],
-           regex: '(_[a-zA-Z\\d@_]+|[A-Z][a-zA-Z\\d@_]*)|(_)' } ] }
-    
-    this.normalizeRules();
-};
-
-ErlangHighlightRules.metaData = { comment: 'The recognition of function definitions and compiler directives (such as module, record and macro definitions) requires that each of the aforementioned constructs must be the first string inside a line (except for whitespace).  Also, the function/module/record/macro names must be given unquoted.  -- desp',
-      fileTypes: [ 'erl', 'hrl' ],
-      keyEquivalent: '^~E',
-      name: 'Erlang',
-      scopeName: 'source.erlang' }
-
-
-oop.inherits(ErlangHighlightRules, TextHighlightRules);
-
-exports.ErlangHighlightRules = ErlangHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/erlang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/erlang_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var ErlangHighlightRules = require("./erlang_highlight_rules").ErlangHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = ErlangHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "%";
-    this.blockComment = {start: "/*", end: "*/"};
-    this.$id = "ace/mode/erlang";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 244
services/web/public/js/ace/src/mode-forth.js

@@ -1,244 +0,0 @@
-define("ace/mode/forth_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var ForthHighlightRules = function() {
-
-    this.$rules = { start: [ { include: '#forth' } ],
-      '#comment': 
-       [ { token: 'comment.line.double-dash.forth',
-           regex: '(?:^|\\s)--\\s.*$',
-           comment: 'line comments for iForth' },
-         { token: 'comment.line.backslash.forth',
-           regex: '(?:^|\\s)\\\\[\\s\\S]*$',
-           comment: 'ANSI line comment' },
-         { token: 'comment.line.backslash-g.forth',
-           regex: '(?:^|\\s)\\\\[Gg] .*$',
-           comment: 'gForth line comment' },
-         { token: 'comment.block.forth',
-           regex: '(?:^|\\s)\\(\\*(?=\\s|$)',
-           push: 
-            [ { token: 'comment.block.forth',
-                regex: '(?:^|\\s)\\*\\)(?=\\s|$)',
-                next: 'pop' },
-              { defaultToken: 'comment.block.forth' } ],
-           comment: 'multiline comments for iForth' },
-         { token: 'comment.block.documentation.forth',
-           regex: '\\bDOC\\b',
-           caseInsensitive: true,
-           push: 
-            [ { token: 'comment.block.documentation.forth',
-                regex: '\\bENDDOC\\b',
-                caseInsensitive: true,
-                next: 'pop' },
-              { defaultToken: 'comment.block.documentation.forth' } ],
-           comment: 'documentation comments for iForth' },
-         { token: 'comment.line.parentheses.forth',
-           regex: '(?:^|\\s)\\.?\\( [^)]*\\)',
-           comment: 'ANSI line comment' } ],
-      '#constant': 
-       [ { token: 'constant.language.forth',
-           regex: '(?:^|\\s)(?:TRUE|FALSE|BL|PI|CELL|C/L|R/O|W/O|R/W)(?=\\s|$)',
-           caseInsensitive: true},
-         { token: 'constant.numeric.forth',
-           regex: '(?:^|\\s)[$#%]?[-+]?[0-9]+(?:\\.[0-9]*e-?[0-9]+|\\.?[0-9a-fA-F]*)(?=\\s|$)'},
-         { token: 'constant.character.forth',
-           regex: '(?:^|\\s)(?:[&^]\\S|(?:"|\')\\S(?:"|\'))(?=\\s|$)'}],
-      '#forth': 
-       [ { include: '#constant' },
-         { include: '#comment' },
-         { include: '#string' },
-         { include: '#word' },
-         { include: '#variable' },
-         { include: '#storage' },
-         { include: '#word-def' } ],
-      '#storage': 
-       [ { token: 'storage.type.forth',
-           regex: '(?:^|\\s)(?:2CONSTANT|2VARIABLE|ALIAS|CONSTANT|CREATE-INTERPRET/COMPILE[:]?|CREATE|DEFER|FCONSTANT|FIELD|FVARIABLE|USER|VALUE|VARIABLE|VOCABULARY)(?=\\s|$)',
-           caseInsensitive: true}],
-      '#string': 
-       [ { token: 'string.quoted.double.forth',
-           regex: '(ABORT" |BREAK" |\\." |C" |0"|S\\\\?" )([^"]+")',
-           caseInsensitive: true},
-         { token: 'string.unquoted.forth',
-           regex: '(?:INCLUDE|NEEDS|REQUIRE|USE)[ ]\\S+(?=\\s|$)',
-           caseInsensitive: true}],
-      '#variable': 
-       [ { token: 'variable.language.forth',
-           regex: '\\b(?:I|J)\\b',
-           caseInsensitive: true } ],
-      '#word': 
-       [ { token: 'keyword.control.immediate.forth',
-           regex: '(?:^|\\s)\\[(?:\\?DO|\\+LOOP|AGAIN|BEGIN|DEFINED|DO|ELSE|ENDIF|FOR|IF|IFDEF|IFUNDEF|LOOP|NEXT|REPEAT|THEN|UNTIL|WHILE)\\](?=\\s|$)',
-           caseInsensitive: true},
-         { token: 'keyword.other.immediate.forth',
-           regex: '(?:^|\\s)(?:COMPILE-ONLY|IMMEDIATE|IS|RESTRICT|TO|WHAT\'S|])(?=\\s|$)',
-           caseInsensitive: true},
-         { token: 'keyword.control.compile-only.forth',
-           regex: '(?:^|\\s)(?:-DO|\\-LOOP|\\?DO|\\?LEAVE|\\+DO|\\+LOOP|ABORT\\"|AGAIN|AHEAD|BEGIN|CASE|DO|ELSE|ENDCASE|ENDIF|ENDOF|ENDTRY\\-IFERROR|ENDTRY|FOR|IF|IFERROR|LEAVE|LOOP|NEXT|RECOVER|REPEAT|RESTORE|THEN|TRY|U\\-DO|U\\+DO|UNTIL|WHILE)(?=\\s|$)',
-           caseInsensitive: true},
-         { token: 'keyword.other.compile-only.forth',
-           regex: '(?:^|\\s)(?:\\?DUP-0=-IF|\\?DUP-IF|\\)|\\[|\\[\'\\]|\\[CHAR\\]|\\[COMPILE\\]|\\[IS\\]|\\[TO\\]|<COMPILATION|<INTERPRETATION|ASSERT\\(|ASSERT0\\(|ASSERT1\\(|ASSERT2\\(|ASSERT3\\(|COMPILATION>|DEFERS|DOES>|INTERPRETATION>|OF|POSTPONE)(?=\\s|$)',
-           caseInsensitive: true},
-         { token: 'keyword.other.non-immediate.forth',
-           regex: '(?:^|\\s)(?:\'|<IS>|<TO>|CHAR|END-STRUCT|INCLUDE[D]?|LOAD|NEEDS|REQUIRE[D]?|REVISION|SEE|STRUCT|THRU|USE)(?=\\s|$)',
-           caseInsensitive: true},
-         { token: 'keyword.other.warning.forth',
-           regex: '(?:^|\\s)(?:~~|BREAK:|BREAK"|DBG)(?=\\s|$)',
-           caseInsensitive: true}],
-      '#word-def': 
-       [ { token: 
-            [ 'keyword.other.compile-only.forth',
-              'keyword.other.compile-only.forth',
-              'meta.block.forth',
-              'entity.name.function.forth' ],
-           regex: '(:NONAME)|(^:|\\s:)(\\s)(\\S+)(?=\\s|$)',
-           caseInsensitive: true,
-           push: 
-            [ { token: 'keyword.other.compile-only.forth',
-                regex: ';(?:CODE)?',
-                caseInsensitive: true,
-                next: 'pop' },
-              { include: '#constant' },
-              { include: '#comment' },
-              { include: '#string' },
-              { include: '#word' },
-              { include: '#variable' },
-              { include: '#storage' },
-              { defaultToken: 'meta.block.forth' } ] } ] }
-    
-    this.normalizeRules();
-};
-
-ForthHighlightRules.metaData = { fileTypes: [ 'frt', 'fs', 'ldr' ],
-      foldingStartMarker: '/\\*\\*|\\{\\s*$',
-      foldingStopMarker: '\\*\\*/|^\\s*\\}',
-      keyEquivalent: '^~F',
-      name: 'Forth',
-      scopeName: 'source.forth' }
-
-
-oop.inherits(ForthHighlightRules, TextHighlightRules);
-
-exports.ForthHighlightRules = ForthHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/forth",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/forth_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var ForthHighlightRules = require("./forth_highlight_rules").ForthHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = ForthHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "(?<=^|\\s)\\.?\\( [^)]*\\)";
-    this.blockComment = {start: "/*", end: "*/"};
-    this.$id = "ace/mode/forth";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 6
services/web/public/js/ace/src/mode-ftl.js


+ 0 - 129
services/web/public/js/ace/src/mode-gherkin.js

@@ -1,129 +0,0 @@
-define("ace/mode/gherkin_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var stringEscape =  "\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";
-
-var GherkinHighlightRules = function() {
-    this.$rules = {
-    	start : [{
-            token: 'constant.numeric',
-            regex: "(?:(?:[1-9]\\d*)|(?:0))"
- 		}, {
-    		token : "comment",
-    		regex : "#.*$"
-    	}, {
-    		token : "keyword",
-    		regex : "Feature:|Background:|Scenario:|Scenario\ Outline:|Examples:|Given|When|Then|And|But|\\*",
-    	}, {
-            token : "string",           // multi line """ string start
-            regex : '"{3}',
-            next : "qqstring3"
-        }, {
-            token : "string",           // " string
-            regex : '"',
-            next : "qqstring"
-        }, {
-        	token : "comment",
-        	regex : "@[A-Za-z0-9]+",
-        	next : "start"
-        }, {
-        	token : "comment",
-        	regex : "<.+>"
-        }, {
-        	token : "comment",
-        	regex : "\\| ",
-        	next : "table-item"
-        }, {
-        	token : "comment",
-        	regex : "\\|$",
-        	next : "start"
-        }],
-    	"qqstring3" : [ {
-            token : "constant.language.escape",
-            regex : stringEscape
-        }, {
-            token : "string", // multi line """ string end
-            regex : '"{3}',
-            next : "start"
-        }, {
-            defaultToken : "string"
-        }],
-    	"qqstring" : [{
-            token : "constant.language.escape",
-            regex : stringEscape
-        }, {
-            token : "string",
-            regex : "\\\\$",
-            next  : "qqstring"
-        }, {
-            token : "string",
-            regex : '"|$',
-            next  : "start"
-        }, {
-            defaultToken: "string"
-        }],
-        "table-item" : [{
-            token : "string",
-            regex : "[A-Za-z0-9 ]*",
-            next  : "start"
-        }],
-    };
-    
-}
-
-oop.inherits(GherkinHighlightRules, TextHighlightRules);
-
-exports.GherkinHighlightRules = GherkinHighlightRules;
-});
-
-define("ace/mode/gherkin",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gherkin_highlight_rules"], function(require, exports, module) {
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var GherkinHighlightRules = require("./gherkin_highlight_rules").GherkinHighlightRules;
-
-var Mode = function() {
-    this.HighlightRules = GherkinHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "#";
-    this.$id = "ace/mode/gherkin";
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        var space2 = "  ";
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        
-        console.log(state)
-        
-        if(line.match("[ ]*\\|")) {
-            indent += "| ";
-        }
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-        
-
-        if (state == "start") {
-            if (line.match("Scenario:|Feature:|Scenario\ Outline:|Background:")) {
-                indent += space2;
-            } else if(line.match("(Given|Then).+(:)$|Examples:")) {
-            	indent += space2;
-            } else if(line.match("\\*.+")) {
-            	indent += "* ";
-            } 
-        }
-        
-
-        return indent;
-    };
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 50
services/web/public/js/ace/src/mode-gitignore.js

@@ -1,50 +0,0 @@
-define("ace/mode/gitignore_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var GitignoreHighlightRules = function() {
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : /^\s*#.*$/
-            }, {
-                token : "keyword", // negated patterns
-                regex : /^\s*!.*$/
-            }
-        ]
-    };
-    
-    this.normalizeRules();
-};
-
-GitignoreHighlightRules.metaData = {
-    fileTypes: ['gitignore'],
-    name: 'Gitignore'
-};
-
-oop.inherits(GitignoreHighlightRules, TextHighlightRules);
-
-exports.GitignoreHighlightRules = GitignoreHighlightRules;
-});
-
-define("ace/mode/gitignore",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/gitignore_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var GitignoreHighlightRules = require("./gitignore_highlight_rules").GitignoreHighlightRules;
-
-var Mode = function() {
-    this.HighlightRules = GitignoreHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.$id = "ace/mode/gitignore";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 50
services/web/public/js/ace/src/mode-glsl.js


+ 0 - 701
services/web/public/js/ace/src/mode-golang.js

@@ -1,701 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/golang_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-    var oop = require("../lib/oop");
-    var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-    var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-    var GolangHighlightRules = function() {
-        var keywords = (
-            "else|break|case|return|goto|if|const|select|" +
-            "continue|struct|default|switch|for|range|" +
-            "func|import|package|chan|defer|fallthrough|go|interface|map|range|" +
-            "select|type|var"
-        );
-        var builtinTypes = (
-            "string|uint8|uint16|uint32|uint64|int8|int16|int32|int64|float32|" +
-            "float64|complex64|complex128|byte|rune|uint|int|uintptr|bool|error"
-        );
-        var builtinFunctions = (
-            "make|close|new|panic|recover"
-        );
-        var builtinConstants = ("nil|true|false|iota");
-
-        var keywordMapper = this.createKeywordMapper({
-            "keyword": keywords,
-            "constant.language": builtinConstants,
-            "support.function": builtinFunctions,
-            "support.type": builtinTypes
-        }, "identifier");
-
-        this.$rules = {
-            "start" : [
-                {
-                    token : "comment",
-                    regex : "\\/\\/.*$"
-                },
-                DocCommentHighlightRules.getStartRule("doc-start"),
-                {
-                    token : "comment", // multi line comment
-                    regex : "\\/\\*",
-                    next : "comment"
-                }, {
-                    token : "string", // single line
-                    regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-                }, {
-                    token : "string", // single line
-                    regex : '[`](?:[^`]*)[`]'
-                }, {
-                    token : "string", // multi line string start
-                    merge : true,
-                    regex : '[`](?:[^`]*)$',
-                    next : "bqstring"
-                }, {
-                    token : "constant.numeric", // rune
-                    regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))[']"
-                }, {
-                    token : "constant.numeric", // hex
-                    regex : "0[xX][0-9a-fA-F]+\\b"
-                }, {
-                    token : "constant.numeric", // float
-                    regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-                }, {
-                    token : keywordMapper,
-                    regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-                }, {
-                    token : "keyword.operator",
-                    regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^="
-                }, {
-                    token : "punctuation.operator",
-                    regex : "\\?|\\:|\\,|\\;|\\."
-                }, {
-                    token : "paren.lparen",
-                    regex : "[[({]"
-                }, {
-                    token : "paren.rparen",
-                    regex : "[\\])}]"
-                }, {
-                    token : "text",
-                    regex : "\\s+"
-                }
-            ],
-            "comment" : [
-                {
-                    token : "comment", // closing comment
-                    regex : ".*?\\*\\/",
-                    next : "start"
-                }, {
-                    token : "comment", // comment spanning whole line
-                    regex : ".+"
-                }
-            ],
-            "bqstring" : [
-                {
-                    token : "string",
-                    regex : '(?:[^`]*)`',
-                    next : "start"
-                }, {
-                    token : "string",
-                    regex : '.+'
-                }
-            ]
-        };
-
-        this.embedRules(DocCommentHighlightRules, "doc-",
-            [ DocCommentHighlightRules.getEndRule("start") ]);
-    };
-    oop.inherits(GolangHighlightRules, TextHighlightRules);
-
-    exports.GolangHighlightRules = GolangHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/golang",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/golang_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var GolangHighlightRules = require("./golang_highlight_rules").GolangHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = GolangHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        var endState = tokenizedLine.state;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-        
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };//end getNextLineIndent
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/golang";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 1127
services/web/public/js/ace/src/mode-groovy.js

@@ -1,1127 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JavaScriptHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language":
-            "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|"  + // Constructors
-            "Namespace|QName|XML|XMLList|"                                             + // E4X
-            "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|"   +
-            "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|"                    +
-            "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|"   + // Errors
-            "SyntaxError|TypeError|URIError|"                                          +
-            "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
-            "isNaN|parseFloat|parseInt|"                                               +
-            "JSON|Math|"                                                               + // Other
-            "this|arguments|prototype|window|document"                                 , // Pseudo
-        "keyword":
-            "const|yield|import|get|set|" +
-            "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
-            "if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
-            "__parent__|__count__|escape|unescape|with|__proto__|" +
-            "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
-        "storage.type":
-            "const|let|var|function",
-        "constant.language":
-            "null|Infinity|NaN|undefined",
-        "support.function":
-            "alert",
-        "constant.language.boolean": "true|false"
-    }, "identifier");
-    var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
-    var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";
-
-    var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
-        "u[0-9a-fA-F]{4}|" + // unicode
-        "[0-2][0-7]{0,2}|" + // oct
-        "3[0-6][0-7]?|" + // oct
-        "37[0-7]?|" + // oct
-        "[4-7][0-7]?|" + //oct
-        ".)";
-
-    this.$rules = {
-        "no_regex" : [
-            {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : /\/\*/,
-                next : "comment"
-            }, {
-                token : "string",
-                regex : "'(?=.)",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : '"(?=.)',
-                next  : "qqstring"
-            }, {
-                token : "constant.numeric", // hex
-                regex : /0[xX][0-9a-fA-F]+\b/
-            }, {
-                token : "constant.numeric", // float
-                regex : /[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "support.function",
-                    "punctuation.operator", "entity.name.function", "text","keyword.operator"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "keyword.operator", "text", "storage.type",
-                    "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text",
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "punctuation.operator",
-                    "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "text", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : "keyword",
-                regex : "(?:" + kwBeforeRe + ")\\b",
-                next : "start"
-            }, {
-                token : ["punctuation.operator", "support.function"],
-                regex : /(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.function.dom"],
-                regex : /(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.constant"],
-                regex : /(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
-            }, {
-                token : ["support.constant"],
-                regex : /that\b/
-            }, {
-                token : ["storage.type", "punctuation.operator", "support.function.firebug"],
-                regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
-            }, {
-                token : keywordMapper,
-                regex : identifierRe
-            }, {
-                token : "keyword.operator",
-                regex : /--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,
-                next  : "start"
-            }, {
-                token : "punctuation.operator",
-                regex : /\?|\:|\,|\;|\./,
-                next  : "start"
-            }, {
-                token : "paren.lparen",
-                regex : /[\[({]/,
-                next  : "start"
-            }, {
-                token : "paren.rparen",
-                regex : /[\])}]/
-            }, {
-                token : "keyword.operator",
-                regex : /\/=?/,
-                next  : "start"
-            }, {
-                token: "comment",
-                regex: /^#!.*$/
-            }
-        ],
-        "start": [
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment_regex_allowed"
-            }, {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment_regex_allowed"
-            }, {
-                token: "string.regexp",
-                regex: "\\/",
-                next: "regex"
-            }, {
-                token : "text",
-                regex : "\\s+|^$",
-                next : "start"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "regex": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "string.regexp",
-                regex: "/[sxngimy]*",
-                next: "no_regex"
-            }, {
-                token : "invalid",
-                regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
-            }, {
-                token : "constant.language.escape",
-                regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
-            }, {
-                token : "constant.language.delimiter",
-                regex: /\|/
-            }, {
-                token: "constant.language.escape",
-                regex: /\[\^?/,
-                next: "regex_character_class"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp"
-            }
-        ],
-        "regex_character_class": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "constant.language.escape",
-                regex: "]",
-                next: "regex"
-            }, {
-                token: "constant.language.escape",
-                regex: "-"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp.charachterclass"
-            }
-        ],
-        "function_arguments": [
-            {
-                token: "variable.parameter",
-                regex: identifierRe
-            }, {
-                token: "punctuation.operator",
-                regex: "[, ]+"
-            }, {
-                token: "punctuation.operator",
-                regex: "$"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "comment_regex_allowed" : [
-            {token : "comment", regex : "\\*\\/", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "comment" : [
-            {token : "comment", regex : "\\*\\/", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment_regex_allowed" : [
-            {token : "comment", regex : "$|^", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment" : [
-            {token : "comment", regex : "$|^", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "qqstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qqstring"
-            }, {
-                token : "string",
-                regex : '"|$',
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ],
-        "qstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : "'|$",
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("no_regex") ]);
-};
-
-oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
-
-exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var Range = require("../range").Range;
-var WorkerClient = require("../worker/worker_client").WorkerClient;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = JavaScriptHighlightRules;
-    
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        var endState = tokenizedLine.state;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start" || state == "no_regex") {
-            var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        } else if (state == "doc-start") {
-            if (endState == "start" || endState == "no_regex") {
-                return "";
-            }
-            var match = line.match(/^\s*(\/?)\*/);
-            if (match) {
-                if (match[1]) {
-                    indent += " ";
-                }
-                indent += "* ";
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.createWorker = function(session) {
-        var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
-        worker.attachToDocument(session.getDocument());
-
-        worker.on("jslint", function(results) {
-            session.setAnnotations(results.data);
-        });
-
-        worker.on("terminate", function() {
-            session.clearAnnotations();
-        });
-
-        return worker;
-    };
-
-    this.$id = "ace/mode/javascript";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});
-
-define("ace/mode/groovy_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var GroovyHighlightRules = function() {
-
-    var keywords = (
-        "assert|with|abstract|continue|for|new|switch|" +
-        "assert|default|goto|package|synchronized|" +
-        "boolean|do|if|private|this|" +
-        "break|double|implements|protected|throw|" +
-        "byte|else|import|public|throws|" +
-        "case|enum|instanceof|return|transient|" +
-        "catch|extends|int|short|try|" +
-        "char|final|interface|static|void|" +
-        "class|finally|long|strictfp|volatile|" +
-        "def|float|native|super|while"
-    );
-
-    var buildinConstants = (
-        "null|Infinity|NaN|undefined"
-    );
-
-    var langClasses = (
-        "AbstractMethodError|AssertionError|ClassCircularityError|"+
-        "ClassFormatError|Deprecated|EnumConstantNotPresentException|"+
-        "ExceptionInInitializerError|IllegalAccessError|"+
-        "IllegalThreadStateException|InstantiationError|InternalError|"+
-        "NegativeArraySizeException|NoSuchFieldError|Override|Process|"+
-        "ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|"+
-        "SuppressWarnings|TypeNotPresentException|UnknownError|"+
-        "UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|"+
-        "InstantiationException|IndexOutOfBoundsException|"+
-        "ArrayIndexOutOfBoundsException|CloneNotSupportedException|"+
-        "NoSuchFieldException|IllegalArgumentException|NumberFormatException|"+
-        "SecurityException|Void|InheritableThreadLocal|IllegalStateException|"+
-        "InterruptedException|NoSuchMethodException|IllegalAccessException|"+
-        "UnsupportedOperationException|Enum|StrictMath|Package|Compiler|"+
-        "Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|"+
-        "NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|"+
-        "NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|"+
-        "Character|Boolean|StackTraceElement|Appendable|StringBuffer|"+
-        "Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|"+
-        "StackOverflowError|OutOfMemoryError|VirtualMachineError|"+
-        "ArrayStoreException|ClassCastException|LinkageError|"+
-        "NoClassDefFoundError|ClassNotFoundException|RuntimeException|"+
-        "Exception|ThreadDeath|Error|Throwable|System|ClassLoader|"+
-        "Cloneable|Class|CharSequence|Comparable|String|Object"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language": "this",
-        "keyword": keywords,
-        "support.function": langClasses,
-        "constant.language": buildinConstants
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment"
-            }, {
-                token : "string.regexp",
-                regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
-            }, {
-                token : "string",
-                regex : '"""',
-                next  : "qqstring"
-            }, {
-                token : "string",
-                regex : "'''",
-                next  : "qstring"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "\\?:|\\?\\.|\\*\\.|<=>|=~|==~|\\.@|\\*\\.@|\\.&|as|in|is|!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
-            }, {
-                token : "lparen",
-                regex : "[[({]"
-            }, {
-                token : "rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ],
-        "qqstring" : [
-            {
-                token : "constant.language.escape",
-                regex : /\\(?:u[0-9A-Fa-f]{4}|.|$)/
-            }, {
-                token : "constant.language.escape",
-                regex : /\$[\w\d]+/
-            }, {
-                token : "constant.language.escape",
-                regex : /\$\{[^"\}]+\}?/
-            }, {
-                token : "string",
-                regex : '"{3,5}',
-                next : "start"
-            }, {
-                token : "string",
-                regex : '.+?'
-            }
-        ],
-        "qstring" : [
-            {
-                token : "constant.language.escape",
-                regex : /\\(?:u[0-9A-Fa-f]{4}|.|$)/
-            }, {
-                token : "string",
-                regex : "'{3,5}",
-                next : "start"
-            }, {
-                token : "string",
-                regex : ".+?"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("start") ]);
-};
-
-oop.inherits(GroovyHighlightRules, TextHighlightRules);
-
-exports.GroovyHighlightRules = GroovyHighlightRules;
-});
-
-define("ace/mode/groovy",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/groovy_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var JavaScriptMode = require("./javascript").Mode;
-var GroovyHighlightRules = require("./groovy_highlight_rules").GroovyHighlightRules;
-
-var Mode = function() {
-    JavaScriptMode.call(this);
-    this.HighlightRules = GroovyHighlightRules;
-};
-oop.inherits(Mode, JavaScriptMode);
-
-(function() {
-
-    this.createWorker = function(session) {
-        return null;
-    };
-
-    this.$id = "ace/mode/groovy";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 464
services/web/public/js/ace/src/mode-haml.js

@@ -1,464 +0,0 @@
-define("ace/mode/ruby_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var constantOtherSymbol = exports.constantOtherSymbol = {
-    token : "constant.other.symbol.ruby", // symbol
-    regex : "[:](?:[A-Za-z_]|[@$](?=[a-zA-Z0-9_]))[a-zA-Z0-9_]*[!=?]?"
-};
-
-var qString = exports.qString = {
-    token : "string", // single line
-    regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-};
-
-var qqString = exports.qqString = {
-    token : "string", // single line
-    regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-};
-
-var tString = exports.tString = {
-    token : "string", // backtick string
-    regex : "[`](?:(?:\\\\.)|(?:[^'\\\\]))*?[`]"
-};
-
-var constantNumericHex = exports.constantNumericHex = {
-    token : "constant.numeric", // hex
-    regex : "0[xX][0-9a-fA-F](?:[0-9a-fA-F]|_(?=[0-9a-fA-F]))*\\b"
-};
-
-var constantNumericFloat = exports.constantNumericFloat = {
-    token : "constant.numeric", // float
-    regex : "[+-]?\\d(?:\\d|_(?=\\d))*(?:(?:\\.\\d(?:\\d|_(?=\\d))*)?(?:[eE][+-]?\\d+)?)?\\b"
-};
-
-var RubyHighlightRules = function() {
-
-    var builtinFunctions = (
-        "abort|Array|assert|assert_equal|assert_not_equal|assert_same|assert_not_same|" +
-        "assert_nil|assert_not_nil|assert_match|assert_no_match|assert_in_delta|assert_throws|" +
-        "assert_raise|assert_nothing_raised|assert_instance_of|assert_kind_of|assert_respond_to|" +
-        "assert_operator|assert_send|assert_difference|assert_no_difference|assert_recognizes|" +
-        "assert_generates|assert_response|assert_redirected_to|assert_template|assert_select|" +
-        "assert_select_email|assert_select_rjs|assert_select_encoded|css_select|at_exit|" +
-        "attr|attr_writer|attr_reader|attr_accessor|attr_accessible|autoload|binding|block_given?|callcc|" +
-        "caller|catch|chomp|chomp!|chop|chop!|defined?|delete_via_redirect|eval|exec|exit|" +
-        "exit!|fail|Float|flunk|follow_redirect!|fork|form_for|form_tag|format|gets|global_variables|gsub|" +
-        "gsub!|get_via_redirect|host!|https?|https!|include|Integer|lambda|link_to|" +
-        "link_to_unless_current|link_to_function|link_to_remote|load|local_variables|loop|open|open_session|" +
-        "p|print|printf|proc|putc|puts|post_via_redirect|put_via_redirect|raise|rand|" +
-        "raw|readline|readlines|redirect?|request_via_redirect|require|scan|select|" +
-        "set_trace_func|sleep|split|sprintf|srand|String|stylesheet_link_tag|syscall|system|sub|sub!|test|" +
-        "throw|trace_var|trap|untrace_var|atan2|cos|exp|frexp|ldexp|log|log10|sin|sqrt|tan|" +
-        "render|javascript_include_tag|csrf_meta_tag|label_tag|text_field_tag|submit_tag|check_box_tag|" +
-        "content_tag|radio_button_tag|text_area_tag|password_field_tag|hidden_field_tag|" +
-        "fields_for|select_tag|options_for_select|options_from_collection_for_select|collection_select|" +
-        "time_zone_select|select_date|select_time|select_datetime|date_select|time_select|datetime_select|" +
-        "select_year|select_month|select_day|select_hour|select_minute|select_second|file_field_tag|" +
-        "file_field|respond_to|skip_before_filter|around_filter|after_filter|verify|" +
-        "protect_from_forgery|rescue_from|helper_method|redirect_to|before_filter|" +
-        "send_data|send_file|validates_presence_of|validates_uniqueness_of|validates_length_of|" +
-        "validates_format_of|validates_acceptance_of|validates_associated|validates_exclusion_of|" +
-        "validates_inclusion_of|validates_numericality_of|validates_with|validates_each|" +
-        "authenticate_or_request_with_http_basic|authenticate_or_request_with_http_digest|" +
-        "filter_parameter_logging|match|get|post|resources|redirect|scope|assert_routing|" +
-        "translate|localize|extract_locale_from_tld|caches_page|expire_page|caches_action|expire_action|" +
-        "cache|expire_fragment|expire_cache_for|observe|cache_sweeper|" +
-        "has_many|has_one|belongs_to|has_and_belongs_to_many"
-    );
-
-    var keywords = (
-        "alias|and|BEGIN|begin|break|case|class|def|defined|do|else|elsif|END|end|ensure|" +
-        "__FILE__|finally|for|gem|if|in|__LINE__|module|next|not|or|private|protected|public|" +
-        "redo|rescue|retry|return|super|then|undef|unless|until|when|while|yield"
-    );
-
-    var buildinConstants = (
-        "true|TRUE|false|FALSE|nil|NIL|ARGF|ARGV|DATA|ENV|RUBY_PLATFORM|RUBY_RELEASE_DATE|" +
-        "RUBY_VERSION|STDERR|STDIN|STDOUT|TOPLEVEL_BINDING"
-    );
-
-    var builtinVariables = (
-        "\$DEBUG|\$defout|\$FILENAME|\$LOAD_PATH|\$SAFE|\$stdin|\$stdout|\$stderr|\$VERBOSE|" +
-        "$!|root_url|flash|session|cookies|params|request|response|logger|self"
-    );
-
-    var keywordMapper = this.$keywords = this.createKeywordMapper({
-        "keyword": keywords,
-        "constant.language": buildinConstants,
-        "variable.language": builtinVariables,
-        "support.function": builtinFunctions,
-        "invalid.deprecated": "debugger" // TODO is this a remnant from js mode?
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "#.*$"
-            }, {
-                token : "comment", // multi line comment
-                regex : "^=begin(?:$|\\s.*$)",
-                next : "comment"
-            }, {
-                token : "string.regexp",
-                regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
-            },
-
-            qString,
-            qqString,
-            tString,
-
-            {
-                token : "text", // namespaces aren't symbols
-                regex : "::"
-            }, {
-                token : "variable.instance", // instance variable
-                regex : "@{1,2}[a-zA-Z_\\d]+"
-            }, {
-                token : "support.class", // class name
-                regex : "[A-Z][a-zA-Z_\\d]+"
-            },
-
-            constantOtherSymbol,
-            constantNumericHex,
-            constantNumericFloat,
-
-            {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "punctuation.separator.key-value",
-                regex : "=>"
-            }, {
-                stateName: "heredoc",
-                onMatch : function(value, currentState, stack) {
-                    var next = value[2] == '-' ? "indentedHeredoc" : "heredoc";
-                    var tokens = value.split(this.splitRegex);
-                    stack.push(next, tokens[3]);
-                    return [
-                        {type:"constant", value: tokens[1]},
-                        {type:"string", value: tokens[2]},
-                        {type:"support.class", value: tokens[3]},
-                        {type:"string", value: tokens[4]}
-                    ];
-                },
-                regex : "(<<-?)(['\"`]?)([\\w]+)(['\"`]?)",
-                rules: {
-                    heredoc: [{
-                        onMatch:  function(value, currentState, stack) {
-                            if (value === stack[1]) {
-                                stack.shift();
-                                stack.shift();
-                                this.next = stack[0] || "start";
-                                return "support.class";
-                            }
-                            this.next = "";
-                            return "string";
-                        },
-                        regex: ".*$",
-                        next: "start"
-                    }],
-                    indentedHeredoc: [{
-                        token: "string",
-                        regex: "^ +"
-                    }, {
-                        onMatch:  function(value, currentState, stack) {
-                            if (value === stack[1]) {
-                                stack.shift();
-                                stack.shift();
-                                this.next = stack[0] || "start";
-                                return "support.class";
-                            }
-                            this.next = "";
-                            return "string";
-                        },
-                        regex: ".*$",
-                        next: "start"
-                    }]
-                }
-            }, {
-                regex : "$",
-                token : "empty",
-                next : function(currentState, stack) {
-                    if (stack[0] === "heredoc" || stack[0] === "indentedHeredoc")
-                        return stack[0];
-                    return currentState;
-                }
-            }, {
-                token : "keyword.operator",
-                regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : "^=end(?:$|\\s.*$)",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-
-    this.normalizeRules();
-};
-
-oop.inherits(RubyHighlightRules, TextHighlightRules);
-
-exports.RubyHighlightRules = RubyHighlightRules;
-});
-
-define("ace/mode/haml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/ruby_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var RubyExports = require("./ruby_highlight_rules");
-var RubyHighlightRules = RubyExports.RubyHighlightRules;
-
-var HamlHighlightRules = function() {
-
-    this.$rules = 
-        {
-    "start": [
-        {
-            token : "punctuation.section.comment",
-            regex : /^\s*\/.*/
-        },
-        {
-            token : "punctuation.section.comment",
-            regex : /^\s*#.*/
-        },
-        {
-            token: "string.quoted.double",
-            regex: "==.+?=="
-        },
-        {
-            token: "keyword.other.doctype",
-            regex: "^!!!\\s*(?:[a-zA-Z0-9-_]+)?"
-        },
-        RubyExports.qString,
-        RubyExports.qqString,
-        RubyExports.tString,
-        {
-            token: ["entity.name.tag.haml"],
-            regex: /^\s*%[\w:]+/,
-            next: "tag_single"
-        },
-        {
-            token: [ "meta.escape.haml" ],
-            regex: "^\\s*\\\\."
-        },
-        RubyExports.constantNumericHex,
-        RubyExports.constantNumericFloat,
-        
-        RubyExports.constantOtherSymbol,
-        {
-            token: "text",
-            regex: "=|-|~",
-            next: "embedded_ruby"
-        }
-    ],
-    "tag_single": [
-        {
-            token: "entity.other.attribute-name.class.haml",
-            regex: "\\.[\\w-]+"
-        },
-        {
-            token: "entity.other.attribute-name.id.haml",
-            regex: "#[\\w-]+"
-        },
-        {
-            token: "punctuation.section",
-            regex: "\\{",
-            next: "section"
-        },
-        
-        RubyExports.constantOtherSymbol,
-        
-        {
-            token: "text",
-            regex: /\s/,
-            next: "start"
-        },
-        {
-            token: "empty",
-            regex: "$|(?!\\.|#|\\{|\\[|=|-|~|\\/)",
-            next: "start"
-        }
-    ],
-    "section": [
-        RubyExports.constantOtherSymbol,
-        
-        RubyExports.qString,
-        RubyExports.qqString,
-        RubyExports.tString,
-        
-        RubyExports.constantNumericHex,
-        RubyExports.constantNumericFloat,
-        {
-            token: "punctuation.section",
-            regex: "\\}",
-            next: "start"
-        } 
-    ],
-    "embedded_ruby": [ 
-        RubyExports.constantNumericHex,
-        RubyExports.constantNumericFloat,
-        {
-                token : "support.class", // class name
-                regex : "[A-Z][a-zA-Z_\\d]+"
-        },    
-        {
-            token : new RubyHighlightRules().getKeywords(),
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        },
-        {
-            token : ["keyword", "text", "text"],
-            regex : "(?:do|\\{)(?: \\|[^|]+\\|)?$",
-            next  : "start"
-        }, 
-        {
-            token : ["text"],
-            regex : "^$",
-            next  : "start"
-        }, 
-        {
-            token : ["text"],
-            regex : "^(?!.*\\|\\s*$)",
-            next  : "start"
-        }
-    ]
-}
-
-};
-
-oop.inherits(HamlHighlightRules, TextHighlightRules);
-
-exports.HamlHighlightRules = HamlHighlightRules;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/haml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haml_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var HamlHighlightRules = require("./haml_highlight_rules").HamlHighlightRules;
-var FoldMode = require("./folding/coffee").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = HamlHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = ["//", "#"];
-    
-    this.$id = "ace/mode/haml";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 942
services/web/public/js/ace/src/mode-handlebars.js


+ 0 - 326
services/web/public/js/ace/src/mode-haskell.js

@@ -1,326 +0,0 @@
-define("ace/mode/haskell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var HaskellHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { token: 
-            [ 'punctuation.definition.entity.haskell',
-              'keyword.operator.function.infix.haskell',
-              'punctuation.definition.entity.haskell' ],
-           regex: '(`)([a-zA-Z_\']*?)(`)',
-           comment: 'In case this regex seems unusual for an infix operator, note that Haskell allows any ordinary function application (elem 4 [1..10]) to be rewritten as an infix expression (4 `elem` [1..10]).' },
-         { token: 'constant.language.unit.haskell', regex: '\\(\\)' },
-         { token: 'constant.language.empty-list.haskell',
-           regex: '\\[\\]' },
-         { token: 'keyword.other.haskell',
-           regex: 'module',
-           push: 
-            [ { token: 'keyword.other.haskell', regex: 'where', next: 'pop' },
-              { include: '#module_name' },
-              { include: '#module_exports' },
-              { token: 'invalid', regex: '[a-z]+' },
-              { defaultToken: 'meta.declaration.module.haskell' } ] },
-         { token: 'keyword.other.haskell',
-           regex: '\\bclass\\b',
-           push: 
-            [ { token: 'keyword.other.haskell',
-                regex: '\\bwhere\\b',
-                next: 'pop' },
-              { token: 'support.class.prelude.haskell',
-                regex: '\\b(?:Monad|Functor|Eq|Ord|Read|Show|Num|(?:Frac|Ra)tional|Enum|Bounded|Real(?:Frac|Float)?|Integral|Floating)\\b' },
-              { token: 'entity.other.inherited-class.haskell',
-                regex: '[A-Z][A-Za-z_\']*' },
-              { token: 'variable.other.generic-type.haskell',
-                regex: '\\b[a-z][a-zA-Z0-9_\']*\\b' },
-              { defaultToken: 'meta.declaration.class.haskell' } ] },
-         { token: 'keyword.other.haskell',
-           regex: '\\binstance\\b',
-           push: 
-            [ { token: 'keyword.other.haskell',
-                regex: '\\bwhere\\b|$',
-                next: 'pop' },
-              { include: '#type_signature' },
-              { defaultToken: 'meta.declaration.instance.haskell' } ] },
-         { token: 'keyword.other.haskell',
-           regex: 'import',
-           push: 
-            [ { token: 'meta.import.haskell', regex: '$|;', next: 'pop' },
-              { token: 'keyword.other.haskell', regex: 'qualified|as|hiding' },
-              { include: '#module_name' },
-              { include: '#module_exports' },
-              { defaultToken: 'meta.import.haskell' } ] },
-         { token: [ 'keyword.other.haskell', 'meta.deriving.haskell' ],
-           regex: '(deriving)(\\s*\\()',
-           push: 
-            [ { token: 'meta.deriving.haskell', regex: '\\)', next: 'pop' },
-              { token: 'entity.other.inherited-class.haskell',
-                regex: '\\b[A-Z][a-zA-Z_\']*' },
-              { defaultToken: 'meta.deriving.haskell' } ] },
-         { token: 'keyword.other.haskell',
-           regex: '\\b(?:deriving|where|data|type|case|of|let|in|newtype|default)\\b' },
-         { token: 'keyword.operator.haskell', regex: '\\binfix[lr]?\\b' },
-         { token: 'keyword.control.haskell',
-           regex: '\\b(?:do|if|then|else)\\b' },
-         { token: 'constant.numeric.float.haskell',
-           regex: '\\b(?:[0-9]+\\.[0-9]+(?:[eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b',
-           comment: 'Floats are always decimal' },
-         { token: 'constant.numeric.haskell',
-           regex: '\\b(?:[0-9]+|0(?:[xX][0-9a-fA-F]+|[oO][0-7]+))\\b' },
-         { token: 
-            [ 'meta.preprocessor.c',
-              'punctuation.definition.preprocessor.c',
-              'meta.preprocessor.c' ],
-           regex: '^(\\s*)(#)(\\s*\\w+)',
-           comment: 'In addition to Haskell\'s "native" syntax, GHC permits the C preprocessor to be run on a source file.' },
-         { include: '#pragma' },
-         { token: 'punctuation.definition.string.begin.haskell',
-           regex: '"',
-           push: 
-            [ { token: 'punctuation.definition.string.end.haskell',
-                regex: '"',
-                next: 'pop' },
-              { token: 'constant.character.escape.haskell',
-                regex: '\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\"\'\\&])' },
-              { token: 'constant.character.escape.octal.haskell',
-                regex: '\\\\o[0-7]+|\\\\x[0-9A-Fa-f]+|\\\\[0-9]+' },
-              { token: 'constant.character.escape.control.haskell',
-                regex: '\\^[A-Z@\\[\\]\\\\\\^_]' },
-              { defaultToken: 'string.quoted.double.haskell' } ] },
-         { token: 
-            [ 'punctuation.definition.string.begin.haskell',
-              'string.quoted.single.haskell',
-              'constant.character.escape.haskell',
-              'constant.character.escape.octal.haskell',
-              'constant.character.escape.hexadecimal.haskell',
-              'constant.character.escape.control.haskell',
-              'punctuation.definition.string.end.haskell' ],
-           regex: '(\')(?:([\\ -\\[\\]-~])|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\"\'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))(\')' },
-         { token: 
-            [ 'meta.function.type-declaration.haskell',
-              'entity.name.function.haskell',
-              'meta.function.type-declaration.haskell',
-              'keyword.other.double-colon.haskell' ],
-           regex: '^(\\s*)([a-z_][a-zA-Z0-9_\']*|\\([|!%$+\\-.,=</>]+\\))(\\s*)(::)',
-           push: 
-            [ { token: 'meta.function.type-declaration.haskell',
-                regex: '$',
-                next: 'pop' },
-              { include: '#type_signature' },
-              { defaultToken: 'meta.function.type-declaration.haskell' } ] },
-         { token: 'support.constant.haskell',
-           regex: '\\b(?:Just|Nothing|Left|Right|True|False|LT|EQ|GT|\\(\\)|\\[\\])\\b' },
-         { token: 'constant.other.haskell', regex: '\\b[A-Z]\\w*\\b' },
-         { include: '#comments' },
-         { token: 'support.function.prelude.haskell',
-           regex: '\\b(?:abs|acos|acosh|all|and|any|appendFile|applyM|asTypeOf|asin|asinh|atan|atan2|atanh|break|catch|ceiling|compare|concat|concatMap|const|cos|cosh|curry|cycle|decodeFloat|div|divMod|drop|dropWhile|elem|encodeFloat|enumFrom|enumFromThen|enumFromThenTo|enumFromTo|error|even|exp|exponent|fail|filter|flip|floatDigits|floatRadix|floatRange|floor|fmap|foldl|foldl1|foldr|foldr1|fromEnum|fromInteger|fromIntegral|fromRational|fst|gcd|getChar|getContents|getLine|head|id|init|interact|ioError|isDenormalized|isIEEE|isInfinite|isNaN|isNegativeZero|iterate|last|lcm|length|lex|lines|log|logBase|lookup|map|mapM|mapM_|max|maxBound|maximum|maybe|min|minBound|minimum|mod|negate|not|notElem|null|odd|or|otherwise|pi|pred|print|product|properFraction|putChar|putStr|putStrLn|quot|quotRem|read|readFile|readIO|readList|readLn|readParen|reads|readsPrec|realToFrac|recip|rem|repeat|replicate|return|reverse|round|scaleFloat|scanl|scanl1|scanr|scanr1|seq|sequence|sequence_|show|showChar|showList|showParen|showString|shows|showsPrec|significand|signum|sin|sinh|snd|span|splitAt|sqrt|subtract|succ|sum|tail|take|takeWhile|tan|tanh|toEnum|toInteger|toRational|truncate|uncurry|undefined|unlines|until|unwords|unzip|unzip3|userError|words|writeFile|zip|zip3|zipWith|zipWith3)\\b' },
-         { include: '#infix_op' },
-         { token: 'keyword.operator.haskell',
-           regex: '[|!%$?~+:\\-.=</>\\\\]+',
-           comment: 'In case this regex seems overly general, note that Haskell permits the definition of new operators which can be nearly any string of punctuation characters, such as $%^&*.' },
-         { token: 'punctuation.separator.comma.haskell', regex: ',' } ],
-      '#block_comment': 
-       [ { token: 'punctuation.definition.comment.haskell',
-           regex: '\\{-(?!#)',
-           push: 
-            [ { include: '#block_comment' },
-              { token: 'punctuation.definition.comment.haskell',
-                regex: '-\\}',
-                next: 'pop' },
-              { defaultToken: 'comment.block.haskell' } ] } ],
-      '#comments': 
-       [ { token: 'punctuation.definition.comment.haskell',
-           regex: '--.*',
-           push_: 
-            [ { token: 'comment.line.double-dash.haskell',
-                regex: '$',
-                next: 'pop' },
-              { defaultToken: 'comment.line.double-dash.haskell' } ] },
-         { include: '#block_comment' } ],
-      '#infix_op': 
-       [ { token: 'entity.name.function.infix.haskell',
-           regex: '\\([|!%$+:\\-.=</>]+\\)|\\(,+\\)' } ],
-      '#module_exports': 
-       [ { token: 'meta.declaration.exports.haskell',
-           regex: '\\(',
-           push: 
-            [ { token: 'meta.declaration.exports.haskell',
-                regex: '\\)',
-                next: 'pop' },
-              { token: 'entity.name.function.haskell',
-                regex: '\\b[a-z][a-zA-Z_\']*' },
-              { token: 'storage.type.haskell', regex: '\\b[A-Z][A-Za-z_\']*' },
-              { token: 'punctuation.separator.comma.haskell', regex: ',' },
-              { include: '#infix_op' },
-              { token: 'meta.other.unknown.haskell',
-                regex: '\\(.*?\\)',
-                comment: 'So named because I don\'t know what to call this.' },
-              { defaultToken: 'meta.declaration.exports.haskell' } ] } ],
-      '#module_name': 
-       [ { token: 'support.other.module.haskell',
-           regex: '[A-Z][A-Za-z._\']*' } ],
-      '#pragma': 
-       [ { token: 'meta.preprocessor.haskell',
-           regex: '\\{-#',
-           push: 
-            [ { token: 'meta.preprocessor.haskell',
-                regex: '#-\\}',
-                next: 'pop' },
-              { token: 'keyword.other.preprocessor.haskell',
-                regex: '\\b(?:LANGUAGE|UNPACK|INLINE)\\b' },
-              { defaultToken: 'meta.preprocessor.haskell' } ] } ],
-      '#type_signature': 
-       [ { token: 
-            [ 'meta.class-constraint.haskell',
-              'entity.other.inherited-class.haskell',
-              'meta.class-constraint.haskell',
-              'variable.other.generic-type.haskell',
-              'meta.class-constraint.haskell',
-              'keyword.other.big-arrow.haskell' ],
-           regex: '(\\(\\s*)([A-Z][A-Za-z]*)(\\s+)([a-z][A-Za-z_\']*)(\\)\\s*)(=>)' },
-         { include: '#pragma' },
-         { token: 'keyword.other.arrow.haskell', regex: '->' },
-         { token: 'keyword.other.big-arrow.haskell', regex: '=>' },
-         { token: 'support.type.prelude.haskell',
-           regex: '\\b(?:Int(?:eger)?|Maybe|Either|Bool|Float|Double|Char|String|Ordering|ShowS|ReadS|FilePath|IO(?:Error)?)\\b' },
-         { token: 'variable.other.generic-type.haskell',
-           regex: '\\b[a-z][a-zA-Z0-9_\']*\\b' },
-         { token: 'storage.type.haskell',
-           regex: '\\b[A-Z][a-zA-Z0-9_\']*\\b' },
-         { token: 'support.constant.unit.haskell', regex: '\\(\\)' },
-         { include: '#comments' } ] }
-    
-    this.normalizeRules();
-};
-
-HaskellHighlightRules.metaData = { fileTypes: [ 'hs' ],
-      keyEquivalent: '^~H',
-      name: 'Haskell',
-      scopeName: 'source.haskell' }
-
-
-oop.inherits(HaskellHighlightRules, TextHighlightRules);
-
-exports.HaskellHighlightRules = HaskellHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/haskell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haskell_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var HaskellHighlightRules = require("./haskell_highlight_rules").HaskellHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = HaskellHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "--";
-    this.blockComment = {start: "/*", end: "*/"};
-    this.$id = "ace/mode/haskell";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 687
services/web/public/js/ace/src/mode-haxe.js

@@ -1,687 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/haxe_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var HaxeHighlightRules = function() {
-
-    var keywords = (
-        "break|case|cast|catch|class|continue|default|else|enum|extends|for|function|if|implements|import|in|inline|interface|new|override|package|private|public|return|static|super|switch|this|throw|trace|try|typedef|untyped|var|while|Array|Void|Bool|Int|UInt|Float|Dynamic|String|List|Hash|IntHash|Error|Unknown|Type|Std"
-    );
-
-    var buildinConstants = (
-        "null|true|false"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language": "this",
-        "keyword": keywords,
-        "constant.language": buildinConstants
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment"
-            }, {
-                token : "string.regexp",
-                regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
-            }, {
-                token : "punctuation.operator",
-                regex : "\\?|\\:|\\,|\\;|\\."
-            }, {
-                token : "paren.lparen",
-                regex : "[[({<]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}>]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("start") ]);
-};
-
-oop.inherits(HaxeHighlightRules, TextHighlightRules);
-
-exports.HaxeHighlightRules = HaxeHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/haxe",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/haxe_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var HaxeHighlightRules = require("./haxe_highlight_rules").HaxeHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = HaxeHighlightRules;
-    
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/haxe";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 942
services/web/public/js/ace/src/mode-html.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 6
services/web/public/js/ace/src/mode-html_ruby.js


+ 0 - 154
services/web/public/js/ace/src/mode-ini.js

@@ -1,154 +0,0 @@
-define("ace/mode/ini_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var escapeRe = "\\\\(?:[\\\\0abtrn;#=:]|x[a-fA-F\\d]{4})";
-
-var IniHighlightRules = function() {
-    this.$rules = {
-        start: [{
-            token: 'punctuation.definition.comment.ini',
-            regex: '#.*',
-            push_: [{
-                token: 'comment.line.number-sign.ini',
-                regex: '$|^',
-                next: 'pop'
-            }, {
-                defaultToken: 'comment.line.number-sign.ini'
-            }]
-        }, {
-            token: 'punctuation.definition.comment.ini',
-            regex: ';.*',
-            push_: [{
-                token: 'comment.line.semicolon.ini',
-                regex: '$|^',
-                next: 'pop'
-            }, {
-                defaultToken: 'comment.line.semicolon.ini'
-            }]
-        }, {
-            token: ['keyword.other.definition.ini', 'text', 'punctuation.separator.key-value.ini'],
-            regex: '\\b([a-zA-Z0-9_.-]+)\\b(\\s*)(=)'
-        }, {
-            token: ['punctuation.definition.entity.ini', 'constant.section.group-title.ini', 'punctuation.definition.entity.ini'],
-            regex: '^(\\[)(.*?)(\\])'
-        }, {
-            token: 'punctuation.definition.string.begin.ini',
-            regex: "'",
-            push: [{
-                token: 'punctuation.definition.string.end.ini',
-                regex: "'",
-                next: 'pop'
-            }, {
-                token: "constant.language.escape",
-                regex: escapeRe
-            }, {
-                defaultToken: 'string.quoted.single.ini'
-            }]
-        }, {
-            token: 'punctuation.definition.string.begin.ini',
-            regex: '"',
-            push: [{
-                token: "constant.language.escape",
-                regex: escapeRe
-            }, {
-                token: 'punctuation.definition.string.end.ini',
-                regex: '"',
-                next: 'pop'
-            }, {
-                defaultToken: 'string.quoted.double.ini'
-            }]
-        }]
-    };
-
-    this.normalizeRules();
-};
-
-IniHighlightRules.metaData = {
-    fileTypes: ['ini', 'conf'],
-    keyEquivalent: '^~I',
-    name: 'Ini',
-    scopeName: 'source.ini'
-};
-
-
-oop.inherits(IniHighlightRules, TextHighlightRules);
-
-exports.IniHighlightRules = IniHighlightRules;
-});
-
-define("ace/mode/folding/ini",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function() {
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /^\s*\[([^\])]*)]\s*(?:$|[;#])/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var re = this.foldingStartMarker;
-        var line = session.getLine(row);
-        
-        var m = line.match(re);
-        
-        if (!m) return;
-        
-        var startName = m[1] + ".";
-        
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            if (/^\s*$/.test(line))
-                continue;
-            m = line.match(re);
-            if (m && m[1].lastIndexOf(startName, 0) !== 0)
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/ini",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ini_highlight_rules","ace/mode/folding/ini"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var IniHighlightRules = require("./ini_highlight_rules").IniHighlightRules;
-var FoldMode = require("./folding/ini").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = IniHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = ";";
-    this.blockComment = {start: "/*", end: "*/"};
-    this.$id = "ace/mode/ini";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 652
services/web/public/js/ace/src/mode-jack.js

@@ -1,652 +0,0 @@
-define("ace/mode/jack_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JackHighlightRules = function() {
-    this.$rules = {
-        "start" : [
-            {
-                token : "string",
-                regex : '"',
-                next  : "string2"
-            }, {
-                token : "string",
-                regex : "'",
-                next  : "string1"
-            }, {
-                token : "constant.numeric", // hex
-                regex: "-?0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "(?:0|[-+]?[1-9][0-9]*)\\b"
-            }, {
-                token : "constant.binary",
-                regex : "<[0-9A-Fa-f][0-9A-Fa-f](\\s+[0-9A-Fa-f][0-9A-Fa-f])*>"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : "constant.language.null",
-                regex : "null\\b"
-            }, {
-                token : "storage.type",
-                regex: "(?:Integer|Boolean|Null|String|Buffer|Tuple|List|Object|Function|Coroutine|Form)\\b"
-            }, {
-                token : "keyword",
-                regex : "(?:return|abort|vars|for|delete|in|is|escape|exec|split|and|if|elif|else|while)\\b"
-            }, {
-                token : "language.builtin",
-                regex : "(?:lines|source|parse|read-stream|interval|substr|parseint|write|print|range|rand|inspect|bind|i-values|i-pairs|i-map|i-filter|i-chunk|i-all\\?|i-any\\?|i-collect|i-zip|i-merge|i-each)\\b"
-            }, {
-                token : "comment",
-                regex : "--.*$"
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "storage.form",
-                regex : "@[a-z]+"
-            }, {
-                token : "constant.other.symbol",
-                regex : ':+[a-zA-Z_]([-]?[a-zA-Z0-9_])*[?!]?'
-            }, {
-                token : "variable",
-                regex : '[a-zA-Z_]([-]?[a-zA-Z0-9_])*[?!]?'
-            }, {
-                token : "keyword.operator",
-                regex : "\\|\\||\\^\\^|&&|!=|==|<=|<|>=|>|\\+|-|\\*|\\/|\\^|\\%|\\#|\\!"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "string1" : [
-            {
-                token : "constant.language.escape",
-                regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|['"\\\/bfnrt])/
-            }, {
-                token : "string",
-                regex : "[^'\\\\]+"
-            }, {
-                token : "string",
-                regex : "'",
-                next  : "start"
-            }, {
-                token : "string",
-                regex : "",
-                next  : "start"
-            }
-        ],
-        "string2" : [
-            {
-                token : "constant.language.escape",
-                regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|['"\\\/bfnrt])/
-            }, {
-                token : "string",
-                regex : '[^"\\\\]+'
-            }, {
-                token : "string",
-                regex : '"',
-                next  : "start"
-            }, {
-                token : "string",
-                regex : "",
-                next  : "start"
-            }
-        ]
-    };
-    
-};
-
-oop.inherits(JackHighlightRules, TextHighlightRules);
-
-exports.JackHighlightRules = JackHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/jack",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jack_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var HighlightRules = require("./jack_highlight_rules").JackHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = HighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "--";
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-
-    this.$id = "ace/mode/jack";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 572
services/web/public/js/ace/src/mode-jade.js


+ 0 - 1082
services/web/public/js/ace/src/mode-java.js

@@ -1,1082 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JavaScriptHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language":
-            "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|"  + // Constructors
-            "Namespace|QName|XML|XMLList|"                                             + // E4X
-            "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|"   +
-            "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|"                    +
-            "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|"   + // Errors
-            "SyntaxError|TypeError|URIError|"                                          +
-            "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
-            "isNaN|parseFloat|parseInt|"                                               +
-            "JSON|Math|"                                                               + // Other
-            "this|arguments|prototype|window|document"                                 , // Pseudo
-        "keyword":
-            "const|yield|import|get|set|" +
-            "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
-            "if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
-            "__parent__|__count__|escape|unescape|with|__proto__|" +
-            "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
-        "storage.type":
-            "const|let|var|function",
-        "constant.language":
-            "null|Infinity|NaN|undefined",
-        "support.function":
-            "alert",
-        "constant.language.boolean": "true|false"
-    }, "identifier");
-    var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
-    var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";
-
-    var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
-        "u[0-9a-fA-F]{4}|" + // unicode
-        "[0-2][0-7]{0,2}|" + // oct
-        "3[0-6][0-7]?|" + // oct
-        "37[0-7]?|" + // oct
-        "[4-7][0-7]?|" + //oct
-        ".)";
-
-    this.$rules = {
-        "no_regex" : [
-            {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : /\/\*/,
-                next : "comment"
-            }, {
-                token : "string",
-                regex : "'(?=.)",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : '"(?=.)',
-                next  : "qqstring"
-            }, {
-                token : "constant.numeric", // hex
-                regex : /0[xX][0-9a-fA-F]+\b/
-            }, {
-                token : "constant.numeric", // float
-                regex : /[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "support.function",
-                    "punctuation.operator", "entity.name.function", "text","keyword.operator"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "keyword.operator", "text", "storage.type",
-                    "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text",
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "punctuation.operator",
-                    "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "text", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : "keyword",
-                regex : "(?:" + kwBeforeRe + ")\\b",
-                next : "start"
-            }, {
-                token : ["punctuation.operator", "support.function"],
-                regex : /(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.function.dom"],
-                regex : /(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.constant"],
-                regex : /(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
-            }, {
-                token : ["support.constant"],
-                regex : /that\b/
-            }, {
-                token : ["storage.type", "punctuation.operator", "support.function.firebug"],
-                regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
-            }, {
-                token : keywordMapper,
-                regex : identifierRe
-            }, {
-                token : "keyword.operator",
-                regex : /--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,
-                next  : "start"
-            }, {
-                token : "punctuation.operator",
-                regex : /\?|\:|\,|\;|\./,
-                next  : "start"
-            }, {
-                token : "paren.lparen",
-                regex : /[\[({]/,
-                next  : "start"
-            }, {
-                token : "paren.rparen",
-                regex : /[\])}]/
-            }, {
-                token : "keyword.operator",
-                regex : /\/=?/,
-                next  : "start"
-            }, {
-                token: "comment",
-                regex: /^#!.*$/
-            }
-        ],
-        "start": [
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment_regex_allowed"
-            }, {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment_regex_allowed"
-            }, {
-                token: "string.regexp",
-                regex: "\\/",
-                next: "regex"
-            }, {
-                token : "text",
-                regex : "\\s+|^$",
-                next : "start"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "regex": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "string.regexp",
-                regex: "/[sxngimy]*",
-                next: "no_regex"
-            }, {
-                token : "invalid",
-                regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
-            }, {
-                token : "constant.language.escape",
-                regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
-            }, {
-                token : "constant.language.delimiter",
-                regex: /\|/
-            }, {
-                token: "constant.language.escape",
-                regex: /\[\^?/,
-                next: "regex_character_class"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp"
-            }
-        ],
-        "regex_character_class": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "constant.language.escape",
-                regex: "]",
-                next: "regex"
-            }, {
-                token: "constant.language.escape",
-                regex: "-"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp.charachterclass"
-            }
-        ],
-        "function_arguments": [
-            {
-                token: "variable.parameter",
-                regex: identifierRe
-            }, {
-                token: "punctuation.operator",
-                regex: "[, ]+"
-            }, {
-                token: "punctuation.operator",
-                regex: "$"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "comment_regex_allowed" : [
-            {token : "comment", regex : "\\*\\/", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "comment" : [
-            {token : "comment", regex : "\\*\\/", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment_regex_allowed" : [
-            {token : "comment", regex : "$|^", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment" : [
-            {token : "comment", regex : "$|^", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "qqstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qqstring"
-            }, {
-                token : "string",
-                regex : '"|$',
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ],
-        "qstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : "'|$",
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("no_regex") ]);
-};
-
-oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
-
-exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var Range = require("../range").Range;
-var WorkerClient = require("../worker/worker_client").WorkerClient;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = JavaScriptHighlightRules;
-    
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        var endState = tokenizedLine.state;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start" || state == "no_regex") {
-            var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        } else if (state == "doc-start") {
-            if (endState == "start" || endState == "no_regex") {
-                return "";
-            }
-            var match = line.match(/^\s*(\/?)\*/);
-            if (match) {
-                if (match[1]) {
-                    indent += " ";
-                }
-                indent += "* ";
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.createWorker = function(session) {
-        var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
-        worker.attachToDocument(session.getDocument());
-
-        worker.on("jslint", function(results) {
-            session.setAnnotations(results.data);
-        });
-
-        worker.on("terminate", function() {
-            session.clearAnnotations();
-        });
-
-        return worker;
-    };
-
-    this.$id = "ace/mode/javascript";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});
-
-define("ace/mode/java_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JavaHighlightRules = function() {
-    var keywords = (
-    "abstract|continue|for|new|switch|" +
-    "assert|default|goto|package|synchronized|" +
-    "boolean|do|if|private|this|" +
-    "break|double|implements|protected|throw|" +
-    "byte|else|import|public|throws|" +
-    "case|enum|instanceof|return|transient|" +
-    "catch|extends|int|short|try|" +
-    "char|final|interface|static|void|" +
-    "class|finally|long|strictfp|volatile|" +
-    "const|float|native|super|while"
-    );
-
-    var buildinConstants = ("null|Infinity|NaN|undefined");
-
-
-    var langClasses = (
-        "AbstractMethodError|AssertionError|ClassCircularityError|"+
-        "ClassFormatError|Deprecated|EnumConstantNotPresentException|"+
-        "ExceptionInInitializerError|IllegalAccessError|"+
-        "IllegalThreadStateException|InstantiationError|InternalError|"+
-        "NegativeArraySizeException|NoSuchFieldError|Override|Process|"+
-        "ProcessBuilder|SecurityManager|StringIndexOutOfBoundsException|"+
-        "SuppressWarnings|TypeNotPresentException|UnknownError|"+
-        "UnsatisfiedLinkError|UnsupportedClassVersionError|VerifyError|"+
-        "InstantiationException|IndexOutOfBoundsException|"+
-        "ArrayIndexOutOfBoundsException|CloneNotSupportedException|"+
-        "NoSuchFieldException|IllegalArgumentException|NumberFormatException|"+
-        "SecurityException|Void|InheritableThreadLocal|IllegalStateException|"+
-        "InterruptedException|NoSuchMethodException|IllegalAccessException|"+
-        "UnsupportedOperationException|Enum|StrictMath|Package|Compiler|"+
-        "Readable|Runtime|StringBuilder|Math|IncompatibleClassChangeError|"+
-        "NoSuchMethodError|ThreadLocal|RuntimePermission|ArithmeticException|"+
-        "NullPointerException|Long|Integer|Short|Byte|Double|Number|Float|"+
-        "Character|Boolean|StackTraceElement|Appendable|StringBuffer|"+
-        "Iterable|ThreadGroup|Runnable|Thread|IllegalMonitorStateException|"+
-        "StackOverflowError|OutOfMemoryError|VirtualMachineError|"+
-        "ArrayStoreException|ClassCastException|LinkageError|"+
-        "NoClassDefFoundError|ClassNotFoundException|RuntimeException|"+
-        "Exception|ThreadDeath|Error|Throwable|System|ClassLoader|"+
-        "Cloneable|Class|CharSequence|Comparable|String|Object"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language": "this",
-        "keyword": keywords,
-        "constant.language": buildinConstants,
-        "support.function": langClasses
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "!|\\$|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
-            }, {
-                token : "lparen",
-                regex : "[[({]"
-            }, {
-                token : "rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("start") ]);
-};
-
-oop.inherits(JavaHighlightRules, TextHighlightRules);
-
-exports.JavaHighlightRules = JavaHighlightRules;
-});
-
-define("ace/mode/java",["require","exports","module","ace/lib/oop","ace/mode/javascript","ace/mode/java_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var JavaScriptMode = require("./javascript").Mode;
-var JavaHighlightRules = require("./java_highlight_rules").JavaHighlightRules;
-
-var Mode = function() {
-    JavaScriptMode.call(this);
-    this.HighlightRules = JavaHighlightRules;
-};
-oop.inherits(Mode, JavaScriptMode);
-
-(function() {
-    
-    this.createWorker = function(session) {
-        return null;
-    };
-
-    this.$id = "ace/mode/java";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 935
services/web/public/js/ace/src/mode-javascript.js

@@ -1,935 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JavaScriptHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language":
-            "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|"  + // Constructors
-            "Namespace|QName|XML|XMLList|"                                             + // E4X
-            "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|"   +
-            "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|"                    +
-            "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|"   + // Errors
-            "SyntaxError|TypeError|URIError|"                                          +
-            "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
-            "isNaN|parseFloat|parseInt|"                                               +
-            "JSON|Math|"                                                               + // Other
-            "this|arguments|prototype|window|document"                                 , // Pseudo
-        "keyword":
-            "const|yield|import|get|set|" +
-            "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
-            "if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
-            "__parent__|__count__|escape|unescape|with|__proto__|" +
-            "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
-        "storage.type":
-            "const|let|var|function",
-        "constant.language":
-            "null|Infinity|NaN|undefined",
-        "support.function":
-            "alert",
-        "constant.language.boolean": "true|false"
-    }, "identifier");
-    var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
-    var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";
-
-    var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
-        "u[0-9a-fA-F]{4}|" + // unicode
-        "[0-2][0-7]{0,2}|" + // oct
-        "3[0-6][0-7]?|" + // oct
-        "37[0-7]?|" + // oct
-        "[4-7][0-7]?|" + //oct
-        ".)";
-
-    this.$rules = {
-        "no_regex" : [
-            {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : /\/\*/,
-                next : "comment"
-            }, {
-                token : "string",
-                regex : "'(?=.)",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : '"(?=.)',
-                next  : "qqstring"
-            }, {
-                token : "constant.numeric", // hex
-                regex : /0[xX][0-9a-fA-F]+\b/
-            }, {
-                token : "constant.numeric", // float
-                regex : /[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "support.function",
-                    "punctuation.operator", "entity.name.function", "text","keyword.operator"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "keyword.operator", "text", "storage.type",
-                    "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text",
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "punctuation.operator",
-                    "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "text", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : "keyword",
-                regex : "(?:" + kwBeforeRe + ")\\b",
-                next : "start"
-            }, {
-                token : ["punctuation.operator", "support.function"],
-                regex : /(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.function.dom"],
-                regex : /(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.constant"],
-                regex : /(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
-            }, {
-                token : ["support.constant"],
-                regex : /that\b/
-            }, {
-                token : ["storage.type", "punctuation.operator", "support.function.firebug"],
-                regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
-            }, {
-                token : keywordMapper,
-                regex : identifierRe
-            }, {
-                token : "keyword.operator",
-                regex : /--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,
-                next  : "start"
-            }, {
-                token : "punctuation.operator",
-                regex : /\?|\:|\,|\;|\./,
-                next  : "start"
-            }, {
-                token : "paren.lparen",
-                regex : /[\[({]/,
-                next  : "start"
-            }, {
-                token : "paren.rparen",
-                regex : /[\])}]/
-            }, {
-                token : "keyword.operator",
-                regex : /\/=?/,
-                next  : "start"
-            }, {
-                token: "comment",
-                regex: /^#!.*$/
-            }
-        ],
-        "start": [
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment_regex_allowed"
-            }, {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment_regex_allowed"
-            }, {
-                token: "string.regexp",
-                regex: "\\/",
-                next: "regex"
-            }, {
-                token : "text",
-                regex : "\\s+|^$",
-                next : "start"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "regex": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "string.regexp",
-                regex: "/[sxngimy]*",
-                next: "no_regex"
-            }, {
-                token : "invalid",
-                regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
-            }, {
-                token : "constant.language.escape",
-                regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
-            }, {
-                token : "constant.language.delimiter",
-                regex: /\|/
-            }, {
-                token: "constant.language.escape",
-                regex: /\[\^?/,
-                next: "regex_character_class"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp"
-            }
-        ],
-        "regex_character_class": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "constant.language.escape",
-                regex: "]",
-                next: "regex"
-            }, {
-                token: "constant.language.escape",
-                regex: "-"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp.charachterclass"
-            }
-        ],
-        "function_arguments": [
-            {
-                token: "variable.parameter",
-                regex: identifierRe
-            }, {
-                token: "punctuation.operator",
-                regex: "[, ]+"
-            }, {
-                token: "punctuation.operator",
-                regex: "$"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "comment_regex_allowed" : [
-            {token : "comment", regex : "\\*\\/", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "comment" : [
-            {token : "comment", regex : "\\*\\/", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment_regex_allowed" : [
-            {token : "comment", regex : "$|^", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment" : [
-            {token : "comment", regex : "$|^", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "qqstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qqstring"
-            }, {
-                token : "string",
-                regex : '"|$',
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ],
-        "qstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : "'|$",
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("no_regex") ]);
-};
-
-oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
-
-exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/javascript",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/javascript_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/worker/worker_client","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var Range = require("../range").Range;
-var WorkerClient = require("../worker/worker_client").WorkerClient;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = JavaScriptHighlightRules;
-    
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        var endState = tokenizedLine.state;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start" || state == "no_regex") {
-            var match = line.match(/^.*(?:\bcase\b.*\:|[\{\(\[])\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        } else if (state == "doc-start") {
-            if (endState == "start" || endState == "no_regex") {
-                return "";
-            }
-            var match = line.match(/^\s*(\/?)\*/);
-            if (match) {
-                if (match[1]) {
-                    indent += " ";
-                }
-                indent += "* ";
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.createWorker = function(session) {
-        var worker = new WorkerClient(["ace"], "ace/mode/javascript_worker", "JavaScriptWorker");
-        worker.attachToDocument(session.getDocument());
-
-        worker.on("jslint", function(results) {
-            session.setAnnotations(results.data);
-        });
-
-        worker.on("terminate", function() {
-            session.clearAnnotations();
-        });
-
-        return worker;
-    };
-
-    this.$id = "ace/mode/javascript";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 624
services/web/public/js/ace/src/mode-json.js

@@ -1,624 +0,0 @@
-define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JsonHighlightRules = function() {
-    this.$rules = {
-        "start" : [
-            {
-                token : "variable", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'
-            }, {
-                token : "string", // single line
-                regex : '"',
-                next  : "string"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : "invalid.illegal", // single quoted strings are not allowed
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "invalid.illegal", // comments are not allowed
-                regex : "\\/\\/.*$"
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "string" : [
-            {
-                token : "constant.language.escape",
-                regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/
-            }, {
-                token : "string",
-                regex : '[^"\\\\]+'
-            }, {
-                token : "string",
-                regex : '"',
-                next  : "start"
-            }, {
-                token : "string",
-                regex : "",
-                next  : "start"
-            }
-        ]
-    };
-    
-};
-
-oop.inherits(JsonHighlightRules, TextHighlightRules);
-
-exports.JsonHighlightRules = JsonHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/json",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/json_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle","ace/worker/worker_client"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var HighlightRules = require("./json_highlight_rules").JsonHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-var WorkerClient = require("../worker/worker_client").WorkerClient;
-
-var Mode = function() {
-    this.HighlightRules = HighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.createWorker = function(session) {
-        var worker = new WorkerClient(["ace"], "ace/mode/json_worker", "JsonWorker");
-        worker.attachToDocument(session.getDocument());
-
-        worker.on("error", function(e) {
-            session.setAnnotations([e.data]);
-        });
-
-        worker.on("ok", function() {
-            session.clearAnnotations();
-        });
-
-        return worker;
-    };
-
-
-    this.$id = "ace/mode/json";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 1523
services/web/public/js/ace/src/mode-jsoniq.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 6
services/web/public/js/ace/src/mode-jsp.js


+ 0 - 712
services/web/public/js/ace/src/mode-jsx.js

@@ -1,712 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/jsx_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) {
-var oop = require("../lib/oop");
-var lang = require("../lib/lang");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JsxHighlightRules = function() {
-    var keywords = lang.arrayToMap(
-        ("break|do|instanceof|typeof|case|else|new|var|catch|finally|return|void|continue|for|switch|default|while|function|this|" +
-         "if|throw|" +
-         "delete|in|try|" +
-         "class|extends|super|import|from|into|implements|interface|static|mixin|override|abstract|final|" +
-         "number|int|string|boolean|variant|" +
-         "log|assert").split("|")
-    );
-    
-    var buildinConstants = lang.arrayToMap(
-        ("null|true|false|NaN|Infinity|__FILE__|__LINE__|undefined").split("|")
-    );
-    
-    var reserved = lang.arrayToMap(
-        ("debugger|with|" +
-         "const|export|" +
-         "let|private|public|yield|protected|" +
-         "extern|native|as|operator|__fake__|__readonly__").split("|")
-    );
-    
-    var identifierRe = "[a-zA-Z_][a-zA-Z0-9_]*\\b";
-    
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment"
-            }, {
-                token : "string.regexp",
-                regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : [
-                    "storage.type",
-                    "text",
-                    "entity.name.function"
-                ],
-                regex : "(function)(\\s+)(" + identifierRe + ")"
-            }, {
-                token : function(value) {
-                    if (value == "this")
-                        return "variable.language";
-                    else if (value == "function")
-                        return "storage.type";
-                    else if (keywords.hasOwnProperty(value) || reserved.hasOwnProperty(value))
-                        return "keyword";
-                    else if (buildinConstants.hasOwnProperty(value))
-                        return "constant.language";
-                    else if (/^_?[A-Z][a-zA-Z0-9_]*$/.test(value))
-                        return "language.support.class";
-                    else
-                        return "identifier";
-                },
-                regex : identifierRe
-            }, {
-                token : "keyword.operator",
-                regex : "!|%|&|\\*|\\-\\-|\\-|\\+\\+|\\+|~|==|=|!=|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\\|\\||\\?\\:|\\*=|%=|\\+=|\\-=|&=|\\^=|\\b(?:in|instanceof|new|delete|typeof|void)"
-            }, {
-                token : "punctuation.operator",
-                regex : "\\?|\\:|\\,|\\;|\\."
-            }, {
-                token : "paren.lparen",
-                regex : "[[({<]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}>]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-    
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("start") ]);
-};
-
-oop.inherits(JsxHighlightRules, TextHighlightRules);
-
-exports.JsxHighlightRules = JsxHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/jsx",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/jsx_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var JsxHighlightRules = require("./jsx_highlight_rules").JsxHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-function Mode() {
-    this.HighlightRules = JsxHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-}
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/jsx";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 250
services/web/public/js/ace/src/mode-julia.js

@@ -1,250 +0,0 @@
-define("ace/mode/julia_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JuliaHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { include: '#function_decl' },
-         { include: '#function_call' },
-         { include: '#type_decl' },
-         { include: '#keyword' },
-         { include: '#operator' },
-         { include: '#number' },
-         { include: '#string' },
-         { include: '#comment' } ],
-      '#bracket': 
-       [ { token: 'keyword.bracket.julia',
-           regex: '\\(|\\)|\\[|\\]|\\{|\\}|,' } ],
-      '#comment': 
-       [ { token: 
-            [ 'punctuation.definition.comment.julia',
-              'comment.line.number-sign.julia' ],
-           regex: '(#)(?!\\{)(.*$)'} ],
-      '#function_call': 
-       [ { token: [ 'support.function.julia', 'text' ],
-           regex: '([a-zA-Z0-9_]+!?)([\\w\\xff-\\u218e\\u2455-\\uffff]*\\()'} ],
-      '#function_decl': 
-       [ { token: [ 'keyword.other.julia', 'meta.function.julia',
-               'entity.name.function.julia', 'meta.function.julia','text' ],
-           regex: '(function|macro)(\\s*)([a-zA-Z0-9_\\{]+!?)([\\w\\xff-\\u218e\\u2455-\\uffff]*)([(\\\\{])'} ],
-      '#keyword':
-       [ { token: 'keyword.other.julia',
-           regex: '\\b(?:function|type|immutable|macro|quote|abstract|bitstype|typealias|module|baremodule|new)\\b' },
-         { token: 'keyword.control.julia',
-           regex: '\\b(?:if|else|elseif|while|for|in|begin|let|end|do|try|catch|finally|return|break|continue)\\b' },
-         { token: 'storage.modifier.variable.julia',
-           regex: '\\b(?:global|local|const|export|import|importall|using)\\b' },
-         { token: 'variable.macro.julia', regex: '@[\\w\\xff-\\u218e\\u2455-\\uffff]+\\b' } ],
-      '#number': 
-       [ { token: 'constant.numeric.julia',
-           regex: '\\b0(?:x|X)[0-9a-fA-F]*|(?:\\b[0-9]+\\.?[0-9]*|\\.[0-9]+)(?:(?:e|E)(?:\\+|-)?[0-9]*)?(?:im)?|\\bInf(?:32)?\\b|\\bNaN(?:32)?\\b|\\btrue\\b|\\bfalse\\b' } ],
-      '#operator': 
-       [ { token: 'keyword.operator.update.julia',
-           regex: '=|:=|\\+=|-=|\\*=|/=|//=|\\.//=|\\.\\*=|\\\\=|\\.\\\\=|^=|\\.^=|%=|\\|=|&=|\\$=|<<=|>>=' },
-         { token: 'keyword.operator.ternary.julia', regex: '\\?|:' },
-         { token: 'keyword.operator.boolean.julia',
-           regex: '\\|\\||&&|!' },
-         { token: 'keyword.operator.arrow.julia', regex: '->|<-|-->' },
-         { token: 'keyword.operator.relation.julia',
-           regex: '>|<|>=|<=|==|!=|\\.>|\\.<|\\.>=|\\.>=|\\.==|\\.!=|\\.=|\\.!|<:|:>' },
-         { token: 'keyword.operator.range.julia', regex: ':' },
-         { token: 'keyword.operator.shift.julia', regex: '<<|>>' },
-         { token: 'keyword.operator.bitwise.julia', regex: '\\||\\&|~' },
-         { token: 'keyword.operator.arithmetic.julia',
-           regex: '\\+|-|\\*|\\.\\*|/|\\./|//|\\.//|%|\\.%|\\\\|\\.\\\\|\\^|\\.\\^' },
-         { token: 'keyword.operator.isa.julia', regex: '::' },
-         { token: 'keyword.operator.dots.julia',
-           regex: '\\.(?=[a-zA-Z])|\\.\\.+' },
-         { token: 'keyword.operator.interpolation.julia',
-           regex: '\\$#?(?=.)' },
-         { token: [ 'variable', 'keyword.operator.transposed-variable.julia' ],
-           regex: '([\\w\\xff-\\u218e\\u2455-\\uffff]+)((?:\'|\\.\')*\\.?\')' },
-         { token: 'text',
-           regex: '\\[|\\('},
-         { token: [ 'text', 'keyword.operator.transposed-matrix.julia' ],
-            regex: "([\\]\\)])((?:'|\\.')*\\.?')"} ],
-      '#string': 
-       [ { token: 'punctuation.definition.string.begin.julia',
-           regex: '\'',
-           push: 
-            [ { token: 'punctuation.definition.string.end.julia',
-                regex: '\'',
-                next: 'pop' },
-              { include: '#string_escaped_char' },
-              { defaultToken: 'string.quoted.single.julia' } ] },
-         { token: 'punctuation.definition.string.begin.julia',
-           regex: '"',
-           push: 
-            [ { token: 'punctuation.definition.string.end.julia',
-                regex: '"',
-                next: 'pop' },
-              { include: '#string_escaped_char' },
-              { defaultToken: 'string.quoted.double.julia' } ] },
-         { token: 'punctuation.definition.string.begin.julia',
-           regex: '\\b[\\w\\xff-\\u218e\\u2455-\\uffff]+"',
-           push: 
-            [ { token: 'punctuation.definition.string.end.julia',
-                regex: '"[\\w\\xff-\\u218e\\u2455-\\uffff]*',
-                next: 'pop' },
-              { include: '#string_custom_escaped_char' },
-              { defaultToken: 'string.quoted.custom-double.julia' } ] },
-         { token: 'punctuation.definition.string.begin.julia',
-           regex: '`',
-           push: 
-            [ { token: 'punctuation.definition.string.end.julia',
-                regex: '`',
-                next: 'pop' },
-              { include: '#string_escaped_char' },
-              { defaultToken: 'string.quoted.backtick.julia' } ] } ],
-      '#string_custom_escaped_char': [ { token: 'constant.character.escape.julia', regex: '\\\\"' } ],
-      '#string_escaped_char': 
-       [ { token: 'constant.character.escape.julia',
-           regex: '\\\\(?:\\\\|[0-3]\\d{,2}|[4-7]\\d?|x[a-fA-F0-9]{,2}|u[a-fA-F0-9]{,4}|U[a-fA-F0-9]{,8}|.)' } ],
-      '#type_decl': 
-       [ { token: 
-            [ 'keyword.control.type.julia',
-              'meta.type.julia',
-              'entity.name.type.julia',
-              'entity.other.inherited-class.julia',
-              'punctuation.separator.inheritance.julia',
-              'entity.other.inherited-class.julia' ],
-           regex: '(type|immutable)(\\s+)([a-zA-Z0-9_]+)(?:(\\s*)(<:)(\\s*[.a-zA-Z0-9_:]+))?' },
-         { token: [ 'other.typed-variable.julia', 'support.type.julia' ],
-           regex: '([a-zA-Z0-9_]+)(::[a-zA-Z0-9_{}]+)' } ] }
-    
-    this.normalizeRules();
-};
-
-JuliaHighlightRules.metaData = { fileTypes: [ 'jl' ],
-      firstLineMatch: '^#!.*\\bjulia\\s*$',
-      foldingStartMarker: '^\\s*(?:if|while|for|begin|function|macro|module|baremodule|type|immutable|let)\\b(?!.*\\bend\\b).*$',
-      foldingStopMarker: '^\\s*(?:end)\\b.*$',
-      name: 'Julia',
-      scopeName: 'source.julia' }
-
-
-oop.inherits(JuliaHighlightRules, TextHighlightRules);
-
-exports.JuliaHighlightRules = JuliaHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/julia",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/julia_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var JuliaHighlightRules = require("./julia_highlight_rules").JuliaHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = JuliaHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "#";
-    this.blockComment = "";
-    this.$id = "ace/mode/julia";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 190
services/web/public/js/ace/src/mode-latex.js

@@ -1,190 +0,0 @@
-define("ace/mode/latex_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var LatexHighlightRules = function() {   
-    this.$rules = {
-        "start" : [{
-            token : "keyword",
-            regex : "\\\\(?:[^a-zA-Z]|[a-zA-Z]+)"
-        }, {
-            token : "lparen",
-            regex : "[[({]"
-        }, {
-            token : "rparen",
-            regex : "[\\])}]"
-        }, {
-            token : "string",
-            regex : "\\$(?:(?:\\\\.)|(?:[^\\$\\\\]))*?\\$"
-        }, {
-            token : "comment",
-            regex : "%.*$"
-        }]
-    };
-};
-
-oop.inherits(LatexHighlightRules, TextHighlightRules);
-
-exports.LatexHighlightRules = LatexHighlightRules;
-
-});
-
-define("ace/mode/folding/latex",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-
-var FoldMode = exports.FoldMode = function() {};
-
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /^\s*\\(begin)|(section|subsection)\b|{\s*$/;
-    this.foldingStopMarker = /^\s*\\(end)\b|^\s*}/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var line = session.doc.getLine(row);
-        var match = this.foldingStartMarker.exec(line);
-        if (match) {
-            if (match[1])
-                return this.latexBlock(session, row, match[0].length - 1);
-            if (match[2])
-                return this.latexSection(session, row, match[0].length - 1);
-
-            return this.openingBracketBlock(session, "{", row, match.index);
-        }
-
-        var match = this.foldingStopMarker.exec(line);
-        if (match) {
-            if (match[1])
-                return this.latexBlock(session, row, match[0].length - 1);
-
-            return this.closingBracketBlock(session, "}", row, match.index + match[0].length);
-        }
-    };
-
-    this.latexBlock = function(session, row, column) {
-        var keywords = {
-            "\\begin": 1,
-            "\\end": -1
-        };
-
-        var stream = new TokenIterator(session, row, column);
-        var token = stream.getCurrentToken();
-        if (!token || token.type !== "keyword")
-            return;
-
-        var val = token.value;
-        var dir = keywords[val];
-
-        var getType = function() {
-            var token = stream.stepForward();
-            var type = token.type == "lparen" ?stream.stepForward().value : "";
-            if (dir === -1) {
-                stream.stepBackward();
-                if (type)
-                    stream.stepBackward();
-            }
-            return type;
-        };
-        var stack = [getType()];
-        var startColumn = dir === -1 ? stream.getCurrentTokenColumn() : session.getLine(row).length;
-        var startRow = row;
-
-        stream.step = dir === -1 ? stream.stepBackward : stream.stepForward;
-        while(token = stream.step()) {
-            if (token.type !== "keyword")
-                continue;
-            var level = keywords[token.value];
-            if (!level)
-                continue;
-            var type = getType();
-            if (level === dir)
-                stack.unshift(type);
-            else if (stack.shift() !== type || !stack.length)
-                break;
-        }
-
-        if (stack.length)
-            return;
-
-        var row = stream.getCurrentTokenRow();
-        if (dir === -1)
-            return new Range(row, session.getLine(row).length, startRow, startColumn);
-        stream.stepBackward();
-        return new Range(startRow, startColumn, row, stream.getCurrentTokenColumn());
-    };
-
-    this.latexSection = function(session, row, column) {
-        var keywords = ["\\subsection", "\\section", "\\begin", "\\end"];
-
-        var stream = new TokenIterator(session, row, column);
-        var token = stream.getCurrentToken();
-        if (!token || token.type != "keyword")
-            return;
-
-        var startLevel = keywords.indexOf(token.value);
-        var stackDepth = 0
-        var endRow = row;
-
-        while(token = stream.stepForward()) {
-            if (token.type !== "keyword")
-                continue;
-            var level = keywords.indexOf(token.value);
-
-            if (level >= 2) {
-                if (!stackDepth)
-                    endRow = stream.getCurrentTokenRow() - 1;
-                stackDepth += level == 2 ? 1 : - 1;
-                if (stackDepth < 0)
-                    break
-            } else if (level >= startLevel)
-                break;
-        }
-
-        if (!stackDepth)
-            endRow = stream.getCurrentTokenRow() - 1;
-
-        while (endRow > row && !/\S/.test(session.getLine(endRow)))
-            endRow--;
-
-        return new Range(
-            row, session.getLine(row).length,
-            endRow, session.getLine(endRow).length
-        );
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/latex",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/latex_highlight_rules","ace/mode/folding/latex","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var LatexHighlightRules = require("./latex_highlight_rules").LatexHighlightRules;
-var LatexFoldMode = require("./folding/latex").FoldMode;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = LatexHighlightRules;
-    this.foldingRules = new LatexFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "%";
-
-    this.$id = "ace/mode/latex";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

+ 0 - 853
services/web/public/js/ace/src/mode-less.js

@@ -1,853 +0,0 @@
-define("ace/mode/less_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var lang = require("../lib/lang");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var LessHighlightRules = function() {
-    
-    var properties = lang.arrayToMap( (function () {
-
-        var browserPrefix = ("-webkit-|-moz-|-o-|-ms-|-svg-|-pie-|-khtml-").split("|");
-        
-        var prefixProperties = ("appearance|background-clip|background-inline-policy|background-origin|" + 
-             "background-size|binding|border-bottom-colors|border-left-colors|" + 
-             "border-right-colors|border-top-colors|border-end|border-end-color|" + 
-             "border-end-style|border-end-width|border-image|border-start|" + 
-             "border-start-color|border-start-style|border-start-width|box-align|" + 
-             "box-direction|box-flex|box-flexgroup|box-ordinal-group|box-orient|" + 
-             "box-pack|box-sizing|column-count|column-gap|column-width|column-rule|" + 
-             "column-rule-width|column-rule-style|column-rule-color|float-edge|" + 
-             "font-feature-settings|font-language-override|force-broken-image-icon|" + 
-             "image-region|margin-end|margin-start|opacity|outline|outline-color|" + 
-             "outline-offset|outline-radius|outline-radius-bottomleft|" + 
-             "outline-radius-bottomright|outline-radius-topleft|outline-radius-topright|" + 
-             "outline-style|outline-width|padding-end|padding-start|stack-sizing|" + 
-             "tab-size|text-blink|text-decoration-color|text-decoration-line|" + 
-             "text-decoration-style|transform|transform-origin|transition|" + 
-             "transition-delay|transition-duration|transition-property|" + 
-             "transition-timing-function|user-focus|user-input|user-modify|user-select|" +
-             "window-shadow|border-radius").split("|");
-        
-        var properties = ("azimuth|background-attachment|background-color|background-image|" +
-            "background-position|background-repeat|background|border-bottom-color|" +
-            "border-bottom-style|border-bottom-width|border-bottom|border-collapse|" +
-            "border-color|border-left-color|border-left-style|border-left-width|" +
-            "border-left|border-right-color|border-right-style|border-right-width|" +
-            "border-right|border-spacing|border-style|border-top-color|" +
-            "border-top-style|border-top-width|border-top|border-width|border|" +
-            "bottom|box-sizing|caption-side|clear|clip|color|content|counter-increment|" +
-            "counter-reset|cue-after|cue-before|cue|cursor|direction|display|" +
-            "elevation|empty-cells|float|font-family|font-size-adjust|font-size|" +
-            "font-stretch|font-style|font-variant|font-weight|font|height|left|" +
-            "letter-spacing|line-height|list-style-image|list-style-position|" +
-            "list-style-type|list-style|margin-bottom|margin-left|margin-right|" +
-            "margin-top|marker-offset|margin|marks|max-height|max-width|min-height|" +
-            "min-width|opacity|orphans|outline-color|" +
-            "outline-style|outline-width|outline|overflow|overflow-x|overflow-y|padding-bottom|" +
-            "padding-left|padding-right|padding-top|padding|page-break-after|" +
-            "page-break-before|page-break-inside|page|pause-after|pause-before|" +
-            "pause|pitch-range|pitch|play-during|position|quotes|richness|right|" +
-            "size|speak-header|speak-numeral|speak-punctuation|speech-rate|speak|" +
-            "stress|table-layout|text-align|text-decoration|text-indent|" +
-            "text-shadow|text-transform|top|unicode-bidi|vertical-align|" +
-            "visibility|voice-family|volume|white-space|widows|width|word-spacing|" +
-            "z-index").split("|");
-        var ret = [];
-        for (var i=0, ln=browserPrefix.length; i<ln; i++) {
-            Array.prototype.push.apply(
-                ret,
-                (( browserPrefix[i] + prefixProperties.join("|" + browserPrefix[i]) ).split("|"))
-            );
-        }
-        Array.prototype.push.apply(ret, prefixProperties);
-        Array.prototype.push.apply(ret, properties);
-        
-        return ret;
-        
-    })() );
-    
-
-
-    var functions = lang.arrayToMap(
-        ("hsl|hsla|rgb|rgba|url|attr|counter|counters|lighten|darken|saturate|" +
-        "desaturate|fadein|fadeout|fade|spin|mix|hue|saturation|lightness|" +
-        "alpha|round|ceil|floor|percentage|color|iscolor|isnumber|isstring|" +
-        "iskeyword|isurl|ispixel|ispercentage|isem").split("|")
-    );
-
-    var constants = lang.arrayToMap(
-        ("absolute|all-scroll|always|armenian|auto|baseline|below|bidi-override|" +
-        "block|bold|bolder|border-box|both|bottom|break-all|break-word|capitalize|center|" +
-        "char|circle|cjk-ideographic|col-resize|collapse|content-box|crosshair|dashed|" +
-        "decimal-leading-zero|decimal|default|disabled|disc|" +
-        "distribute-all-lines|distribute-letter|distribute-space|" +
-        "distribute|dotted|double|e-resize|ellipsis|fixed|georgian|groove|" +
-        "hand|hebrew|help|hidden|hiragana-iroha|hiragana|horizontal|" +
-        "ideograph-alpha|ideograph-numeric|ideograph-parenthesis|" +
-        "ideograph-space|inactive|inherit|inline-block|inline|inset|inside|" +
-        "inter-ideograph|inter-word|italic|justify|katakana-iroha|katakana|" +
-        "keep-all|left|lighter|line-edge|line-through|line|list-item|loose|" +
-        "lower-alpha|lower-greek|lower-latin|lower-roman|lowercase|lr-tb|ltr|" +
-        "medium|middle|move|n-resize|ne-resize|newspaper|no-drop|no-repeat|" +
-        "nw-resize|none|normal|not-allowed|nowrap|oblique|outset|outside|" +
-        "overline|pointer|progress|relative|repeat-x|repeat-y|repeat|right|" +
-        "ridge|row-resize|rtl|s-resize|scroll|se-resize|separate|small-caps|" +
-        "solid|square|static|strict|super|sw-resize|table-footer-group|" +
-        "table-header-group|tb-rl|text-bottom|text-top|text|thick|thin|top|" +
-        "transparent|underline|upper-alpha|upper-latin|upper-roman|uppercase|" +
-        "vertical-ideographic|vertical-text|visible|w-resize|wait|whitespace|" +
-        "zero").split("|")
-    );
-
-    var colors = lang.arrayToMap(
-        ("aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|" +
-        "purple|red|silver|teal|white|yellow").split("|")
-    );
-    
-    var keywords = lang.arrayToMap(
-        ("@mixin|@extend|@include|@import|@media|@debug|@warn|@if|@for|@each|" +
-        "@while|@else|@font-face|@-webkit-keyframes|if|and|!default|module|" +
-        "def|end|declare|when|not|and").split("|")
-    );
-    
-    var tags = lang.arrayToMap(
-        ("a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdo|" + 
-         "big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|" + 
-         "command|datalist|dd|del|details|dfn|dir|div|dl|dt|em|embed|fieldset|" + 
-         "figcaption|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|" + 
-         "header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|li|" + 
-         "link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|" + 
-         "option|output|p|param|pre|progress|q|rp|rt|ruby|s|samp|script|section|select|" + 
-         "small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|" + 
-         "textarea|tfoot|th|thead|time|title|tr|tt|u|ul|var|video|wbr|xmp").split("|")
-    );
-
-    var numRe = "\\-?(?:(?:[0-9]+)|(?:[0-9]*\\.[0-9]+))";
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "\\/\\/.*$"
-            },
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "constant.numeric",
-                regex : numRe + "(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)"
-            }, {
-                token : "constant.numeric", // hex6 color
-                regex : "#[a-f0-9]{6}"
-            }, {
-                token : "constant.numeric", // hex3 color
-                regex : "#[a-f0-9]{3}"
-            }, {
-                token : "constant.numeric",
-                regex : numRe
-            }, {
-                token : function(value) {
-                    if (keywords.hasOwnProperty(value))
-                        return "keyword";
-                    else
-                        return "variable";
-                },
-                regex : "@[a-z0-9_\\-@]*\\b"
-            }, {
-                token : function(value) {
-                    if (properties.hasOwnProperty(value.toLowerCase()))
-                        return "support.type";
-                    else if (keywords.hasOwnProperty(value))
-                        return "keyword";
-                    else if (constants.hasOwnProperty(value))
-                        return "constant.language";
-                    else if (functions.hasOwnProperty(value))
-                        return "support.function";
-                    else if (colors.hasOwnProperty(value.toLowerCase()))
-                        return "support.constant.color";
-                    else if (tags.hasOwnProperty(value.toLowerCase()))
-                        return "variable.language";
-                    else
-                        return "text";
-                },
-                regex : "\\-?[@a-z_][@a-z0-9_\\-]*"
-            }, {
-                token: "variable.language",
-                regex: "#[a-z0-9-_]+"
-            }, {
-                token: "variable.language",
-                regex: "\\.[a-z0-9-_]+"
-            }, {
-                token: "variable.language",
-                regex: ":[a-z0-9-_]+"
-            }, {
-                token: "constant",
-                regex: "[a-z0-9-_]+"
-            }, {
-                token : "keyword.operator",
-                regex : "<|>|<=|>=|==|!=|-|%|#|\\+|\\$|\\+|\\*"
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }, {
-                caseInsensitive: true
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-};
-
-oop.inherits(LessHighlightRules, TextHighlightRules);
-
-exports.LessHighlightRules = LessHighlightRules;
-
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/behaviour/css",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/mode/behaviour/cstyle","ace/token_iterator"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var CstyleBehaviour = require("./cstyle").CstyleBehaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-
-var CssBehaviour = function () {
-
-    this.inherit(CstyleBehaviour);
-
-    this.add("colon", "insertion", function (state, action, editor, session, text) {
-        if (text === ':') {
-            var cursor = editor.getCursorPosition();
-            var iterator = new TokenIterator(session, cursor.row, cursor.column);
-            var token = iterator.getCurrentToken();
-            if (token && token.value.match(/\s+/)) {
-                token = iterator.stepBackward();
-            }
-            if (token && token.type === 'support.type') {
-                var line = session.doc.getLine(cursor.row);
-                var rightChar = line.substring(cursor.column, cursor.column + 1);
-                if (rightChar === ':') {
-                    return {
-                       text: '',
-                       selection: [1, 1]
-                    }
-                }
-                if (!line.substring(cursor.column).match(/^\s*;/)) {
-                    return {
-                       text: ':;',
-                       selection: [1, 1]
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("colon", "deletion", function (state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected === ':') {
-            var cursor = editor.getCursorPosition();
-            var iterator = new TokenIterator(session, cursor.row, cursor.column);
-            var token = iterator.getCurrentToken();
-            if (token && token.value.match(/\s+/)) {
-                token = iterator.stepBackward();
-            }
-            if (token && token.type === 'support.type') {
-                var line = session.doc.getLine(range.start.row);
-                var rightChar = line.substring(range.end.column, range.end.column + 1);
-                if (rightChar === ';') {
-                    range.end.column ++;
-                    return range;
-                }
-            }
-        }
-    });
-
-    this.add("semicolon", "insertion", function (state, action, editor, session, text) {
-        if (text === ';') {
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === ';') {
-                return {
-                   text: '',
-                   selection: [1, 1]
-                }
-            }
-        }
-    });
-
-}
-oop.inherits(CssBehaviour, CstyleBehaviour);
-
-exports.CssBehaviour = CssBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/less",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/less_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/css","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var LessHighlightRules = require("./less_highlight_rules").LessHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CssBehaviour = require("./behaviour/css").CssBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = LessHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CssBehaviour();
-    this.foldingRules = new CStyleFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        var tokens = this.getTokenizer().getLineTokens(line, state).tokens;
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        var match = line.match(/^.*\{\s*$/);
-        if (match) {
-            indent += tab;
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/less";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 6
services/web/public/js/ace/src/mode-liquid.js


+ 0 - 104
services/web/public/js/ace/src/mode-lisp.js

@@ -1,104 +0,0 @@
-define("ace/mode/lisp_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var LispHighlightRules = function() {
-    var keywordControl = "case|do|let|loop|if|else|when";
-    var keywordOperator = "eq|neq|and|or";
-    var constantLanguage = "null|nil";
-    var supportFunctions = "cons|car|cdr|cond|lambda|format|setq|setf|quote|eval|append|list|listp|memberp|t|load|progn";
-
-    var keywordMapper = this.createKeywordMapper({
-        "keyword.control": keywordControl,
-        "keyword.operator": keywordOperator,
-        "constant.language": constantLanguage,
-        "support.function": supportFunctions
-    }, "identifier", true);
-
-    this.$rules = 
-        {
-    "start": [
-        {
-            token : "comment",
-            regex : ";.*$"
-        },
-        {
-            token: ["storage.type.function-type.lisp", "text", "entity.name.function.lisp"],
-            regex: "(?:\\b(?:(defun|defmethod|defmacro))\\b)(\\s+)((?:\\w|\\-|\\!|\\?)*)"
-        },
-        {
-            token: ["punctuation.definition.constant.character.lisp", "constant.character.lisp"],
-            regex: "(#)((?:\\w|[\\\\+-=<>'\"&#])+)"
-        },
-        {
-            token: ["punctuation.definition.variable.lisp", "variable.other.global.lisp", "punctuation.definition.variable.lisp"],
-            regex: "(\\*)(\\S*)(\\*)"
-        },
-        {
-            token : "constant.numeric", // hex
-            regex : "0[xX][0-9a-fA-F]+(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"
-        }, 
-        {
-            token : "constant.numeric", // float
-            regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?(?:L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b"
-        },
-        {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        },
-        {
-            token : "string",
-            regex : '"(?=.)',
-            next  : "qqstring"
-        }
-    ],
-    "qqstring": [
-        {
-            token: "constant.character.escape.lisp",
-            regex: "\\\\."
-        },
-        {
-            token : "string",
-            regex : '[^"\\\\]+'
-        }, {
-            token : "string",
-            regex : "\\\\$",
-            next  : "qqstring"
-        }, {
-            token : "string",
-            regex : '"|$',
-            next  : "start"
-        }
-    ]
-}
-
-};
-
-oop.inherits(LispHighlightRules, TextHighlightRules);
-
-exports.LispHighlightRules = LispHighlightRules;
-});
-
-define("ace/mode/lisp",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lisp_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var LispHighlightRules = require("./lisp_highlight_rules").LispHighlightRules;
-
-var Mode = function() {
-    this.HighlightRules = LispHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-       
-    this.lineCommentStart = ";";
-    
-    this.$id = "ace/mode/lisp";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 289
services/web/public/js/ace/src/mode-livescript.js

@@ -1,289 +0,0 @@
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/livescript",["require","exports","module","ace/tokenizer","ace/mode/matching_brace_outdent","ace/range","ace/mode/text"], function(require, exports, module){
-  var identifier, LiveScriptMode, keywordend, stringfill;
-  identifier = '(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*';
-  exports.Mode = LiveScriptMode = (function(superclass){
-    var indenter, prototype = extend$((import$(LiveScriptMode, superclass).displayName = 'LiveScriptMode', LiveScriptMode), superclass).prototype, constructor = LiveScriptMode;
-    function LiveScriptMode(){
-      var that;
-      this.$tokenizer = new (require('../tokenizer')).Tokenizer(LiveScriptMode.Rules);
-      if (that = require('../mode/matching_brace_outdent')) {
-        this.$outdent = new that.MatchingBraceOutdent;
-      }
-      this.$id = "ace/mode/livescript";
-    }
-    indenter = RegExp('(?:[({[=:]|[-~]>|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*' + identifier + ')?))\\s*$');
-    prototype.getNextLineIndent = function(state, line, tab){
-      var indent, tokens;
-      indent = this.$getIndent(line);
-      tokens = this.$tokenizer.getLineTokens(line, state).tokens;
-      if (!(tokens.length && tokens[tokens.length - 1].type === 'comment')) {
-        if (state === 'start' && indenter.test(line)) {
-          indent += tab;
-        }
-      }
-      return indent;
-    };
-    prototype.toggleCommentLines = function(state, doc, startRow, endRow){
-      var comment, range, i$, i, out, line;
-      comment = /^(\s*)#/;
-      range = new (require('../range')).Range(0, 0, 0, 0);
-      for (i$ = startRow; i$ <= endRow; ++i$) {
-        i = i$;
-        if (out = comment.test(line = doc.getLine(i))) {
-          line = line.replace(comment, '$1');
-        } else {
-          line = line.replace(/^\s*/, '$&#');
-        }
-        range.end.row = range.start.row = i;
-        range.end.column = line.length + 1;
-        doc.replace(range, line);
-      }
-      return 1 - out * 2;
-    };
-    prototype.checkOutdent = function(state, line, input){
-      var ref$;
-      return (ref$ = this.$outdent) != null ? ref$.checkOutdent(line, input) : void 8;
-    };
-    prototype.autoOutdent = function(state, doc, row){
-      var ref$;
-      return (ref$ = this.$outdent) != null ? ref$.autoOutdent(doc, row) : void 8;
-    };
-    return LiveScriptMode;
-  }(require('../mode/text').Mode));
-  keywordend = '(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))';
-  stringfill = {
-    token: 'string',
-    regex: '.+'
-  };
-  LiveScriptMode.Rules = {
-    start: [
-      {
-        token: 'keyword',
-        regex: '(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)' + keywordend
-      }, {
-        token: 'constant.language',
-        regex: '(?:true|false|yes|no|on|off|null|void|undefined)' + keywordend
-      }, {
-        token: 'invalid.illegal',
-        regex: '(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)' + keywordend
-      }, {
-        token: 'language.support.class',
-        regex: '(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)' + keywordend
-      }, {
-        token: 'language.support.function',
-        regex: '(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)' + keywordend
-      }, {
-        token: 'variable.language',
-        regex: '(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)' + keywordend
-      }, {
-        token: 'identifier',
-        regex: identifier + '\\s*:(?![:=])'
-      }, {
-        token: 'variable',
-        regex: identifier
-      }, {
-        token: 'keyword.operator',
-        regex: '(?:\\.{3}|\\s+\\?)'
-      }, {
-        token: 'keyword.variable',
-        regex: '(?:@+|::|\\.\\.)',
-        next: 'key'
-      }, {
-        token: 'keyword.operator',
-        regex: '\\.\\s*',
-        next: 'key'
-      }, {
-        token: 'string',
-        regex: '\\\\\\S[^\\s,;)}\\]]*'
-      }, {
-        token: 'string.doc',
-        regex: '\'\'\'',
-        next: 'qdoc'
-      }, {
-        token: 'string.doc',
-        regex: '"""',
-        next: 'qqdoc'
-      }, {
-        token: 'string',
-        regex: '\'',
-        next: 'qstring'
-      }, {
-        token: 'string',
-        regex: '"',
-        next: 'qqstring'
-      }, {
-        token: 'string',
-        regex: '`',
-        next: 'js'
-      }, {
-        token: 'string',
-        regex: '<\\[',
-        next: 'words'
-      }, {
-        token: 'string.regex',
-        regex: '//',
-        next: 'heregex'
-      }, {
-        token: 'comment.doc',
-        regex: '/\\*',
-        next: 'comment'
-      }, {
-        token: 'comment',
-        regex: '#.*'
-      }, {
-        token: 'string.regex',
-        regex: '\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}',
-        next: 'key'
-      }, {
-        token: 'constant.numeric',
-        regex: '(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)'
-      }, {
-        token: 'lparen',
-        regex: '[({[]'
-      }, {
-        token: 'rparen',
-        regex: '[)}\\]]',
-        next: 'key'
-      }, {
-        token: 'keyword.operator',
-        regex: '\\S+'
-      }, {
-        token: 'text',
-        regex: '\\s+'
-      }
-    ],
-    heregex: [
-      {
-        token: 'string.regex',
-        regex: '.*?//[gimy$?]{0,4}',
-        next: 'start'
-      }, {
-        token: 'string.regex',
-        regex: '\\s*#{'
-      }, {
-        token: 'comment.regex',
-        regex: '\\s+(?:#.*)?'
-      }, {
-        token: 'string.regex',
-        regex: '\\S+'
-      }
-    ],
-    key: [
-      {
-        token: 'keyword.operator',
-        regex: '[.?@!]+'
-      }, {
-        token: 'identifier',
-        regex: identifier,
-        next: 'start'
-      }, {
-        token: 'text',
-        regex: '.',
-        next: 'start'
-      }
-    ],
-    comment: [
-      {
-        token: 'comment.doc',
-        regex: '.*?\\*/',
-        next: 'start'
-      }, {
-        token: 'comment.doc',
-        regex: '.+'
-      }
-    ],
-    qdoc: [
-      {
-        token: 'string',
-        regex: ".*?'''",
-        next: 'key'
-      }, stringfill
-    ],
-    qqdoc: [
-      {
-        token: 'string',
-        regex: '.*?"""',
-        next: 'key'
-      }, stringfill
-    ],
-    qstring: [
-      {
-        token: 'string',
-        regex: '[^\\\\\']*(?:\\\\.[^\\\\\']*)*\'',
-        next: 'key'
-      }, stringfill
-    ],
-    qqstring: [
-      {
-        token: 'string',
-        regex: '[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',
-        next: 'key'
-      }, stringfill
-    ],
-    js: [
-      {
-        token: 'string',
-        regex: '[^\\\\`]*(?:\\\\.[^\\\\`]*)*`',
-        next: 'key'
-      }, stringfill
-    ],
-    words: [
-      {
-        token: 'string',
-        regex: '.*?\\]>',
-        next: 'key'
-      }, stringfill
-    ]
-  };
-function extend$(sub, sup){
-  function fun(){} fun.prototype = (sub.superclass = sup).prototype;
-  (sub.prototype = new fun).constructor = sub;
-  if (typeof sup.extended == 'function') sup.extended(sub);
-  return sub;
-}
-function import$(obj, src){
-  var own = {}.hasOwnProperty;
-  for (var key in src) if (own.call(src, key)) obj[key] = src[key];
-  return obj;
-}
-});

+ 0 - 668
services/web/public/js/ace/src/mode-logiql.js

@@ -1,668 +0,0 @@
-define("ace/mode/logiql_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var LogiQLHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { token: 'comment.block',
-           regex: '/\\*',
-           push: 
-            [ { token: 'comment.block', regex: '\\*/', next: 'pop' },
-              { defaultToken: 'comment.block' } ],
-            },
-         { token: 'comment.single',
-           regex: '//.*',
-            },
-         { token: 'constant.numeric',
-           regex: '\\d+(?:\\.\\d+)?(?:[eE][+-]?\\d+)?[fd]?',
-            },
-         { token: 'string',
-           regex: '"',
-           push: 
-            [ { token: 'string', regex: '"', next: 'pop' },
-              { defaultToken: 'string' } ],
-            },
-         { token: 'constant.language',
-           regex: '\\b(true|false)\\b',
-            },
-         { token: 'entity.name.type.logicblox',
-           regex: '`[a-zA-Z_:]+(\\d|\\a)*\\b',
-            },
-         { token: 'keyword.start', regex: '->',  comment: 'Constraint' },
-         { token: 'keyword.start', regex: '-->', comment: 'Level 1 Constraint'},
-         { token: 'keyword.start', regex: '<-',  comment: 'Rule' },
-         { token: 'keyword.start', regex: '<--', comment: 'Level 1 Rule' },
-         { token: 'keyword.end',   regex: '\\.', comment: 'Terminator' },
-         { token: 'keyword.other', regex: '!',   comment: 'Negation' },
-         { token: 'keyword.other', regex: ',',   comment: 'Conjunction' },
-         { token: 'keyword.other', regex: ';',   comment: 'Disjunction' },
-         { token: 'keyword.operator', regex: '<=|>=|!=|<|>', comment: 'Equality'},
-         { token: 'keyword.other', regex: '@', comment: 'Equality' },
-         { token: 'keyword.operator', regex: '\\+|-|\\*|/', comment: 'Arithmetic operations'},
-         { token: 'keyword', regex: '::', comment: 'Colon colon' },
-         { token: 'support.function',
-           regex: '\\b(agg\\s*<<)',
-           push: 
-            [ { include: '$self' },
-              { token: 'support.function',
-                regex: '>>',
-                next: 'pop' } ],
-            },
-         { token: 'storage.modifier',
-           regex: '\\b(lang:[\\w:]*)',
-            },
-         { token: [ 'storage.type', 'text' ],
-           regex: '(export|sealed|clauses|block|alias|alias_all)(\\s*\\()(?=`)',
-            },
-         { token: 'entity.name',
-           regex: '[a-zA-Z_][a-zA-Z_0-9:]*(@prev|@init|@final)?(?=(\\(|\\[))',
-            },
-         { token: 'variable.parameter',
-           regex: '([a-zA-Z][a-zA-Z_0-9]*|_)\\s*(?=(,|\\.|<-|->|\\)|\\]|=))',
-            } ] }
-    
-    this.normalizeRules();
-};
-
-oop.inherits(LogiQLHighlightRules, TextHighlightRules);
-
-exports.LogiQLHighlightRules = LogiQLHighlightRules;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/logiql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/logiql_highlight_rules","ace/mode/folding/coffee","ace/token_iterator","ace/range","ace/mode/behaviour/cstyle","ace/mode/matching_brace_outdent"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var LogiQLHighlightRules = require("./logiql_highlight_rules").LogiQLHighlightRules;
-var FoldMode = require("./folding/coffee").FoldMode;
-var TokenIterator = require("../token_iterator").TokenIterator;
-var Range = require("../range").Range;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-
-var Mode = function() {
-    this.HighlightRules = LogiQLHighlightRules;
-    this.foldingRules = new FoldMode();
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "//";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-        var endState = tokenizedLine.state;
-        if (/comment|string/.test(endState))  
-            return indent;
-        if (tokens.length && tokens[tokens.length - 1].type == "comment.single")
-            return indent;
-
-        var match = line.match();
-        if (/(-->|<--|<-|->|{)\s*$/.test(line))
-            indent += tab;
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        if (this.$outdent.checkOutdent(line, input))
-            return true;
-
-        if (input !== "\n" && input !== "\r\n")
-            return false;
-            
-        if (!/^\s+/.test(line))
-            return false;
-
-        return true;
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        if (this.$outdent.autoOutdent(doc, row))
-            return;
-        var prevLine = doc.getLine(row);
-        var match = prevLine.match(/^\s+/);
-        var column = prevLine.lastIndexOf(".") + 1;
-        if (!match || !row || !column) return 0;
-
-        var line = doc.getLine(row + 1);
-        var startRange = this.getMatching(doc, {row: row, column: column});
-        if (!startRange || startRange.start.row == row) return 0;
-
-        column = match[0].length;
-        var indent = this.$getIndent(doc.getLine(startRange.start.row));
-        doc.replace(new Range(row + 1, 0, row + 1, column), indent);
-    };
-
-    this.getMatching = function(session, row, column) {
-        if (row == undefined)
-            row = session.selection.lead
-        if (typeof row == "object") {
-            column = row.column;
-            row = row.row;
-        }
-
-        var startToken = session.getTokenAt(row, column);
-        var KW_START = "keyword.start", KW_END = "keyword.end";
-        var tok;
-        if (!startToken)
-            return;
-        if (startToken.type == KW_START) {
-            var it = new TokenIterator(session, row, column);
-            it.step = it.stepForward;
-        } else if (startToken.type == KW_END) {
-            var it = new TokenIterator(session, row, column);
-            it.step = it.stepBackward;
-        } else
-            return;
-
-        while (tok = it.step()) {
-            if (tok.type == KW_START || tok.type == KW_END)
-                break;
-        }
-        if (!tok || tok.type == startToken.type)
-            return;
-
-        var col = it.getCurrentTokenColumn();
-        var row = it.getCurrentTokenRow();
-        return new Range(row, col, row, col + tok.value.length);
-    };
-    this.$id = "ace/mode/logiql";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 11
services/web/public/js/ace/src/mode-lsl.js


+ 0 - 426
services/web/public/js/ace/src/mode-lua.js

@@ -1,426 +0,0 @@
-define("ace/mode/lua_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var LuaHighlightRules = function() {
-
-    var keywords = (
-        "break|do|else|elseif|end|for|function|if|in|local|repeat|"+
-         "return|then|until|while|or|and|not"
-    );
-
-    var builtinConstants = ("true|false|nil|_G|_VERSION");
-
-    var functions = (
-        "string|xpcall|package|tostring|print|os|unpack|require|"+
-        "getfenv|setmetatable|next|assert|tonumber|io|rawequal|"+
-        "collectgarbage|getmetatable|module|rawset|math|debug|"+
-        "pcall|table|newproxy|type|coroutine|_G|select|gcinfo|"+
-        "pairs|rawget|loadstring|ipairs|_VERSION|dofile|setfenv|"+
-        "load|error|loadfile|"+
-
-        "sub|upper|len|gfind|rep|find|match|char|dump|gmatch|"+
-        "reverse|byte|format|gsub|lower|preload|loadlib|loaded|"+
-        "loaders|cpath|config|path|seeall|exit|setlocale|date|"+
-        "getenv|difftime|remove|time|clock|tmpname|rename|execute|"+
-        "lines|write|close|flush|open|output|type|read|stderr|"+
-        "stdin|input|stdout|popen|tmpfile|log|max|acos|huge|"+
-        "ldexp|pi|cos|tanh|pow|deg|tan|cosh|sinh|random|randomseed|"+
-        "frexp|ceil|floor|rad|abs|sqrt|modf|asin|min|mod|fmod|log10|"+
-        "atan2|exp|sin|atan|getupvalue|debug|sethook|getmetatable|"+
-        "gethook|setmetatable|setlocal|traceback|setfenv|getinfo|"+
-        "setupvalue|getlocal|getregistry|getfenv|setn|insert|getn|"+
-        "foreachi|maxn|foreach|concat|sort|remove|resume|yield|"+
-        "status|wrap|create|running|"+
-        "__add|__sub|__mod|__unm|__concat|__lt|__index|__call|__gc|__metatable|"+
-         "__mul|__div|__pow|__len|__eq|__le|__newindex|__tostring|__mode|__tonumber"
-    );
-
-    var stdLibaries = ("string|package|os|io|math|debug|table|coroutine");
-
-    var futureReserved = "";
-
-    var deprecatedIn5152 = ("setn|foreach|foreachi|gcinfo|log10|maxn");
-
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": keywords,
-        "support.function": functions,
-        "invalid.deprecated": deprecatedIn5152,
-        "constant.library": stdLibaries,
-        "constant.language": builtinConstants,
-        "invalid.illegal": futureReserved,
-        "variable.language": "self"
-    }, "identifier");
-
-    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
-    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
-    var integer = "(?:" + decimalInteger + "|" + hexInteger + ")";
-
-    var fraction = "(?:\\.\\d+)";
-    var intPart = "(?:\\d+)";
-    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
-    var floatNumber = "(?:" + pointFloat + ")";
-
-    this.$rules = {
-        "start" : [{
-            stateName: "bracketedComment",
-            onMatch : function(value, currentState, stack){
-                stack.unshift(this.next, value.length - 2, currentState);
-                return "comment";
-            },
-            regex : /\-\-\[=*\[/,
-            next  : [
-                {
-                    onMatch : function(value, currentState, stack) {
-                        if (value.length == stack[1]) {
-                            stack.shift();
-                            stack.shift();
-                            this.next = stack.shift();
-                        } else {
-                            this.next = "";
-                        }
-                        return "comment";
-                    },
-                    regex : /\]=*\]/,
-                    next  : "start"
-                }, {
-                    defaultToken : "comment"
-                }
-            ]
-        },
-
-        {
-            token : "comment",
-            regex : "\\-\\-.*$"
-        },
-        {
-            stateName: "bracketedString",
-            onMatch : function(value, currentState, stack){
-                stack.unshift(this.next, value.length, currentState);
-                return "comment";
-            },
-            regex : /\[=*\[/,
-            next  : [
-                {
-                    onMatch : function(value, currentState, stack) {
-                        if (value.length == stack[1]) {
-                            stack.shift();
-                            stack.shift();
-                            this.next = stack.shift();
-                        } else {
-                            this.next = "";
-                        }
-                        return "comment";
-                    },
-                    
-                    regex : /\]=*\]/,
-                    next  : "start"
-                }, {
-                    defaultToken : "comment"
-                }
-            ]
-        },
-        {
-            token : "string",           // " string
-            regex : '"(?:[^\\\\]|\\\\.)*?"'
-        }, {
-            token : "string",           // ' string
-            regex : "'(?:[^\\\\]|\\\\.)*?'"
-        }, {
-            token : "constant.numeric", // float
-            regex : floatNumber
-        }, {
-            token : "constant.numeric", // integer
-            regex : integer + "\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\*|\\/|%|\\#|\\^|~|<|>|<=|=>|==|~=|=|\\:|\\.\\.\\.|\\.\\."
-        }, {
-            token : "paren.lparen",
-            regex : "[\\[\\(\\{]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\]\\)\\}]"
-        }, {
-            token : "text",
-            regex : "\\s+|\\w+"
-        } ]
-    };
-    
-    this.normalizeRules();
-}
-
-oop.inherits(LuaHighlightRules, TextHighlightRules);
-
-exports.LuaHighlightRules = LuaHighlightRules;
-});
-
-define("ace/mode/folding/lua",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range","ace/token_iterator"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-
-
-var FoldMode = exports.FoldMode = function() {};
-
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /\b(function|then|do|repeat)\b|{\s*$|(\[=*\[)/;
-    this.foldingStopMarker = /\bend\b|^\s*}|\]=*\]/;
-
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var isStart = this.foldingStartMarker.test(line);
-        var isEnd = this.foldingStopMarker.test(line);
-
-        if (isStart && !isEnd) {
-            var match = line.match(this.foldingStartMarker);
-            if (match[1] == "then" && /\belseif\b/.test(line))
-                return;
-            if (match[1]) {
-                if (session.getTokenAt(row, match.index + 1).type === "keyword")
-                    return "start";
-            } else if (match[2]) {
-                var type = session.bgTokenizer.getState(row) || "";
-                if (type[0] == "bracketedComment" || type[0] == "bracketedString")
-                    return "start";
-            } else {
-                return "start";
-            }
-        }
-        if (foldStyle != "markbeginend" || !isEnd || isStart && isEnd)
-            return "";
-
-        var match = line.match(this.foldingStopMarker);
-        if (match[0] === "end") {
-            if (session.getTokenAt(row, match.index + 1).type === "keyword")
-                return "end";
-        } else if (match[0][0] === "]") {
-            var type = session.bgTokenizer.getState(row - 1) || "";
-            if (type[0] == "bracketedComment" || type[0] == "bracketedString")
-                return "end";
-        } else
-            return "end";
-    };
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var line = session.doc.getLine(row);
-        var match = this.foldingStartMarker.exec(line);
-        if (match) {
-            if (match[1])
-                return this.luaBlock(session, row, match.index + 1);
-
-            if (match[2])
-                return session.getCommentFoldRange(row, match.index + 1);
-
-            return this.openingBracketBlock(session, "{", row, match.index);
-        }
-
-        var match = this.foldingStopMarker.exec(line);
-        if (match) {
-            if (match[0] === "end") {
-                if (session.getTokenAt(row, match.index + 1).type === "keyword")
-                    return this.luaBlock(session, row, match.index + 1);
-            }
-
-            if (match[0][0] === "]")
-                return session.getCommentFoldRange(row, match.index + 1);
-
-            return this.closingBracketBlock(session, "}", row, match.index + match[0].length);
-        }
-    };
-
-    this.luaBlock = function(session, row, column) {
-        var stream = new TokenIterator(session, row, column);
-        var indentKeywords = {
-            "function": 1,
-            "do": 1,
-            "then": 1,
-            "elseif": -1,
-            "end": -1,
-            "repeat": 1,
-            "until": -1
-        };
-
-        var token = stream.getCurrentToken();
-        if (!token || token.type != "keyword")
-            return;
-
-        var val = token.value;
-        var stack = [val];
-        var dir = indentKeywords[val];
-
-        if (!dir)
-            return;
-
-        var startColumn = dir === -1 ? stream.getCurrentTokenColumn() : session.getLine(row).length;
-        var startRow = row;
-
-        stream.step = dir === -1 ? stream.stepBackward : stream.stepForward;
-        while(token = stream.step()) {
-            if (token.type !== "keyword")
-                continue;
-            var level = dir * indentKeywords[token.value];
-
-            if (level > 0) {
-                stack.unshift(token.value);
-            } else if (level <= 0) {
-                stack.shift();
-                if (!stack.length && token.value != "elseif")
-                    break;
-                if (level === 0)
-                    stack.unshift(token.value);
-            }
-        }
-
-        var row = stream.getCurrentTokenRow();
-        if (dir === -1)
-            return new Range(row, session.getLine(row).length, startRow, startColumn);
-        else
-            return new Range(startRow, startColumn, row, stream.getCurrentTokenColumn());
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/lua",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lua_highlight_rules","ace/mode/folding/lua","ace/range","ace/worker/worker_client"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var LuaHighlightRules = require("./lua_highlight_rules").LuaHighlightRules;
-var LuaFoldMode = require("./folding/lua").FoldMode;
-var Range = require("../range").Range;
-var WorkerClient = require("../worker/worker_client").WorkerClient;
-
-var Mode = function() {
-    this.HighlightRules = LuaHighlightRules;
-    
-    this.foldingRules = new LuaFoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-   
-    this.lineCommentStart = "--";
-    this.blockComment = {start: "--[", end: "]--"};
-    
-    var indentKeywords = {
-        "function": 1,
-        "then": 1,
-        "do": 1,
-        "else": 1,
-        "elseif": 1,
-        "repeat": 1,
-        "end": -1,
-        "until": -1
-    };
-    var outdentKeywords = [
-        "else",
-        "elseif",
-        "end",
-        "until"
-    ];
-
-    function getNetIndentLevel(tokens) {
-        var level = 0;
-        for (var i = 0; i < tokens.length; i++) {
-            var token = tokens[i];
-            if (token.type == "keyword") {
-                if (token.value in indentKeywords) {
-                    level += indentKeywords[token.value];
-                }
-            } else if (token.type == "paren.lparen") {
-                level ++;
-            } else if (token.type == "paren.rparen") {
-                level --;
-            }
-        }
-        if (level < 0) {
-            return -1;
-        } else if (level > 0) {
-            return 1;
-        } else {
-            return 0;
-        }
-    }
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        var level = 0;
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (state == "start") {
-            level = getNetIndentLevel(tokens);
-        }
-        if (level > 0) {
-            return indent + tab;
-        } else if (level < 0 && indent.substr(indent.length - tab.length) == tab) {
-            if (!this.checkOutdent(state, line, "\n")) {
-                return indent.substr(0, indent.length - tab.length);
-            }
-        }
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        if (input != "\n" && input != "\r" && input != "\r\n")
-            return false;
-
-        if (line.match(/^\s*[\)\}\]]$/))
-            return true;
-
-        var tokens = this.getTokenizer().getLineTokens(line.trim(), state).tokens;
-
-        if (!tokens || !tokens.length)
-            return false;
-
-        return (tokens[0].type == "keyword" && outdentKeywords.indexOf(tokens[0].value) != -1);
-    };
-
-    this.autoOutdent = function(state, session, row) {
-        var prevLine = session.getLine(row - 1);
-        var prevIndent = this.$getIndent(prevLine).length;
-        var prevTokens = this.getTokenizer().getLineTokens(prevLine, "start").tokens;
-        var tabLength = session.getTabString().length;
-        var expectedIndent = prevIndent + tabLength * getNetIndentLevel(prevTokens);
-        var curIndent = this.$getIndent(session.getLine(row)).length;
-        if (curIndent < expectedIndent) {
-            return;
-        }
-        session.outdentRows(new Range(row, 0, row + 2, 0));
-    };
-
-    this.createWorker = function(session) {
-        var worker = new WorkerClient(["ace"], "ace/mode/lua_worker", "Worker");
-        worker.attachToDocument(session.getDocument());
-        
-        worker.on("error", function(e) {
-            session.setAnnotations([e.data]);
-        });
-        
-        worker.on("ok", function(e) {
-            session.clearAnnotations();
-        });
-        
-        return worker;
-    };
-
-    this.$id = "ace/mode/lua";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 942
services/web/public/js/ace/src/mode-luapage.js


+ 0 - 69
services/web/public/js/ace/src/mode-lucene.js

@@ -1,69 +0,0 @@
-define("ace/mode/lucene_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var lang = require("../lib/lang");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var LuceneHighlightRules = function() {
-    this.$rules = {
-        "start" : [
-            {
-                token : "constant.character.negation",
-                regex : "[\\-]"
-            }, {
-                token : "constant.character.interro",
-                regex : "[\\?]"
-            }, {
-                token : "constant.character.asterisk",
-                regex : "[\\*]"
-            }, {
-                token: 'constant.character.proximity',
-                regex: '~[0-9]+\\b'
-            }, {
-                token : 'keyword.operator',
-                regex: '(?:AND|OR|NOT)\\b'
-            }, {
-                token : "paren.lparen",
-                regex : "[\\(]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\)]"
-            }, {
-                token : "keyword",
-                regex : "[\\S]+:"
-            }, {
-                token : "string",           // " string
-                regex : '".*?"'
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ]
-    };
-};
-
-oop.inherits(LuceneHighlightRules, TextHighlightRules);
-
-exports.LuceneHighlightRules = LuceneHighlightRules;
-});
-
-define("ace/mode/lucene",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/lucene_highlight_rules"], function(require, exports, module) {
-'use strict';
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var LuceneHighlightRules = require("./lucene_highlight_rules").LuceneHighlightRules;
-
-var Mode = function() {
-    this.HighlightRules = LuceneHighlightRules;
-};
-
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.$id = "ace/mode/lucene";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 298
services/web/public/js/ace/src/mode-makefile.js

@@ -1,298 +0,0 @@
-define("ace/mode/sh_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var reservedKeywords = exports.reservedKeywords = (
-        '!|{|}|case|do|done|elif|else|'+
-        'esac|fi|for|if|in|then|until|while|'+
-        '&|;|export|local|read|typeset|unset|'+
-        'elif|select|set'
-    );
-
-var languageConstructs = exports.languageConstructs = (
-    '[|]|alias|bg|bind|break|builtin|'+
-     'cd|command|compgen|complete|continue|'+
-     'dirs|disown|echo|enable|eval|exec|'+
-     'exit|fc|fg|getopts|hash|help|history|'+
-     'jobs|kill|let|logout|popd|printf|pushd|'+
-     'pwd|return|set|shift|shopt|source|'+
-     'suspend|test|times|trap|type|ulimit|'+
-     'umask|unalias|wait'
-);
-
-var ShHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": reservedKeywords,
-        "support.function.builtin": languageConstructs,
-        "invalid.deprecated": "debugger"
-    }, "identifier");
-
-    var integer = "(?:(?:[1-9]\\d*)|(?:0))";
-
-    var fraction = "(?:\\.\\d+)";
-    var intPart = "(?:\\d+)";
-    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
-    var exponentFloat = "(?:(?:" + pointFloat + "|" +  intPart + ")" + ")";
-    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
-    var fileDescriptor = "(?:&" + intPart + ")";
-
-    var variableName = "[a-zA-Z_][a-zA-Z0-9_]*";
-    var variable = "(?:(?:\\$" + variableName + ")|(?:" + variableName + "=))";
-
-    var builtinVariable = "(?:\\$(?:SHLVL|\\$|\\!|\\?))";
-
-    var func = "(?:" + variableName + "\\s*\\(\\))";
-
-    this.$rules = {
-        "start" : [{
-            token : "constant",
-            regex : /\\./
-        }, {
-            token : ["text", "comment"],
-            regex : /(^|\s)(#.*)$/
-        }, {
-            token : "string",
-            regex : '"',
-            push : [{
-                token : "constant.language.escape",
-                regex : /\\(?:[$abeEfnrtv\\'"]|x[a-fA-F\d]{1,2}|u[a-fA-F\d]{4}([a-fA-F\d]{4})?|c.|\d{1,3})/
-            }, {
-                token : "constant",
-                regex : /\$\w+/
-            }, {
-                token : "string",
-                regex : '"',
-                next: "pop"
-            }, {
-                defaultToken: "string"
-            }]
-        }, {
-            token : "variable.language",
-            regex : builtinVariable
-        }, {
-            token : "variable",
-            regex : variable
-        }, {
-            token : "support.function",
-            regex : func
-        }, {
-            token : "support.function",
-            regex : fileDescriptor
-        }, {
-            token : "string",           // ' string
-            start : "'", end : "'"
-        }, {
-            token : "constant.numeric", // float
-            regex : floatNumber
-        }, {
-            token : "constant.numeric", // integer
-            regex : integer + "\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|~|<|>|<=|=>|=|!="
-        }, {
-            token : "paren.lparen",
-            regex : "[\\[\\(\\{]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\]\\)\\}]"
-        } ]
-    };
-    
-    this.normalizeRules();
-};
-
-oop.inherits(ShHighlightRules, TextHighlightRules);
-
-exports.ShHighlightRules = ShHighlightRules;
-});
-
-define("ace/mode/makefile_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules","ace/mode/sh_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var ShHighlightFile = require("./sh_highlight_rules");
-
-var MakefileHighlightRules = function() {
-
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": ShHighlightFile.reservedKeywords,
-        "support.function.builtin": ShHighlightFile.languageConstructs,
-        "invalid.deprecated": "debugger"
-    }, "string");
-
-    this.$rules = 
-        {
-    "start": [
-        {
-            token: "string.interpolated.backtick.makefile",
-            regex: "`",
-            next: "shell-start"
-        },
-        {
-            token: "punctuation.definition.comment.makefile",
-            regex: /#(?=.)/,
-            next: "comment"
-        },
-        {
-            token: [ "keyword.control.makefile"],
-            regex: "^(?:\\s*\\b)(\\-??include|ifeq|ifneq|ifdef|ifndef|else|endif|vpath|export|unexport|define|endef|override)(?:\\b)"
-        },
-        {// ^([^\t ]+(\s[^\t ]+)*:(?!\=))\s*.*
-            token: ["entity.name.function.makefile", "text"],
-            regex: "^([^\\t ]+(?:\\s[^\\t ]+)*:)(\\s*.*)"
-        }
-    ],
-    "comment": [
-        {
-            token : "punctuation.definition.comment.makefile",
-            regex : /.+\\/
-        },
-        {
-            token : "punctuation.definition.comment.makefile",
-            regex : ".+",
-            next  : "start"
-        }
-    ],
-    "shell-start": [
-        {
-            token: keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, 
-        {
-            token: "string",
-            regex : "\\w+"
-        }, 
-        {
-            token : "string.interpolated.backtick.makefile",
-            regex : "`",
-            next  : "start"
-        }
-    ]
-}
-
-};
-
-oop.inherits(MakefileHighlightRules, TextHighlightRules);
-
-exports.MakefileHighlightRules = MakefileHighlightRules;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/makefile",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/makefile_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var MakefileHighlightRules = require("./makefile_highlight_rules").MakefileHighlightRules;
-var FoldMode = require("./folding/coffee").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = MakefileHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-       
-    this.lineCommentStart = "#";    
-    this.$indentWithTabs = true;
-    
-    this.$id = "ace/mode/makefile";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 1551
services/web/public/js/ace/src/mode-markdown.js


+ 0 - 199
services/web/public/js/ace/src/mode-matlab.js

@@ -1,199 +0,0 @@
-define("ace/mode/matlab_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var MatlabHighlightRules = function() {
-
-var keywords = (
-        "break|case|catch|classdef|continue|else|elseif|end|for|function|global|if|otherwise|parfor|persistent|return|spmd|switch|try|while"
-    );
-
-    var builtinConstants = (
-        "true|false|inf|Inf|nan|NaN|eps|pi|ans|nargin|nargout|varargin|varargout"
-    );
-
-    var builtinFunctions = (
-        "abs|accumarray|acos(?:d|h)?|acot(?:d|h)?|acsc(?:d|h)?|actxcontrol(?:list|select)?|actxGetRunningServer|actxserver|addlistener|addpath|addpref|addtodate|"+
-		"airy|align|alim|all|allchild|alpha|alphamap|amd|ancestor|and|angle|annotation|any|area|arrayfun|asec(?:d|h)?|asin(?:d|h)?|assert|assignin|atan(?:2|d|h)?|" +
-		"audiodevinfo|audioplayer|audiorecorder|aufinfo|auread|autumn|auwrite|avifile|aviinfo|aviread|axes|axis|balance|bar(?:3|3h|h)?|base2dec|beep|BeginInvoke|bench|"+
-		"bessel(?:h|i|j|k|y)|beta|betainc|betaincinv|betaln|bicg|bicgstab|bicgstabl|bin2dec|bitand|bitcmp|bitget|bitmax|bitnot|bitor|bitset|bitshift|bitxor|blanks|blkdiag|"+
-		"bone|box|brighten|brush|bsxfun|builddocsearchdb|builtin|bvp4c|bvp5c|bvpget|bvpinit|bvpset|bvpxtend|calendar|calllib|callSoapService|camdolly|cameratoolbar|camlight|"+
-		"camlookat|camorbit|campan|campos|camproj|camroll|camtarget|camup|camva|camzoom|cart2pol|cart2sph|cast|cat|caxis|cd|cdf2rdf|cdfepoch|cdfinfo|cdflib(?:\.(?:close|closeVar|"+
-		"computeEpoch|computeEpoch16|create|createAttr|createVar|delete|deleteAttr|deleteAttrEntry|deleteAttrgEntry|deleteVar|deleteVarRecords|epoch16Breakdown|epochBreakdown|getAttrEntry|"+
-		"getAttrgEntry|getAttrMaxEntry|getAttrMaxgEntry|getAttrName|getAttrNum|getAttrScope|getCacheSize|getChecksum|getCompression|getCompressionCacheSize|getConstantNames|"+
-		"getConstantValue|getCopyright|getFileBackward|getFormat|getLibraryCopyright|getLibraryVersion|getMajority|getName|getNumAttrEntries|getNumAttrgEntries|getNumAttributes|"+
-		"getNumgAttributes|getReadOnlyMode|getStageCacheSize|getValidate|getVarAllocRecords|getVarBlockingFactor|getVarCacheSize|getVarCompression|getVarData|getVarMaxAllocRecNum|"+
-		"getVarMaxWrittenRecNum|getVarName|getVarNum|getVarNumRecsWritten|getVarPadValue|getVarRecordData|getVarReservePercent|getVarsMaxWrittenRecNum|getVarSparseRecords|getVersion|"+
-		"hyperGetVarData|hyperPutVarData|inquire|inquireAttr|inquireAttrEntry|inquireAttrgEntry|inquireVar|open|putAttrEntry|putAttrgEntry|putVarData|putVarRecordData|renameAttr|"+
-		"renameVar|setCacheSize|setChecksum|setCompression|setCompressionCacheSize|setFileBackward|setFormat|setMajority|setReadOnlyMode|setStageCacheSize|setValidate|"+
-		"setVarAllocBlockRecords|setVarBlockingFactor|setVarCacheSize|setVarCompression|setVarInitialRecs|setVarPadValue|SetVarReservePercent|setVarsCacheSize|setVarSparseRecords))?|"+
-		"cdfread|cdfwrite|ceil|cell2mat|cell2struct|celldisp|cellfun|cellplot|cellstr|cgs|checkcode|checkin|checkout|chol|cholinc|cholupdate|circshift|cla|clabel|class|clc|clear|"+
-		"clearvars|clf|clipboard|clock|close|closereq|cmopts|cmpermute|cmunique|colamd|colon|colorbar|colordef|colormap|colormapeditor|colperm|Combine|comet|comet3|commandhistory|"+
-		"commandwindow|compan|compass|complex|computer|cond|condeig|condest|coneplot|conj|containers\.Map|contour(?:3|c|f|slice)?|contrast|conv|conv2|convhull|convhulln|convn|cool|"+
-		"copper|copyfile|copyobj|corrcoef|cos(?:d|h)?|cot(?:d|h)?|cov|cplxpair|cputime|createClassFromWsdl|createSoapMessage|cross|csc(?:d|h)?|csvread|csvwrite|ctranspose|cumprod|"+
-		"cumsum|cumtrapz|curl|customverctrl|cylinder|daqread|daspect|datacursormode|datatipinfo|date|datenum|datestr|datetick|datevec|dbclear|dbcont|dbdown|dblquad|dbmex|dbquit|"+
-		"dbstack|dbstatus|dbstep|dbstop|dbtype|dbup|dde23|ddeget|ddesd|ddeset|deal|deblank|dec2base|dec2bin|dec2hex|decic|deconv|del2|delaunay|delaunay3|delaunayn|DelaunayTri|delete|"+
-		"demo|depdir|depfun|det|detrend|deval|diag|dialog|diary|diff|diffuse|dir|disp|display|dither|divergence|dlmread|dlmwrite|dmperm|doc|docsearch|dos|dot|dragrect|drawnow|dsearch|"+
-		"dsearchn|dynamicprops|echo|echodemo|edit|eig|eigs|ellipj|ellipke|ellipsoid|empty|enableNETfromNetworkDrive|enableservice|EndInvoke|enumeration|eomday|eq|erf|erfc|erfcinv|"+
-		"erfcx|erfinv|error|errorbar|errordlg|etime|etree|etreeplot|eval|evalc|evalin|event\.(?:EventData|listener|PropertyEvent|proplistener)|exifread|exist|exit|exp|expint|expm|"+
-		"expm1|export2wsdlg|eye|ezcontour|ezcontourf|ezmesh|ezmeshc|ezplot|ezplot3|ezpolar|ezsurf|ezsurfc|factor|factorial|fclose|feather|feature|feof|ferror|feval|fft|fft2|fftn|"+
-		"fftshift|fftw|fgetl|fgets|fieldnames|figure|figurepalette|fileattrib|filebrowser|filemarker|fileparts|fileread|filesep|fill|fill3|filter|filter2|find|findall|findfigs|"+
-		"findobj|findstr|finish|fitsdisp|fitsinfo|fitsread|fitswrite|fix|flag|flipdim|fliplr|flipud|floor|flow|fminbnd|fminsearch|fopen|format|fplot|fprintf|frame2im|fread|freqspace|"+
-		"frewind|fscanf|fseek|ftell|FTP|full|fullfile|func2str|functions|funm|fwrite|fzero|gallery|gamma|gammainc|gammaincinv|gammaln|gca|gcbf|gcbo|gcd|gcf|gco|ge|genpath|genvarname|"+
-		"get|getappdata|getenv|getfield|getframe|getpixelposition|getpref|ginput|gmres|gplot|grabcode|gradient|gray|graymon|grid|griddata(?:3|n)?|griddedInterpolant|gsvd|gt|gtext|"+
-		"guidata|guide|guihandles|gunzip|gzip|h5create|h5disp|h5info|h5read|h5readatt|h5write|h5writeatt|hadamard|handle|hankel|hdf|hdf5|hdf5info|hdf5read|hdf5write|hdfinfo|"+
-		"hdfread|hdftool|help|helpbrowser|helpdesk|helpdlg|helpwin|hess|hex2dec|hex2num|hgexport|hggroup|hgload|hgsave|hgsetget|hgtransform|hidden|hilb|hist|histc|hold|home|horzcat|"+
-		"hostid|hot|hsv|hsv2rgb|hypot|ichol|idivide|ifft|ifft2|ifftn|ifftshift|ilu|im2frame|im2java|imag|image|imagesc|imapprox|imfinfo|imformats|import|importdata|imread|imwrite|"+
-		"ind2rgb|ind2sub|inferiorto|info|inline|inmem|inpolygon|input|inputdlg|inputname|inputParser|inspect|instrcallback|instrfind|instrfindall|int2str|integral(?:2|3)?|interp(?:1|"+
-		"1q|2|3|ft|n)|interpstreamspeed|intersect|intmax|intmin|inv|invhilb|ipermute|isa|isappdata|iscell|iscellstr|ischar|iscolumn|isdir|isempty|isequal|isequaln|isequalwithequalnans|"+
-		"isfield|isfinite|isfloat|isglobal|ishandle|ishghandle|ishold|isinf|isinteger|isjava|iskeyword|isletter|islogical|ismac|ismatrix|ismember|ismethod|isnan|isnumeric|isobject|"+
-		"isocaps|isocolors|isonormals|isosurface|ispc|ispref|isprime|isprop|isreal|isrow|isscalar|issorted|isspace|issparse|isstr|isstrprop|isstruct|isstudent|isunix|isvarname|"+
-		"isvector|javaaddpath|javaArray|javachk|javaclasspath|javacomponent|javaMethod|javaMethodEDT|javaObject|javaObjectEDT|javarmpath|jet|keyboard|kron|lasterr|lasterror|"+
-		"lastwarn|lcm|ldivide|ldl|le|legend|legendre|length|libfunctions|libfunctionsview|libisloaded|libpointer|libstruct|license|light|lightangle|lighting|lin2mu|line|lines|"+
-		"linkaxes|linkdata|linkprop|linsolve|linspace|listdlg|listfonts|load|loadlibrary|loadobj|log|log10|log1p|log2|loglog|logm|logspace|lookfor|lower|ls|lscov|lsqnonneg|lsqr|"+
-		"lt|lu|luinc|magic|makehgtform|mat2cell|mat2str|material|matfile|matlab\.io\.MatFile|matlab\.mixin\.(?:Copyable|Heterogeneous(?:\.getDefaultScalarElement)?)|matlabrc|"+
-		"matlabroot|max|maxNumCompThreads|mean|median|membrane|memmapfile|memory|menu|mesh|meshc|meshgrid|meshz|meta\.(?:class(?:\.fromName)?|DynamicProperty|EnumeratedValue|event|"+
-		"MetaData|method|package(?:\.(?:fromName|getAllPackages))?|property)|metaclass|methods|methodsview|mex(?:\.getCompilerConfigurations)?|MException|mexext|mfilename|min|minres|"+
-		"minus|mislocked|mkdir|mkpp|mldivide|mlint|mlintrpt|mlock|mmfileinfo|mmreader|mod|mode|more|move|movefile|movegui|movie|movie2avi|mpower|mrdivide|msgbox|mtimes|mu2lin|"+
-		"multibandread|multibandwrite|munlock|namelengthmax|nargchk|narginchk|nargoutchk|native2unicode|nccreate|ncdisp|nchoosek|ncinfo|ncread|ncreadatt|ncwrite|ncwriteatt|"+
-		"ncwriteschema|ndgrid|ndims|ne|NET(?:\.(?:addAssembly|Assembly|convertArray|createArray|createGeneric|disableAutoRelease|enableAutoRelease|GenericClass|invokeGenericMethod|"+
-		"NetException|setStaticProperty))?|netcdf\.(?:abort|close|copyAtt|create|defDim|defGrp|defVar|defVarChunking|defVarDeflate|defVarFill|defVarFletcher32|delAtt|endDef|getAtt|"+
-		"getChunkCache|getConstant|getConstantNames|getVar|inq|inqAtt|inqAttID|inqAttName|inqDim|inqDimID|inqDimIDs|inqFormat|inqGrpName|inqGrpNameFull|inqGrpParent|inqGrps|"+
-		"inqLibVers|inqNcid|inqUnlimDims|inqVar|inqVarChunking|inqVarDeflate|inqVarFill|inqVarFletcher32|inqVarID|inqVarIDs|open|putAtt|putVar|reDef|renameAtt|renameDim|renameVar|"+
-		"setChunkCache|setDefaultFormat|setFill|sync)|newplot|nextpow2|nnz|noanimate|nonzeros|norm|normest|not|notebook|now|nthroot|null|num2cell|num2hex|num2str|numel|nzmax|"+
-		"ode(?:113|15i|15s|23|23s|23t|23tb|45)|odeget|odeset|odextend|onCleanup|ones|open|openfig|opengl|openvar|optimget|optimset|or|ordeig|orderfields|ordqz|ordschur|orient|"+
-		"orth|pack|padecoef|pagesetupdlg|pan|pareto|parseSoapResponse|pascal|patch|path|path2rc|pathsep|pathtool|pause|pbaspect|pcg|pchip|pcode|pcolor|pdepe|pdeval|peaks|perl|perms|"+
-		"permute|pie|pink|pinv|planerot|playshow|plot|plot3|plotbrowser|plotedit|plotmatrix|plottools|plotyy|plus|pol2cart|polar|poly|polyarea|polyder|polyeig|polyfit|polyint|polyval|"+
-		"polyvalm|pow2|power|ppval|prefdir|preferences|primes|print|printdlg|printopt|printpreview|prod|profile|profsave|propedit|propertyeditor|psi|publish|PutCharArray|PutFullMatrix|"+
-		"PutWorkspaceData|pwd|qhull|qmr|qr|qrdelete|qrinsert|qrupdate|quad|quad2d|quadgk|quadl|quadv|questdlg|quit|quiver|quiver3|qz|rand|randi|randn|randperm|RandStream(?:\.(?:create|"+
-		"getDefaultStream|getGlobalStream|list|setDefaultStream|setGlobalStream))?|rank|rat|rats|rbbox|rcond|rdivide|readasync|real|reallog|realmax|realmin|realpow|realsqrt|record|"+
-		"rectangle|rectint|recycle|reducepatch|reducevolume|refresh|refreshdata|regexp|regexpi|regexprep|regexptranslate|rehash|rem|Remove|RemoveAll|repmat|reset|reshape|residue|"+
-		"restoredefaultpath|rethrow|rgb2hsv|rgb2ind|rgbplot|ribbon|rmappdata|rmdir|rmfield|rmpath|rmpref|rng|roots|rose|rosser|rot90|rotate|rotate3d|round|rref|rsf2csf|run|save|saveas|"+
-		"saveobj|savepath|scatter|scatter3|schur|sec|secd|sech|selectmoveresize|semilogx|semilogy|sendmail|serial|set|setappdata|setdiff|setenv|setfield|setpixelposition|setpref|setstr|"+
-		"setxor|shading|shg|shiftdim|showplottool|shrinkfaces|sign|sin(?:d|h)?|size|slice|smooth3|snapnow|sort|sortrows|sound|soundsc|spalloc|spaugment|spconvert|spdiags|specular|speye|"+
-		"spfun|sph2cart|sphere|spinmap|spline|spones|spparms|sprand|sprandn|sprandsym|sprank|spring|sprintf|spy|sqrt|sqrtm|squeeze|ss2tf|sscanf|stairs|startup|std|stem|stem3|stopasync|"+
-		"str2double|str2func|str2mat|str2num|strcat|strcmp|strcmpi|stream2|stream3|streamline|streamparticles|streamribbon|streamslice|streamtube|strfind|strjust|strmatch|strncmp|"+
-		"strncmpi|strread|strrep|strtok|strtrim|struct2cell|structfun|strvcat|sub2ind|subplot|subsasgn|subsindex|subspace|subsref|substruct|subvolume|sum|summer|superclasses|superiorto|"+
-		"support|surf|surf2patch|surface|surfc|surfl|surfnorm|svd|svds|swapbytes|symamd|symbfact|symmlq|symrcm|symvar|system|tan(?:d|h)?|tar|tempdir|tempname|tetramesh|texlabel|text|"+
-		"textread|textscan|textwrap|tfqmr|throw|tic|Tiff(?:\.(?:getTagNames|getVersion))?|timer|timerfind|timerfindall|times|timeseries|title|toc|todatenum|toeplitz|toolboxdir|trace|"+
-		"transpose|trapz|treelayout|treeplot|tril|trimesh|triplequad|triplot|TriRep|TriScatteredInterp|trisurf|triu|tscollection|tsearch|tsearchn|tstool|type|typecast|uibuttongroup|"+
-		"uicontextmenu|uicontrol|uigetdir|uigetfile|uigetpref|uiimport|uimenu|uiopen|uipanel|uipushtool|uiputfile|uiresume|uisave|uisetcolor|uisetfont|uisetpref|uistack|uitable|"+
-		"uitoggletool|uitoolbar|uiwait|uminus|undocheckout|unicode2native|union|unique|unix|unloadlibrary|unmesh|unmkpp|untar|unwrap|unzip|uplus|upper|urlread|urlwrite|usejava|"+
-		"userpath|validateattributes|validatestring|vander|var|vectorize|ver|verctrl|verLessThan|version|vertcat|VideoReader(?:\.isPlatformSupported)?|VideoWriter(?:\.getProfiles)?|"+
-		"view|viewmtx|visdiff|volumebounds|voronoi|voronoin|wait|waitbar|waitfor|waitforbuttonpress|warndlg|warning|waterfall|wavfinfo|wavplay|wavread|wavrecord|wavwrite|web|weekday|"+
-		"what|whatsnew|which|whitebg|who|whos|wilkinson|winopen|winqueryreg|winter|wk1finfo|wk1read|wk1write|workspace|xlabel|xlim|xlsfinfo|xlsread|xlswrite|xmlread|xmlwrite|xor|xslt|"+
-		"ylabel|ylim|zeros|zip|zlabel|zlim|zoom|addedvarplot|andrewsplot|anova(?:1|2|n)|ansaribradley|aoctool|barttest|bbdesign|beta(?:cdf|fit|inv|like|pdf|rnd|stat)|bino(?:cdf|fit|inv|"+
-		"pdf|rnd|stat)|biplot|bootci|bootstrp|boxplot|candexch|candgen|canoncorr|capability|capaplot|caseread|casewrite|categorical|ccdesign|cdfplot|chi2(?:cdf|gof|inv|pdf|rnd|stat)|"+
-		"cholcov|Classification(?:BaggedEnsemble|Discriminant(?:\.(?:fit|make|template))?|Ensemble|KNN(?:\.(?:fit|template))?|PartitionedEnsemble|PartitionedModel|Tree(?:\.(?:fit|"+
-		"template))?)|classify|classregtree|cluster|clusterdata|cmdscale|combnk|Compact(?:Classification(?:Discriminant|Ensemble|Tree)|Regression(?:Ensemble|Tree)|TreeBagger)|confusionmat|"+
-		"controlchart|controlrules|cophenet|copula(?:cdf|fit|param|pdf|rnd|stat)|cordexch|corr|corrcov|coxphfit|createns|crosstab|crossval|cvpartition|datasample|dataset|daugment|dcovary|"+
-		"dendrogram|dfittool|disttool|dummyvar|dwtest|ecdf|ecdfhist|ev(?:cdf|fit|inv|like|pdf|rnd|stat)|ExhaustiveSearcher|exp(?:cdf|fit|inv|like|pdf|rnd|stat)|factoran|fcdf|ff2n|finv|"+
-		"fitdist|fitensemble|fpdf|fracfact|fracfactgen|friedman|frnd|fstat|fsurfht|fullfact|gagerr|gam(?:cdf|fit|inv|like|pdf|rnd|stat)|GeneralizedLinearModel(?:\.fit)?|geo(?:cdf|inv|mean|"+
-		"pdf|rnd|stat)|gev(?:cdf|fit|inv|like|pdf|rnd|stat)|gline|glmfit|glmval|glyphplot|gmdistribution(?:\.fit)?|gname|gp(?:cdf|fit|inv|like|pdf|rnd|stat)|gplotmatrix|grp2idx|grpstats|"+
-		"gscatter|haltonset|harmmean|hist3|histfit|hmm(?:decode|estimate|generate|train|viterbi)|hougen|hyge(?:cdf|inv|pdf|rnd|stat)|icdf|inconsistent|interactionplot|invpred|iqr|iwishrnd|"+
-		"jackknife|jbtest|johnsrnd|KDTreeSearcher|kmeans|knnsearch|kruskalwallis|ksdensity|kstest|kstest2|kurtosis|lasso|lassoglm|lassoPlot|leverage|lhsdesign|lhsnorm|lillietest|"+
-		"LinearModel(?:\.fit)?|linhyptest|linkage|logn(?:cdf|fit|inv|like|pdf|rnd|stat)|lsline|mad|mahal|maineffectsplot|manova1|manovacluster|mdscale|mhsample|mle|mlecov|mnpdf|"+
-		"mnrfit|mnrnd|mnrval|moment|multcompare|multivarichart|mvn(?:cdf|pdf|rnd)|mvregress|mvregresslike|mvt(?:cdf|pdf|rnd)|NaiveBayes(?:\.fit)?|nan(?:cov|max|mean|median|min|std|"+
-		"sum|var)|nbin(?:cdf|fit|inv|pdf|rnd|stat)|ncf(?:cdf|inv|pdf|rnd|stat)|nct(?:cdf|inv|pdf|rnd|stat)|ncx2(?:cdf|inv|pdf|rnd|stat)|NeighborSearcher|nlinfit|nlintool|nlmefit|nlmefitsa|"+
-		"nlparci|nlpredci|nnmf|nominal|NonLinearModel(?:\.fit)?|norm(?:cdf|fit|inv|like|pdf|rnd|stat)|normplot|normspec|ordinal|outlierMeasure|parallelcoords|paretotails|partialcorr|"+
-		"pcacov|pcares|pdf|pdist|pdist2|pearsrnd|perfcurve|perms|piecewisedistribution|plsregress|poiss(?:cdf|fit|inv|pdf|rnd|tat)|polyconf|polytool|prctile|princomp|ProbDist(?:Kernel|"+
-		"Parametric|UnivKernel|UnivParam)?|probplot|procrustes|qqplot|qrandset|qrandstream|quantile|randg|random|randsample|randtool|range|rangesearch|ranksum|rayl(?:cdf|fit|inv|pdf|"+
-		"rnd|stat)|rcoplot|refcurve|refline|regress|Regression(?:BaggedEnsemble|Ensemble|PartitionedEnsemble|PartitionedModel|Tree(?:\.(?:fit|template))?)|regstats|relieff|ridge|"+
-		"robustdemo|robustfit|rotatefactors|rowexch|rsmdemo|rstool|runstest|sampsizepwr|scatterhist|sequentialfs|signrank|signtest|silhouette|skewness|slicesample|sobolset|squareform|"+
-		"statget|statset|stepwise|stepwisefit|surfht|tabulate|tblread|tblwrite|tcdf|tdfread|tiedrank|tinv|tpdf|TreeBagger|treedisp|treefit|treeprune|treetest|treeval|trimmean|trnd|tstat|"+
-		"ttest|ttest2|unid(?:cdf|inv|pdf|rnd|stat)|unif(?:cdf|inv|it|pdf|rnd|stat)|vartest(?:2|n)?|wbl(?:cdf|fit|inv|like|pdf|rnd|stat)|wblplot|wishrnd|x2fx|xptread|zscore|ztest"+
-		"adapthisteq|analyze75info|analyze75read|applycform|applylut|axes2pix|bestblk|blockproc|bwarea|bwareaopen|bwboundaries|bwconncomp|bwconvhull|bwdist|bwdistgeodesic|bweuler|"+
-		"bwhitmiss|bwlabel|bwlabeln|bwmorph|bwpack|bwperim|bwselect|bwtraceboundary|bwulterode|bwunpack|checkerboard|col2im|colfilt|conndef|convmtx2|corner|cornermetric|corr2|cp2tform|"+
-		"cpcorr|cpselect|cpstruct2pairs|dct2|dctmtx|deconvblind|deconvlucy|deconvreg|deconvwnr|decorrstretch|demosaic|dicom(?:anon|dict|info|lookup|read|uid|write)|edge|edgetaper|entropy|"+
-		"entropyfilt|fan2para|fanbeam|findbounds|fliptform|freqz2|fsamp2|fspecial|ftrans2|fwind1|fwind2|getheight|getimage|getimagemodel|getline|getneighbors|getnhood|getpts|"+
-		"getrangefromclass|getrect|getsequence|gray2ind|graycomatrix|graycoprops|graydist|grayslice|graythresh|hdrread|hdrwrite|histeq|hough|houghlines|houghpeaks|iccfind|iccread|"+
-		"iccroot|iccwrite|idct2|ifanbeam|im2bw|im2col|im2double|im2int16|im2java2d|im2single|im2uint16|im2uint8|imabsdiff|imadd|imadjust|ImageAdapter|imageinfo|imagemodel|imapplymatrix|"+
-		"imattributes|imbothat|imclearborder|imclose|imcolormaptool|imcomplement|imcontour|imcontrast|imcrop|imdilate|imdisplayrange|imdistline|imdivide|imellipse|imerode|imextendedmax|"+
-		"imextendedmin|imfill|imfilter|imfindcircles|imfreehand|imfuse|imgca|imgcf|imgetfile|imhandles|imhist|imhmax|imhmin|imimposemin|imlincomb|imline|immagbox|immovie|immultiply|imnoise|"+
-		"imopen|imoverview|imoverviewpanel|impixel|impixelinfo|impixelinfoval|impixelregion|impixelregionpanel|implay|impoint|impoly|impositionrect|improfile|imputfile|impyramid|"+
-		"imreconstruct|imrect|imregconfig|imregionalmax|imregionalmin|imregister|imresize|imroi|imrotate|imsave|imscrollpanel|imshow|imshowpair|imsubtract|imtool|imtophat|imtransform|"+
-		"imview|ind2gray|ind2rgb|interfileinfo|interfileread|intlut|ippl|iptaddcallback|iptcheckconn|iptcheckhandle|iptcheckinput|iptcheckmap|iptchecknargin|iptcheckstrs|iptdemos|iptgetapi|"+
-		"iptGetPointerBehavior|iptgetpref|ipticondir|iptnum2ordinal|iptPointerManager|iptprefs|iptremovecallback|iptSetPointerBehavior|iptsetpref|iptwindowalign|iradon|isbw|isflat|isgray|"+
-		"isicc|isind|isnitf|isrgb|isrset|lab2double|lab2uint16|lab2uint8|label2rgb|labelmatrix|makecform|makeConstrainToRectFcn|makehdr|makelut|makeresampler|maketform|mat2gray|mean2|"+
-		"medfilt2|montage|nitfinfo|nitfread|nlfilter|normxcorr2|ntsc2rgb|openrset|ordfilt2|otf2psf|padarray|para2fan|phantom|poly2mask|psf2otf|qtdecomp|qtgetblk|qtsetblk|radon|rangefilt|"+
-		"reflect|regionprops|registration\.metric\.(?:MattesMutualInformation|MeanSquares)|registration\.optimizer\.(?:OnePlusOneEvolutionary|RegularStepGradientDescent)|rgb2gray|"+
-		"rgb2ntsc|rgb2ycbcr|roicolor|roifill|roifilt2|roipoly|rsetwrite|std2|stdfilt|strel|stretchlim|subimage|tformarray|tformfwd|tforminv|tonemap|translate|truesize|uintlut|viscircles|"+
-		"warp|watershed|whitepoint|wiener2|xyz2double|xyz2uint16|ycbcr2rgb|bintprog|color|fgoalattain|fminbnd|fmincon|fminimax|fminsearch|fminunc|fseminf|fsolve|fzero|fzmult|gangstr|ktrlink|"+
-		"linprog|lsqcurvefit|lsqlin|lsqnonlin|lsqnonneg|optimget|optimset|optimtool|quadprog"
-    );
-    var storageType = (
-        "cell|struct|char|double|single|logical|u?int(?:8|16|32|64)|sparse"
-    );
-    var keywordMapper = this.createKeywordMapper({
-        "storage.type": storageType,
-        "support.function": builtinFunctions,
-        "keyword": keywords,
-        "constant.language": builtinConstants
-    }, "identifier", true);
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment",
-            regex : "%[^\r\n]*"
-        }, {
-             token : "string",           // " string
-            regex : '".*?"'
-        }, {
-            token : "string",           // ' string
-            regex : "'.*?'"
-        }, {
-            token : "constant.numeric", // float
-            regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\/|\\/\\/|<@>|@>|<@|&|\\^|~|<|>|<=|=>|==|!=|<>|="
-        }, {
-             token : "punctuation.operator",
-             regex : "\\?|\\:|\\,|\\;|\\."
-        }, {
-            token : "paren.lparen",
-            regex : "[\\(]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\)]"
-        }, {
-            token : "text",
-            regex : "\\s+"
-        } ]
-    };
-};
-
-oop.inherits(MatlabHighlightRules, TextHighlightRules);
-
-exports.MatlabHighlightRules = MatlabHighlightRules;
-});
-
-define("ace/mode/matlab",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/matlab_highlight_rules","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var MatlabHighlightRules = require("./matlab_highlight_rules").MatlabHighlightRules;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = MatlabHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "%";
-    this.blockComment = {start: "%{", end: "%}"};
-
-    this.$id = "ace/mode/matlab";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 14
services/web/public/js/ace/src/mode-mel.js


+ 0 - 674
services/web/public/js/ace/src/mode-mushcode.js

@@ -1,674 +0,0 @@
-define("ace/mode/mushcode_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var MushCodeRules = function() {
-
-
-    var keywords = (
- "@if|"+
- "@ifelse|"+
- "@switch|"+
- "@halt|"+
- "@dolist|"+
- "@create|"+
- "@scent|"+
- "@sound|"+
- "@touch|"+
- "@ataste|"+
- "@osound|"+
- "@ahear|"+
- "@aahear|"+
- "@amhear|"+
- "@otouch|"+
- "@otaste|"+
- "@drop|"+
- "@odrop|"+
- "@adrop|"+
- "@dropfail|"+
- "@odropfail|"+
- "@smell|"+
- "@oemit|"+
- "@emit|"+
- "@pemit|"+
- "@parent|"+
- "@clone|"+
- "@taste|"+
- "whisper|"+
- "page|"+
- "say|"+
- "pose|"+
- "semipose|"+
- "teach|"+
- "touch|"+
- "taste|"+
- "smell|"+
- "listen|"+
- "look|"+
- "move|"+
- "go|"+
- "home|"+
- "follow|"+
- "unfollow|"+
- "desert|"+
- "dismiss|"+
- "@tel"
-    );
-
-    var builtinConstants = (
-        "=#0"
-    );
-
-    var builtinFunctions = (
- "default|"+
- "edefault|"+
- "eval|"+
- "get_eval|"+
- "get|"+
- "grep|"+
- "grepi|"+
- "hasattr|"+
- "hasattrp|"+
- "hasattrval|"+
- "hasattrpval|"+
- "lattr|"+
- "nattr|"+
- "poss|"+
- "udefault|"+
- "ufun|"+
- "u|"+
- "v|"+
- "uldefault|"+
- "xget|"+
- "zfun|"+
- "band|"+
- "bnand|"+
- "bnot|"+
- "bor|"+
- "bxor|"+
- "shl|"+
- "shr|"+
- "and|"+
- "cand|"+
- "cor|"+
- "eq|"+
- "gt|"+
- "gte|"+
- "lt|"+
- "lte|"+
- "nand|"+
- "neq|"+
- "nor|"+
- "not|"+
- "or|"+
- "t|"+
- "xor|"+
- "con|"+
- "entrances|"+
- "exit|"+
- "followers|"+
- "home|"+
- "lcon|"+
- "lexits|"+
- "loc|"+
- "locate|"+
- "lparent|"+
- "lsearch|"+
- "next|"+
- "num|"+
- "owner|"+
- "parent|"+
- "pmatch|"+
- "rloc|"+
- "rnum|"+
- "room|"+
- "where|"+
- "zone|"+
- "worn|"+
- "held|"+
- "carried|"+
- "acos|"+
- "asin|"+
- "atan|"+
- "ceil|"+
- "cos|"+
- "e|"+
- "exp|"+
- "fdiv|"+
- "fmod|"+
- "floor|"+
- "log|"+
- "ln|"+
- "pi|"+
- "power|"+
- "round|"+
- "sin|"+
- "sqrt|"+
- "tan|"+
- "aposs|"+
- "andflags|"+
- "conn|"+
- "commandssent|"+
- "controls|"+
- "doing|"+
- "elock|"+
- "findable|"+
- "flags|"+
- "fullname|"+
- "hasflag|"+
- "haspower|"+
- "hastype|"+
- "hidden|"+
- "idle|"+
- "isbaker|"+
- "lock|"+
- "lstats|"+
- "money|"+
- "who|"+
- "name|"+
- "nearby|"+
- "obj|"+
- "objflags|"+
- "photo|"+
- "poll|"+
- "powers|"+
- "pendingtext|"+
- "receivedtext|"+
- "restarts|"+
- "restarttime|"+
- "subj|"+
- "shortestpath|"+
- "tmoney|"+
- "type|"+
- "visible|"+
- "cat|"+
- "element|"+
- "elements|"+
- "extract|"+
- "filter|"+
- "filterbool|"+
- "first|"+
- "foreach|"+
- "fold|"+
- "grab|"+
- "graball|"+
- "index|"+
- "insert|"+
- "itemize|"+
- "items|"+
- "iter|"+
- "last|"+
- "ldelete|"+
- "map|"+
- "match|"+
- "matchall|"+
- "member|"+
- "mix|"+
- "munge|"+
- "pick|"+
- "remove|"+
- "replace|"+
- "rest|"+
- "revwords|"+
- "setdiff|"+
- "setinter|"+
- "setunion|"+
- "shuffle|"+
- "sort|"+
- "sortby|"+
- "splice|"+
- "step|"+
- "wordpos|"+
- "words|"+
- "add|"+
- "lmath|"+
- "max|"+
- "mean|"+
- "median|"+
- "min|"+
- "mul|"+
- "percent|"+
- "sign|"+
- "stddev|"+
- "sub|"+
- "val|"+
- "bound|"+
- "abs|"+
- "inc|"+
- "dec|"+
- "dist2d|"+
- "dist3d|"+
- "div|"+
- "floordiv|"+
- "mod|"+
- "modulo|"+
- "remainder|"+
- "vadd|"+
- "vdim|"+
- "vdot|"+
- "vmag|"+
- "vmax|"+
- "vmin|"+
- "vmul|"+
- "vsub|"+
- "vunit|"+
- "regedit|"+
- "regeditall|"+
- "regeditalli|"+
- "regediti|"+
- "regmatch|"+
- "regmatchi|"+
- "regrab|"+
- "regraball|"+
- "regraballi|"+
- "regrabi|"+
- "regrep|"+
- "regrepi|"+
- "after|"+
- "alphamin|"+
- "alphamax|"+
- "art|"+
- "before|"+
- "brackets|"+
- "capstr|"+
- "case|"+
- "caseall|"+
- "center|"+
- "containsfansi|"+
- "comp|"+
- "decompose|"+
- "decrypt|"+
- "delete|"+
- "edit|"+
- "encrypt|"+
- "escape|"+
- "if|"+
- "ifelse|"+
- "lcstr|"+
- "left|"+
- "lit|"+
- "ljust|"+
- "merge|"+
- "mid|"+
- "ostrlen|"+
- "pos|"+
- "repeat|"+
- "reverse|"+
- "right|"+
- "rjust|"+
- "scramble|"+
- "secure|"+
- "space|"+
- "spellnum|"+
- "squish|"+
- "strcat|"+
- "strmatch|"+
- "strinsert|"+
- "stripansi|"+
- "stripfansi|"+
- "strlen|"+
- "switch|"+
- "switchall|"+
- "table|"+
- "tr|"+
- "trim|"+
- "ucstr|"+
- "unsafe|"+
- "wrap|"+
- "ctitle|"+
- "cwho|"+
- "channels|"+
- "clock|"+
- "cflags|"+
- "ilev|"+
- "itext|"+
- "inum|"+
- "convsecs|"+
- "convutcsecs|"+
- "convtime|"+
- "ctime|"+
- "etimefmt|"+
- "isdaylight|"+
- "mtime|"+
- "secs|"+
- "msecs|"+
- "starttime|"+
- "time|"+
- "timefmt|"+
- "timestring|"+
- "utctime|"+
- "atrlock|"+
- "clone|"+
- "create|"+
- "cook|"+
- "dig|"+
- "emit|"+
- "lemit|"+
- "link|"+
- "oemit|"+
- "open|"+
- "pemit|"+
- "remit|"+
- "set|"+
- "tel|"+
- "wipe|"+
- "zemit|"+
- "fbcreate|"+
- "fbdestroy|"+
- "fbwrite|"+
- "fbclear|"+
- "fbcopy|"+
- "fbcopyto|"+
- "fbclip|"+
- "fbdump|"+
- "fbflush|"+
- "fbhset|"+
- "fblist|"+
- "fbstats|"+
- "qentries|"+
- "qentry|"+
- "play|"+
- "ansi|"+
- "break|"+
- "c|"+
- "asc|"+
- "die|"+
- "isdbref|"+
- "isint|"+
- "isnum|"+
- "isletters|"+
- "linecoords|"+
- "localize|"+
- "lnum|"+
- "nameshort|"+
- "null|"+
- "objeval|"+
- "r|"+
- "rand|"+
- "s|"+
- "setq|"+
- "setr|"+
- "soundex|"+
- "soundslike|"+
- "valid|"+
- "vchart|"+
- "vchart2|"+
- "vlabel|"+
- "@@|"+
- "bakerdays|"+
- "bodybuild|"+
- "box|"+
- "capall|"+
- "catalog|"+
- "children|"+
- "ctrailer|"+
- "darttime|"+
- "debt|"+
- "detailbar|"+
- "exploredroom|"+
- "fansitoansi|"+
- "fansitoxansi|"+
- "fullbar|"+
- "halfbar|"+
- "isdarted|"+
- "isnewbie|"+
- "isword|"+
- "lambda|"+
- "lobjects|"+
- "lplayers|"+
- "lthings|"+
- "lvexits|"+
- "lvobjects|"+
- "lvplayers|"+
- "lvthings|"+
- "newswrap|"+
- "numsuffix|"+
- "playerson|"+
- "playersthisweek|"+
- "randomad|"+
- "randword|"+
- "realrandword|"+
- "replacechr|"+
- "second|"+
- "splitamount|"+
- "strlenall|"+
- "text|"+
- "third|"+
- "tofansi|"+
- "totalac|"+
- "unique|"+
- "getaddressroom|"+
- "listpropertycomm|"+
- "listpropertyres|"+
- "lotowner|"+
- "lotrating|"+
- "lotratingcount|"+
- "lotvalue|"+
- "boughtproduct|"+
- "companyabb|"+
- "companyicon|"+
- "companylist|"+
- "companyname|"+
- "companyowners|"+
- "companyvalue|"+
- "employees|"+
- "invested|"+
- "productlist|"+
- "productname|"+
- "productowners|"+
- "productrating|"+
- "productratingcount|"+
- "productsoldat|"+
- "producttype|"+
- "ratedproduct|"+
- "soldproduct|"+
- "topproducts|"+
- "totalspentonproduct|"+
- "totalstock|"+
- "transfermoney|"+
- "uniquebuyercount|"+
- "uniqueproductsbought|"+
- "validcompany|"+
- "deletepicture|"+
- "fbsave|"+
- "getpicturesecurity|"+
- "haspicture|"+
- "listpictures|"+
- "picturesize|"+
- "replacecolor|"+
- "rgbtocolor|"+
- "savepicture|"+
- "setpicturesecurity|"+
- "showpicture|"+
- "piechart|"+
- "piechartlabel|"+
- "createmaze|"+
- "drawmaze|"+
- "drawwireframe"
-    );
-    var keywordMapper = this.createKeywordMapper({
-        "invalid.deprecated": "debugger",
-        "support.function": builtinFunctions,
-        "constant.language": builtinConstants,
-        "keyword": keywords
-    }, "identifier");
-
-    var strPre = "(?:r|u|ur|R|U|UR|Ur|uR)?";
-
-    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
-    var octInteger = "(?:0[oO]?[0-7]+)";
-    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
-    var binInteger = "(?:0[bB][01]+)";
-    var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";
-
-    var exponent = "(?:[eE][+-]?\\d+)";
-    var fraction = "(?:\\.\\d+)";
-    var intPart = "(?:\\d+)";
-    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
-    var exponentFloat = "(?:(?:" + pointFloat + "|" +  intPart + ")" + exponent + ")";
-    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
-
-    this.$rules = {
-        "start" : [
-         {
-                token : "variable", // mush substitution register
-                regex : "%[0-9]{1}"
-         },
-         {
-                token : "variable", // mush substitution register
-                regex : "%q[0-9A-Za-z]{1}"
-         },
-         {
-                token : "variable", // mush special character register
-                regex : "%[a-zA-Z]{1}"
-         },
-         {
-                token: "variable.language",
-                regex: "%[a-z0-9-_]+"
-         },
-        {
-            token : "constant.numeric", // imaginary
-            regex : "(?:" + floatNumber + "|\\d+)[jJ]\\b"
-        }, {
-            token : "constant.numeric", // float
-            regex : floatNumber
-        }, {
-            token : "constant.numeric", // long integer
-            regex : integer + "[lL]\\b"
-        }, {
-            token : "constant.numeric", // integer
-            regex : integer + "\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|#|%|<<|>>|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
-        }, {
-            token : "paren.lparen",
-            regex : "[\\[\\(\\{]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\]\\)\\}]"
-        }, {
-            token : "text",
-            regex : "\\s+"
-        } ]
-    };
-};
-
-oop.inherits(MushCodeRules, TextHighlightRules);
-
-exports.MushCodeRules = MushCodeRules;
-});
-
-define("ace/mode/folding/pythonic",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(markers) {
-    this.foldingStartMarker = new RegExp("([\\[{])(?:\\s*)$|(" + markers + ")(?:\\s*)(?:#.*)?$");
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, match.index);
-            if (match[2])
-                return this.indentationBlock(session, row, match.index + match[2].length);
-            return this.indentationBlock(session, row);
-        }
-    }
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/mushcode",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/mushcode_highlight_rules","ace/mode/folding/pythonic","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var MushCodeRules = require("./mushcode_highlight_rules").MushCodeRules;
-var PythonFoldMode = require("./folding/pythonic").FoldMode;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = MushCodeRules;
-    this.foldingRules = new PythonFoldMode("\\:");
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "#";
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[\:]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-   var outdents = {
-        "pass": 1,
-        "return": 1,
-        "raise": 1,
-        "break": 1,
-        "continue": 1
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        if (input !== "\r\n" && input !== "\r" && input !== "\n")
-            return false;
-
-        var tokens = this.getTokenizer().getLineTokens(line.trim(), state).tokens;
-
-        if (!tokens)
-            return false;
-        do {
-            var last = tokens.pop();
-        } while (last && (last.type == "comment" || (last.type == "text" && last.value.match(/^\s+$/))));
-
-        if (!last)
-            return false;
-
-        return (last.type == "keyword" && outdents[last.value]);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-
-        row += 1;
-        var indent = this.$getIndent(doc.getLine(row));
-        var tab = doc.getTabString();
-        if (indent.slice(-tab.length) == tab)
-            doc.remove(new Range(row, indent.length-tab.length, row, indent.length));
-    };
-
-    this.$id = "ace/mode/mushcode";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 53
services/web/public/js/ace/src/mode-mysql.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 50
services/web/public/js/ace/src/mode-nix.js


Разлика између датотеке није приказан због своје велике величине
+ 0 - 50
services/web/public/js/ace/src/mode-objectivec.js


+ 0 - 414
services/web/public/js/ace/src/mode-ocaml.js

@@ -1,414 +0,0 @@
-define("ace/mode/ocaml_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var OcamlHighlightRules = function() {
-
-    var keywords = (
-        "and|as|assert|begin|class|constraint|do|done|downto|else|end|"  +
-        "exception|external|for|fun|function|functor|if|in|include|"     +
-        "inherit|initializer|lazy|let|match|method|module|mutable|new|"  +
-        "object|of|open|or|private|rec|sig|struct|then|to|try|type|val|" +
-        "virtual|when|while|with"
-    );
-
-    var builtinConstants = ("true|false");
-
-    var builtinFunctions = (
-        "abs|abs_big_int|abs_float|abs_num|abstract_tag|accept|access|acos|add|" +
-        "add_available_units|add_big_int|add_buffer|add_channel|add_char|" +
-        "add_initializer|add_int_big_int|add_interfaces|add_num|add_string|" +
-        "add_substitute|add_substring|alarm|allocated_bytes|allow_only|" +
-        "allow_unsafe_modules|always|append|appname_get|appname_set|" +
-        "approx_num_exp|approx_num_fix|arg|argv|arith_status|array|" +
-        "array1_of_genarray|array2_of_genarray|array3_of_genarray|asin|asr|" +
-        "assoc|assq|at_exit|atan|atan2|auto_synchronize|background|basename|" +
-        "beginning_of_input|big_int_of_int|big_int_of_num|big_int_of_string|bind|" +
-        "bind_class|bind_tag|bits|bits_of_float|black|blit|blit_image|blue|bool|" +
-        "bool_of_string|bounded_full_split|bounded_split|bounded_split_delim|" +
-        "bprintf|break|broadcast|bscanf|button_down|c_layout|capitalize|cardinal|" +
-        "cardinal|catch|catch_break|ceil|ceiling_num|channel|char|char_of_int|" +
-        "chdir|check|check_suffix|chmod|choose|chop_extension|chop_suffix|chown|" +
-        "chown|chr|chroot|classify_float|clear|clear_available_units|" +
-        "clear_close_on_exec|clear_graph|clear_nonblock|clear_parser|" +
-        "close|close|closeTk|close_box|close_graph|close_in|close_in_noerr|" +
-        "close_out|close_out_noerr|close_process|close_process|" +
-        "close_process_full|close_process_in|close_process_out|close_subwindow|" +
-        "close_tag|close_tbox|closedir|closedir|closure_tag|code|combine|" +
-        "combine|combine|command|compact|compare|compare_big_int|compare_num|" +
-        "complex32|complex64|concat|conj|connect|contains|contains_from|contents|" +
-        "copy|cos|cosh|count|count|counters|create|create_alarm|create_image|" +
-        "create_matrix|create_matrix|create_matrix|create_object|" +
-        "create_object_and_run_initializers|create_object_opt|create_process|" +
-        "create_process|create_process_env|create_process_env|create_table|" +
-        "current|current_dir_name|current_point|current_x|current_y|curveto|" +
-        "custom_tag|cyan|data_size|decr|decr_num|default_available_units|delay|" +
-        "delete_alarm|descr_of_in_channel|descr_of_out_channel|destroy|diff|dim|" +
-        "dim1|dim2|dim3|dims|dirname|display_mode|div|div_big_int|div_num|" +
-        "double_array_tag|double_tag|draw_arc|draw_char|draw_circle|draw_ellipse|" +
-        "draw_image|draw_poly|draw_poly_line|draw_rect|draw_segments|draw_string|" +
-        "dummy_pos|dummy_table|dump_image|dup|dup2|elements|empty|end_of_input|" +
-        "environment|eprintf|epsilon_float|eq_big_int|eq_num|equal|err_formatter|" +
-        "error_message|escaped|establish_server|executable_name|execv|execve|execvp|" +
-        "execvpe|exists|exists2|exit|exp|failwith|fast_sort|fchmod|fchown|field|" +
-        "file|file_exists|fill|fill_arc|fill_circle|fill_ellipse|fill_poly|fill_rect|" +
-        "filter|final_tag|finalise|find|find_all|first_chars|firstkey|flatten|" +
-        "float|float32|float64|float_of_big_int|float_of_bits|float_of_int|" +
-        "float_of_num|float_of_string|floor|floor_num|flush|flush_all|flush_input|" +
-        "flush_str_formatter|fold|fold_left|fold_left2|fold_right|fold_right2|" +
-        "for_all|for_all2|force|force_newline|force_val|foreground|fork|" +
-        "format_of_string|formatter_of_buffer|formatter_of_out_channel|" +
-        "fortran_layout|forward_tag|fprintf|frexp|from|from_channel|from_file|" +
-        "from_file_bin|from_function|from_string|fscanf|fst|fstat|ftruncate|" +
-        "full_init|full_major|full_split|gcd_big_int|ge_big_int|ge_num|" +
-        "genarray_of_array1|genarray_of_array2|genarray_of_array3|get|" +
-        "get_all_formatter_output_functions|get_approx_printing|get_copy|" +
-        "get_ellipsis_text|get_error_when_null_denominator|get_floating_precision|" +
-        "get_formatter_output_functions|get_formatter_tag_functions|get_image|" +
-        "get_margin|get_mark_tags|get_max_boxes|get_max_indent|get_method|" +
-        "get_method_label|get_normalize_ratio|get_normalize_ratio_when_printing|" +
-        "get_print_tags|get_state|get_variable|getcwd|getegid|getegid|getenv|" +
-        "getenv|getenv|geteuid|geteuid|getgid|getgid|getgrgid|getgrgid|getgrnam|" +
-        "getgrnam|getgroups|gethostbyaddr|gethostbyname|gethostname|getitimer|" +
-        "getlogin|getpeername|getpid|getppid|getprotobyname|getprotobynumber|" +
-        "getpwnam|getpwuid|getservbyname|getservbyport|getsockname|getsockopt|" +
-        "getsockopt_float|getsockopt_int|getsockopt_optint|gettimeofday|getuid|" +
-        "global_replace|global_substitute|gmtime|green|grid|group_beginning|" +
-        "group_end|gt_big_int|gt_num|guard|handle_unix_error|hash|hash_param|" +
-        "hd|header_size|i|id|ignore|in_channel_length|in_channel_of_descr|incr|" +
-        "incr_num|index|index_from|inet_addr_any|inet_addr_of_string|infinity|" +
-        "infix_tag|init|init_class|input|input_binary_int|input_byte|input_char|" +
-        "input_line|input_value|int|int16_signed|int16_unsigned|int32|int64|" +
-        "int8_signed|int8_unsigned|int_of_big_int|int_of_char|int_of_float|" +
-        "int_of_num|int_of_string|integer_num|inter|interactive|inv|invalid_arg|" +
-        "is_block|is_empty|is_implicit|is_int|is_int_big_int|is_integer_num|" +
-        "is_relative|iter|iter2|iteri|join|junk|key_pressed|kill|kind|kprintf|" +
-        "kscanf|land|last_chars|layout|lazy_from_fun|lazy_from_val|lazy_is_val|" +
-        "lazy_tag|ldexp|le_big_int|le_num|length|lexeme|lexeme_char|lexeme_end|" +
-        "lexeme_end_p|lexeme_start|lexeme_start_p|lineto|link|list|listen|lnot|" +
-        "loadfile|loadfile_private|localtime|lock|lockf|log|log10|logand|lognot|" +
-        "logor|logxor|lor|lower_window|lowercase|lseek|lsl|lsr|lstat|lt_big_int|" +
-        "lt_num|lxor|magenta|magic|mainLoop|major|major_slice|make|make_formatter|" +
-        "make_image|make_lexer|make_matrix|make_self_init|map|map2|map_file|mapi|" +
-        "marshal|match_beginning|match_end|matched_group|matched_string|max|" +
-        "max_array_length|max_big_int|max_elt|max_float|max_int|max_num|" +
-        "max_string_length|mem|mem_assoc|mem_assq|memq|merge|min|min_big_int|" +
-        "min_elt|min_float|min_int|min_num|minor|minus_big_int|minus_num|" +
-        "minus_one|mkdir|mkfifo|mktime|mod|mod_big_int|mod_float|mod_num|modf|" +
-        "mouse_pos|moveto|mul|mult_big_int|mult_int_big_int|mult_num|nan|narrow|" +
-        "nat_of_num|nativeint|neg|neg_infinity|new_block|new_channel|new_method|" +
-        "new_variable|next|nextkey|nice|nice|no_scan_tag|norm|norm2|not|npeek|" +
-        "nth|nth_dim|num_digits_big_int|num_dims|num_of_big_int|num_of_int|" +
-        "num_of_nat|num_of_ratio|num_of_string|O|obj|object_tag|ocaml_version|" +
-        "of_array|of_channel|of_float|of_int|of_int32|of_list|of_nativeint|" +
-        "of_string|one|openTk|open_box|open_connection|open_graph|open_hbox|" +
-        "open_hovbox|open_hvbox|open_in|open_in_bin|open_in_gen|open_out|" +
-        "open_out_bin|open_out_gen|open_process|open_process_full|open_process_in|" +
-        "open_process_out|open_subwindow|open_tag|open_tbox|open_temp_file|" +
-        "open_vbox|opendbm|opendir|openfile|or|os_type|out_channel_length|" +
-        "out_channel_of_descr|output|output_binary_int|output_buffer|output_byte|" +
-        "output_char|output_string|output_value|over_max_boxes|pack|params|" +
-        "parent_dir_name|parse|parse_argv|partition|pause|peek|pipe|pixels|" +
-        "place|plot|plots|point_color|polar|poll|pop|pos_in|pos_out|pow|" +
-        "power_big_int_positive_big_int|power_big_int_positive_int|" +
-        "power_int_positive_big_int|power_int_positive_int|power_num|" +
-        "pp_close_box|pp_close_tag|pp_close_tbox|pp_force_newline|" +
-        "pp_get_all_formatter_output_functions|pp_get_ellipsis_text|" +
-        "pp_get_formatter_output_functions|pp_get_formatter_tag_functions|" +
-        "pp_get_margin|pp_get_mark_tags|pp_get_max_boxes|pp_get_max_indent|" +
-        "pp_get_print_tags|pp_open_box|pp_open_hbox|pp_open_hovbox|pp_open_hvbox|" +
-        "pp_open_tag|pp_open_tbox|pp_open_vbox|pp_over_max_boxes|pp_print_as|" +
-        "pp_print_bool|pp_print_break|pp_print_char|pp_print_cut|pp_print_float|" +
-        "pp_print_flush|pp_print_if_newline|pp_print_int|pp_print_newline|" +
-        "pp_print_space|pp_print_string|pp_print_tab|pp_print_tbreak|" +
-        "pp_set_all_formatter_output_functions|pp_set_ellipsis_text|" +
-        "pp_set_formatter_out_channel|pp_set_formatter_output_functions|" +
-        "pp_set_formatter_tag_functions|pp_set_margin|pp_set_mark_tags|" +
-        "pp_set_max_boxes|pp_set_max_indent|pp_set_print_tags|pp_set_tab|" +
-        "pp_set_tags|pred|pred_big_int|pred_num|prerr_char|prerr_endline|" +
-        "prerr_float|prerr_int|prerr_newline|prerr_string|print|print_as|" +
-        "print_bool|print_break|print_char|print_cut|print_endline|print_float|" +
-        "print_flush|print_if_newline|print_int|print_newline|print_space|" +
-        "print_stat|print_string|print_tab|print_tbreak|printf|prohibit|" +
-        "public_method_label|push|putenv|quo_num|quomod_big_int|quote|raise|" +
-        "raise_window|ratio_of_num|rcontains_from|read|read_float|read_int|" +
-        "read_key|read_line|readdir|readdir|readlink|really_input|receive|recv|" +
-        "recvfrom|red|ref|regexp|regexp_case_fold|regexp_string|" +
-        "regexp_string_case_fold|register|register_exception|rem|remember_mode|" +
-        "remove|remove_assoc|remove_assq|rename|replace|replace_first|" +
-        "replace_matched|repr|reset|reshape|reshape_1|reshape_2|reshape_3|rev|" +
-        "rev_append|rev_map|rev_map2|rewinddir|rgb|rhs_end|rhs_end_pos|rhs_start|" +
-        "rhs_start_pos|rindex|rindex_from|rlineto|rmdir|rmoveto|round_num|" +
-        "run_initializers|run_initializers_opt|scanf|search_backward|" +
-        "search_forward|seek_in|seek_out|select|self|self_init|send|sendto|set|" +
-        "set_all_formatter_output_functions|set_approx_printing|" +
-        "set_binary_mode_in|set_binary_mode_out|set_close_on_exec|" +
-        "set_close_on_exec|set_color|set_ellipsis_text|" +
-        "set_error_when_null_denominator|set_field|set_floating_precision|" +
-        "set_font|set_formatter_out_channel|set_formatter_output_functions|" +
-        "set_formatter_tag_functions|set_line_width|set_margin|set_mark_tags|" +
-        "set_max_boxes|set_max_indent|set_method|set_nonblock|set_nonblock|" +
-        "set_normalize_ratio|set_normalize_ratio_when_printing|set_print_tags|" +
-        "set_signal|set_state|set_tab|set_tag|set_tags|set_text_size|" +
-        "set_window_title|setgid|setgid|setitimer|setitimer|setsid|setsid|" +
-        "setsockopt|setsockopt|setsockopt_float|setsockopt_float|setsockopt_int|" +
-        "setsockopt_int|setsockopt_optint|setsockopt_optint|setuid|setuid|" +
-        "shift_left|shift_left|shift_left|shift_right|shift_right|shift_right|" +
-        "shift_right_logical|shift_right_logical|shift_right_logical|show_buckets|" +
-        "shutdown|shutdown|shutdown_connection|shutdown_connection|sigabrt|" +
-        "sigalrm|sigchld|sigcont|sigfpe|sighup|sigill|sigint|sigkill|sign_big_int|" +
-        "sign_num|signal|signal|sigpending|sigpending|sigpipe|sigprocmask|" +
-        "sigprocmask|sigprof|sigquit|sigsegv|sigstop|sigsuspend|sigsuspend|" +
-        "sigterm|sigtstp|sigttin|sigttou|sigusr1|sigusr2|sigvtalrm|sin|singleton|" +
-        "sinh|size|size|size_x|size_y|sleep|sleep|sleep|slice_left|slice_left|" +
-        "slice_left_1|slice_left_2|slice_right|slice_right|slice_right_1|" +
-        "slice_right_2|snd|socket|socket|socket|socketpair|socketpair|sort|sound|" +
-        "split|split_delim|sprintf|sprintf|sqrt|sqrt|sqrt_big_int|square_big_int|" +
-        "square_num|sscanf|stable_sort|stable_sort|stable_sort|stable_sort|stable_sort|" +
-        "stable_sort|stat|stat|stat|stat|stat|stats|stats|std_formatter|stdbuf|" +
-        "stderr|stderr|stderr|stdib|stdin|stdin|stdin|stdout|stdout|stdout|" +
-        "str_formatter|string|string_after|string_before|string_match|" +
-        "string_of_big_int|string_of_bool|string_of_float|string_of_format|" +
-        "string_of_inet_addr|string_of_inet_addr|string_of_int|string_of_num|" +
-        "string_partial_match|string_tag|sub|sub|sub_big_int|sub_left|sub_num|" +
-        "sub_right|subset|subset|substitute_first|substring|succ|succ|" +
-        "succ|succ|succ_big_int|succ_num|symbol_end|symbol_end_pos|symbol_start|" +
-        "symbol_start_pos|symlink|symlink|sync|synchronize|system|system|system|" +
-        "tag|take|tan|tanh|tcdrain|tcdrain|tcflow|tcflow|tcflush|tcflush|" +
-        "tcgetattr|tcgetattr|tcsendbreak|tcsendbreak|tcsetattr|tcsetattr|" +
-        "temp_file|text_size|time|time|time|timed_read|timed_write|times|times|" +
-        "tl|tl|tl|to_buffer|to_channel|to_float|to_hex|to_int|to_int32|to_list|" +
-        "to_list|to_list|to_nativeint|to_string|to_string|to_string|to_string|" +
-        "to_string|top|top|total_size|transfer|transp|truncate|truncate|truncate|" +
-        "truncate|truncate|truncate|try_lock|umask|umask|uncapitalize|uncapitalize|" +
-        "uncapitalize|union|union|unit_big_int|unlink|unlink|unlock|unmarshal|" +
-        "unsafe_blit|unsafe_fill|unsafe_get|unsafe_get|unsafe_set|unsafe_set|" +
-        "update|uppercase|uppercase|uppercase|uppercase|usage|utimes|utimes|wait|" +
-        "wait|wait|wait|wait_next_event|wait_pid|wait_read|wait_signal|" +
-        "wait_timed_read|wait_timed_write|wait_write|waitpid|white|" +
-        "widen|window_id|word_size|wrap|wrap_abort|write|yellow|yield|zero|zero_big_int|" +
-
-        "Arg|Arith_status|Array|Array1|Array2|Array3|ArrayLabels|Big_int|Bigarray|" +
-        "Buffer|Callback|CamlinternalOO|Char|Complex|Condition|Dbm|Digest|Dynlink|" +
-        "Event|Filename|Format|Gc|Genarray|Genlex|Graphics|GraphicsX11|Hashtbl|" +
-        "Int32|Int64|LargeFile|Lazy|Lexing|List|ListLabels|Make|Map|Marshal|" +
-        "MoreLabels|Mutex|Nativeint|Num|Obj|Oo|Parsing|Pervasives|Printexc|" +
-        "Printf|Queue|Random|Scanf|Scanning|Set|Sort|Stack|State|StdLabels|Str|" +
-        "Stream|String|StringLabels|Sys|Thread|ThreadUnix|Tk|Unix|UnixLabels|Weak"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language": "this",
-        "keyword": keywords,
-        "constant.language": builtinConstants,
-        "support.function": builtinFunctions
-    }, "identifier");
-
-    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
-    var octInteger = "(?:0[oO]?[0-7]+)";
-    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
-    var binInteger = "(?:0[bB][01]+)";
-    var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";
-
-    var exponent = "(?:[eE][+-]?\\d+)";
-    var fraction = "(?:\\.\\d+)";
-    var intPart = "(?:\\d+)";
-    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
-    var exponentFloat = "(?:(?:" + pointFloat + "|" +  intPart + ")" + exponent + ")";
-    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : '\\(\\*.*?\\*\\)\\s*?$'
-            },
-            {
-                token : "comment",
-                regex : '\\(\\*.*',
-                next : "comment"
-            },
-            {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            },
-            {
-                token : "string", // single char
-                regex : "'.'"
-            },
-            {
-                token : "string", // " string
-                regex : '"',
-                next  : "qstring"
-            },
-            {
-                token : "constant.numeric", // imaginary
-                regex : "(?:" + floatNumber + "|\\d+)[jJ]\\b"
-            },
-            {
-                token : "constant.numeric", // float
-                regex : floatNumber
-            },
-            {
-                token : "constant.numeric", // integer
-                regex : integer + "\\b"
-            },
-            {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            },
-            {
-                token : "keyword.operator",
-                regex : "\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|="
-            },
-            {
-                token : "paren.lparen",
-                regex : "[[({]"
-            },
-            {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            },
-            {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment", // closing comment
-                regex : ".*?\\*\\)",
-                next : "start"
-            },
-            {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ],
-
-        "qstring" : [
-            {
-                token : "string",
-                regex : '"',
-                next : "start"
-            }, {
-                token : "string",
-                regex : '.+'
-            }
-        ]
-    };
-};
-
-oop.inherits(OcamlHighlightRules, TextHighlightRules);
-
-exports.OcamlHighlightRules = OcamlHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/ocaml",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/ocaml_highlight_rules","ace/mode/matching_brace_outdent","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var OcamlHighlightRules = require("./ocaml_highlight_rules").OcamlHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = OcamlHighlightRules;
-    
-    this.$outdent   = new MatchingBraceOutdent();
-};
-oop.inherits(Mode, TextMode);
-
-var indenter = /(?:[({[=:]|[-=]>|\b(?:else|try|with))\s*$/;
-
-(function() {
-
-    this.toggleCommentLines = function(state, doc, startRow, endRow) {
-        var i, line;
-        var outdent = true;
-        var re = /^\s*\(\*(.*)\*\)/;
-
-        for (i=startRow; i<= endRow; i++) {
-            if (!re.test(doc.getLine(i))) {
-                outdent = false;
-                break;
-            }
-        }
-
-        var range = new Range(0, 0, 0, 0);
-        for (i=startRow; i<= endRow; i++) {
-            line = doc.getLine(i);
-            range.start.row  = i;
-            range.end.row    = i;
-            range.end.column = line.length;
-
-            doc.replace(range, outdent ? line.match(re)[1] : "(*" + line + "*)");
-        }
-    };
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-        var tokens = this.getTokenizer().getLineTokens(line, state).tokens;
-
-        if (!(tokens.length && tokens[tokens.length - 1].type === 'comment') &&
-            state === 'start' && indenter.test(line))
-            indent += tab;
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/ocaml";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 197
services/web/public/js/ace/src/mode-pascal.js

@@ -1,197 +0,0 @@
-define("ace/mode/pascal_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PascalHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { caseInsensitive: true,
-           token: 'keyword.control.pascal',
-           regex: '\\b(?:(absolute|abstract|all|and|and_then|array|as|asm|attribute|begin|bindable|case|class|const|constructor|destructor|div|do|do|else|end|except|export|exports|external|far|file|finalization|finally|for|forward|goto|if|implementation|import|in|inherited|initialization|interface|interrupt|is|label|library|mod|module|name|near|nil|not|object|of|only|operator|or|or_else|otherwise|packed|pow|private|program|property|protected|public|published|qualified|record|repeat|resident|restricted|segment|set|shl|shr|then|to|try|type|unit|until|uses|value|var|view|virtual|while|with|xor))\\b' },
-         { caseInsensitive: true,           
-           token: 
-            [ 'variable.pascal', "text",
-              'storage.type.prototype.pascal',
-              'entity.name.function.prototype.pascal' ],
-           regex: '\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?(?=(?:\\(.*?\\))?;\\s*(?:attribute|forward|external))' },
-         { caseInsensitive: true,
-           token: 
-            [ 'variable.pascal', "text",
-              'storage.type.function.pascal',
-              'entity.name.function.pascal' ],
-           regex: '\\b(function|procedure)(\\s+)(\\w+)(\\.\\w+)?' },
-         { token: 'constant.numeric.pascal',
-           regex: '\\b((0(x|X)[0-9a-fA-F]*)|(([0-9]+\\.?[0-9]*)|(\\.[0-9]+))((e|E)(\\+|-)?[0-9]+)?)(L|l|UL|ul|u|U|F|f|ll|LL|ull|ULL)?\\b' },
-         { token: 'punctuation.definition.comment.pascal',
-           regex: '--.*$',
-           push_: 
-            [ { token: 'comment.line.double-dash.pascal.one',
-                regex: '$',
-                next: 'pop' },
-              { defaultToken: 'comment.line.double-dash.pascal.one' } ] },
-         { token: 'punctuation.definition.comment.pascal',
-           regex: '//.*$',
-           push_: 
-            [ { token: 'comment.line.double-slash.pascal.two',
-                regex: '$',
-                next: 'pop' },
-              { defaultToken: 'comment.line.double-slash.pascal.two' } ] },
-         { token: 'punctuation.definition.comment.pascal',
-           regex: '\\(\\*',
-           push: 
-            [ { token: 'punctuation.definition.comment.pascal',
-                regex: '\\*\\)',
-                next: 'pop' },
-              { defaultToken: 'comment.block.pascal.one' } ] },
-         { token: 'punctuation.definition.comment.pascal',
-           regex: '\\{',
-           push: 
-            [ { token: 'punctuation.definition.comment.pascal',
-                regex: '\\}',
-                next: 'pop' },
-              { defaultToken: 'comment.block.pascal.two' } ] },
-         { token: 'punctuation.definition.string.begin.pascal',
-           regex: '"',
-           push: 
-            [ { token: 'constant.character.escape.pascal', regex: '\\\\.' },
-              { token: 'punctuation.definition.string.end.pascal',
-                regex: '"',
-                next: 'pop' },
-              { defaultToken: 'string.quoted.double.pascal' } ],
-            },
-         { token: 'punctuation.definition.string.begin.pascal',
-           regex: '\'',
-           push: 
-            [ { token: 'constant.character.escape.apostrophe.pascal',
-                regex: '\'\'' },
-              { token: 'punctuation.definition.string.end.pascal',
-                regex: '\'',
-                next: 'pop' },
-              { defaultToken: 'string.quoted.single.pascal' } ] },
-          { token: 'keyword.operator',
-           regex: '[+\\-;,/*%]|:=|=' } ] }
-    
-    this.normalizeRules();
-};
-
-oop.inherits(PascalHighlightRules, TextHighlightRules);
-
-exports.PascalHighlightRules = PascalHighlightRules;
-});
-
-define("ace/mode/folding/coffee",["require","exports","module","ace/lib/oop","ace/mode/folding/fold_mode","ace/range"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var BaseFoldMode = require("./fold_mode").FoldMode;
-var Range = require("../../range").Range;
-
-var FoldMode = exports.FoldMode = function() {};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.getFoldWidgetRange = function(session, foldStyle, row) {
-        var range = this.indentationBlock(session, row);
-        if (range)
-            return range;
-
-        var re = /\S/;
-        var line = session.getLine(row);
-        var startLevel = line.search(re);
-        if (startLevel == -1 || line[startLevel] != "#")
-            return;
-
-        var startColumn = line.length;
-        var maxRow = session.getLength();
-        var startRow = row;
-        var endRow = row;
-
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var level = line.search(re);
-
-            if (level == -1)
-                continue;
-
-            if (line[level] != "#")
-                break;
-
-            endRow = row;
-        }
-
-        if (endRow > startRow) {
-            var endColumn = session.getLine(endRow).length;
-            return new Range(startRow, startColumn, endRow, endColumn);
-        }
-    };
-    this.getFoldWidget = function(session, foldStyle, row) {
-        var line = session.getLine(row);
-        var indent = line.search(/\S/);
-        var next = session.getLine(row + 1);
-        var prev = session.getLine(row - 1);
-        var prevIndent = prev.search(/\S/);
-        var nextIndent = next.search(/\S/);
-
-        if (indent == -1) {
-            session.foldWidgets[row - 1] = prevIndent!= -1 && prevIndent < nextIndent ? "start" : "";
-            return "";
-        }
-        if (prevIndent == -1) {
-            if (indent == nextIndent && line[indent] == "#" && next[indent] == "#") {
-                session.foldWidgets[row - 1] = "";
-                session.foldWidgets[row + 1] = "";
-                return "start";
-            }
-        } else if (prevIndent == indent && line[indent] == "#" && prev[indent] == "#") {
-            if (session.getLine(row - 2).search(/\S/) == -1) {
-                session.foldWidgets[row - 1] = "start";
-                session.foldWidgets[row + 1] = "";
-                return "";
-            }
-        }
-
-        if (prevIndent!= -1 && prevIndent < indent)
-            session.foldWidgets[row - 1] = "start";
-        else
-            session.foldWidgets[row - 1] = "";
-
-        if (indent < nextIndent)
-            return "start";
-        else
-            return "";
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/pascal",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pascal_highlight_rules","ace/mode/folding/coffee"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var PascalHighlightRules = require("./pascal_highlight_rules").PascalHighlightRules;
-var FoldMode = require("./folding/coffee").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = PascalHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-       
-    this.lineCommentStart = ["--", "//"];
-    this.blockComment = [
-        {start: "(*", end: "*)"},
-        {start: "{", end: "}"}
-    ];
-    
-    this.$id = "ace/mode/pascal";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 328
services/web/public/js/ace/src/mode-perl.js

@@ -1,328 +0,0 @@
-define("ace/mode/perl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PerlHighlightRules = function() {
-
-    var keywords = (
-        "base|constant|continue|else|elsif|for|foreach|format|goto|if|last|local|my|next|" +
-         "no|package|parent|redo|require|scalar|sub|unless|until|while|use|vars"
-    );
-
-    var buildinConstants = ("ARGV|ENV|INC|SIG");
-
-    var builtinFunctions = (
-        "getprotobynumber|getprotobyname|getservbyname|gethostbyaddr|" +
-         "gethostbyname|getservbyport|getnetbyaddr|getnetbyname|getsockname|" +
-         "getpeername|setpriority|getprotoent|setprotoent|getpriority|" +
-         "endprotoent|getservent|setservent|endservent|sethostent|socketpair|" +
-         "getsockopt|gethostent|endhostent|setsockopt|setnetent|quotemeta|" +
-         "localtime|prototype|getnetent|endnetent|rewinddir|wantarray|getpwuid|" +
-         "closedir|getlogin|readlink|endgrent|getgrgid|getgrnam|shmwrite|" +
-         "shutdown|readline|endpwent|setgrent|readpipe|formline|truncate|" +
-         "dbmclose|syswrite|setpwent|getpwnam|getgrent|getpwent|ucfirst|sysread|" +
-         "setpgrp|shmread|sysseek|sysopen|telldir|defined|opendir|connect|" +
-         "lcfirst|getppid|binmode|syscall|sprintf|getpgrp|readdir|seekdir|" +
-         "waitpid|reverse|unshift|symlink|dbmopen|semget|msgrcv|rename|listen|" +
-         "chroot|msgsnd|shmctl|accept|unpack|exists|fileno|shmget|system|" +
-         "unlink|printf|gmtime|msgctl|semctl|values|rindex|substr|splice|" +
-         "length|msgget|select|socket|return|caller|delete|alarm|ioctl|index|" +
-         "undef|lstat|times|srand|chown|fcntl|close|write|umask|rmdir|study|" +
-         "sleep|chomp|untie|print|utime|mkdir|atan2|split|crypt|flock|chmod|" +
-         "BEGIN|bless|chdir|semop|shift|reset|link|stat|chop|grep|fork|dump|" +
-         "join|open|tell|pipe|exit|glob|warn|each|bind|sort|pack|eval|push|" +
-         "keys|getc|kill|seek|sqrt|send|wait|rand|tied|read|time|exec|recv|" +
-         "eof|chr|int|ord|exp|pos|pop|sin|log|abs|oct|hex|tie|cos|vec|END|ref|" +
-         "map|die|uc|lc|do"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": keywords,
-        "constant.language": buildinConstants,
-        "support.function": builtinFunctions
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment.doc",
-                regex : "^=(?:begin|item)\\b",
-                next : "block_comment"
-            }, {
-                token : "string.regexp",
-                regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // multi line string start
-                regex : '["].*\\\\$',
-                next : "qqstring"
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "string", // multi line string start
-                regex : "['].*\\\\$",
-                next : "qstring"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0x[0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "%#|\\$#|\\.\\.\\.|\\|\\|=|>>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"
-            }, {
-                token : "comment",
-                regex : "#.*$"
-            }, {
-                token : "lparen",
-                regex : "[[({]"
-            }, {
-                token : "rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "qqstring" : [
-            {
-                token : "string",
-                regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
-                next : "start"
-            }, {
-                token : "string",
-                regex : '.+'
-            }
-        ],
-        "qstring" : [
-            {
-                token : "string",
-                regex : "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
-                next : "start"
-            }, {
-                token : "string",
-                regex : '.+'
-            }
-        ],
-        "block_comment": [
-            {
-                token: "comment.doc", 
-                regex: "^=cut\\b",
-                next: "start"
-            },
-            {
-                defaultToken: "comment.doc"
-            }
-        ]
-    };
-};
-
-oop.inherits(PerlHighlightRules, TextHighlightRules);
-
-exports.PerlHighlightRules = PerlHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/perl",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/perl_highlight_rules","ace/mode/matching_brace_outdent","ace/range","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var PerlHighlightRules = require("./perl_highlight_rules").PerlHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var Range = require("../range").Range;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = PerlHighlightRules;
-    
-    this.$outdent = new MatchingBraceOutdent();
-    this.foldingRules = new CStyleFoldMode({start: "^=(begin|item)\\b", end: "^=(cut)\\b"});
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "#";
-    this.blockComment = [
-        {start: "=begin", end: "=cut"},
-        {start: "=item", end: "=cut"}
-    ];
-
-
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[\:]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-    this.$id = "ace/mode/perl";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 1328
services/web/public/js/ace/src/mode-pgsql.js

@@ -1,1328 +0,0 @@
-define("ace/mode/doc_comment_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var DocCommentHighlightRules = function() {
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment.doc.tag",
-            regex : "@[\\w\\d_]+" // TODO: fix email addresses
-        }, {
-            token : "comment.doc.tag",
-            regex : "\\bTODO\\b"
-        }, {
-            defaultToken : "comment.doc"
-        }]
-    };
-};
-
-oop.inherits(DocCommentHighlightRules, TextHighlightRules);
-
-DocCommentHighlightRules.getStartRule = function(start) {
-    return {
-        token : "comment.doc", // doc comment
-        regex : "\\/\\*(?=\\*)",
-        next  : start
-    };
-};
-
-DocCommentHighlightRules.getEndRule = function (start) {
-    return {
-        token : "comment.doc", // closing comment
-        regex : "\\*\\/",
-        next  : start
-    };
-};
-
-
-exports.DocCommentHighlightRules = DocCommentHighlightRules;
-
-});
-
-define("ace/mode/perl_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PerlHighlightRules = function() {
-
-    var keywords = (
-        "base|constant|continue|else|elsif|for|foreach|format|goto|if|last|local|my|next|" +
-         "no|package|parent|redo|require|scalar|sub|unless|until|while|use|vars"
-    );
-
-    var buildinConstants = ("ARGV|ENV|INC|SIG");
-
-    var builtinFunctions = (
-        "getprotobynumber|getprotobyname|getservbyname|gethostbyaddr|" +
-         "gethostbyname|getservbyport|getnetbyaddr|getnetbyname|getsockname|" +
-         "getpeername|setpriority|getprotoent|setprotoent|getpriority|" +
-         "endprotoent|getservent|setservent|endservent|sethostent|socketpair|" +
-         "getsockopt|gethostent|endhostent|setsockopt|setnetent|quotemeta|" +
-         "localtime|prototype|getnetent|endnetent|rewinddir|wantarray|getpwuid|" +
-         "closedir|getlogin|readlink|endgrent|getgrgid|getgrnam|shmwrite|" +
-         "shutdown|readline|endpwent|setgrent|readpipe|formline|truncate|" +
-         "dbmclose|syswrite|setpwent|getpwnam|getgrent|getpwent|ucfirst|sysread|" +
-         "setpgrp|shmread|sysseek|sysopen|telldir|defined|opendir|connect|" +
-         "lcfirst|getppid|binmode|syscall|sprintf|getpgrp|readdir|seekdir|" +
-         "waitpid|reverse|unshift|symlink|dbmopen|semget|msgrcv|rename|listen|" +
-         "chroot|msgsnd|shmctl|accept|unpack|exists|fileno|shmget|system|" +
-         "unlink|printf|gmtime|msgctl|semctl|values|rindex|substr|splice|" +
-         "length|msgget|select|socket|return|caller|delete|alarm|ioctl|index|" +
-         "undef|lstat|times|srand|chown|fcntl|close|write|umask|rmdir|study|" +
-         "sleep|chomp|untie|print|utime|mkdir|atan2|split|crypt|flock|chmod|" +
-         "BEGIN|bless|chdir|semop|shift|reset|link|stat|chop|grep|fork|dump|" +
-         "join|open|tell|pipe|exit|glob|warn|each|bind|sort|pack|eval|push|" +
-         "keys|getc|kill|seek|sqrt|send|wait|rand|tied|read|time|exec|recv|" +
-         "eof|chr|int|ord|exp|pos|pop|sin|log|abs|oct|hex|tie|cos|vec|END|ref|" +
-         "map|die|uc|lc|do"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "keyword": keywords,
-        "constant.language": buildinConstants,
-        "support.function": builtinFunctions
-    }, "identifier");
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment.doc",
-                regex : "^=(?:begin|item)\\b",
-                next : "block_comment"
-            }, {
-                token : "string.regexp",
-                regex : "[/](?:(?:\\[(?:\\\\]|[^\\]])+\\])|(?:\\\\/|[^\\]/]))*[/]\\w*\\s*(?=[).,;]|$)"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // multi line string start
-                regex : '["].*\\\\$',
-                next : "qqstring"
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "string", // multi line string start
-                regex : "['].*\\\\$",
-                next : "qstring"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0x[0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "%#|\\$#|\\.\\.\\.|\\|\\|=|>>=|<<=|<=>|&&=|=>|!~|\\^=|&=|\\|=|\\.=|x=|%=|\\/=|\\*=|\\-=|\\+=|=~|\\*\\*|\\-\\-|\\.\\.|\\|\\||&&|\\+\\+|\\->|!=|==|>=|<=|>>|<<|,|=|\\?\\:|\\^|\\||x|%|\\/|\\*|<|&|\\\\|~|!|>|\\.|\\-|\\+|\\-C|\\-b|\\-S|\\-u|\\-t|\\-p|\\-l|\\-d|\\-f|\\-g|\\-s|\\-z|\\-k|\\-e|\\-O|\\-T|\\-B|\\-M|\\-A|\\-X|\\-W|\\-c|\\-R|\\-o|\\-x|\\-w|\\-r|\\b(?:and|cmp|eq|ge|gt|le|lt|ne|not|or|xor)"
-            }, {
-                token : "comment",
-                regex : "#.*$"
-            }, {
-                token : "lparen",
-                regex : "[[({]"
-            }, {
-                token : "rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "qqstring" : [
-            {
-                token : "string",
-                regex : '(?:(?:\\\\.)|(?:[^"\\\\]))*?"',
-                next : "start"
-            }, {
-                token : "string",
-                regex : '.+'
-            }
-        ],
-        "qstring" : [
-            {
-                token : "string",
-                regex : "(?:(?:\\\\.)|(?:[^'\\\\]))*?'",
-                next : "start"
-            }, {
-                token : "string",
-                regex : '.+'
-            }
-        ],
-        "block_comment": [
-            {
-                token: "comment.doc", 
-                regex: "^=cut\\b",
-                next: "start"
-            },
-            {
-                defaultToken: "comment.doc"
-            }
-        ]
-    };
-};
-
-oop.inherits(PerlHighlightRules, TextHighlightRules);
-
-exports.PerlHighlightRules = PerlHighlightRules;
-});
-
-define("ace/mode/python_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PythonHighlightRules = function() {
-
-    var keywords = (
-        "and|as|assert|break|class|continue|def|del|elif|else|except|exec|" +
-        "finally|for|from|global|if|import|in|is|lambda|not|or|pass|print|" +
-        "raise|return|try|while|with|yield"
-    );
-
-    var builtinConstants = (
-        "True|False|None|NotImplemented|Ellipsis|__debug__"
-    );
-
-    var builtinFunctions = (
-        "abs|divmod|input|open|staticmethod|all|enumerate|int|ord|str|any|" +
-        "eval|isinstance|pow|sum|basestring|execfile|issubclass|print|super|" +
-        "binfile|iter|property|tuple|bool|filter|len|range|type|bytearray|" +
-        "float|list|raw_input|unichr|callable|format|locals|reduce|unicode|" +
-        "chr|frozenset|long|reload|vars|classmethod|getattr|map|repr|xrange|" +
-        "cmp|globals|max|reversed|zip|compile|hasattr|memoryview|round|" +
-        "__import__|complex|hash|min|set|apply|delattr|help|next|setattr|" +
-        "buffer|dict|hex|object|slice|coerce|dir|id|oct|sorted|intern"
-    );
-    var keywordMapper = this.createKeywordMapper({
-        "invalid.deprecated": "debugger",
-        "support.function": builtinFunctions,
-        "constant.language": builtinConstants,
-        "keyword": keywords
-    }, "identifier");
-
-    var strPre = "(?:r|u|ur|R|U|UR|Ur|uR)?";
-
-    var decimalInteger = "(?:(?:[1-9]\\d*)|(?:0))";
-    var octInteger = "(?:0[oO]?[0-7]+)";
-    var hexInteger = "(?:0[xX][\\dA-Fa-f]+)";
-    var binInteger = "(?:0[bB][01]+)";
-    var integer = "(?:" + decimalInteger + "|" + octInteger + "|" + hexInteger + "|" + binInteger + ")";
-
-    var exponent = "(?:[eE][+-]?\\d+)";
-    var fraction = "(?:\\.\\d+)";
-    var intPart = "(?:\\d+)";
-    var pointFloat = "(?:(?:" + intPart + "?" + fraction + ")|(?:" + intPart + "\\.))";
-    var exponentFloat = "(?:(?:" + pointFloat + "|" +  intPart + ")" + exponent + ")";
-    var floatNumber = "(?:" + exponentFloat + "|" + pointFloat + ")";
-
-    var stringEscape =  "\\\\(x[0-9A-Fa-f]{2}|[0-7]{3}|[\\\\abfnrtv'\"]|U[0-9A-Fa-f]{8}|u[0-9A-Fa-f]{4})";
-
-    this.$rules = {
-        "start" : [ {
-            token : "comment",
-            regex : "#.*$"
-        }, {
-            token : "string",           // multi line """ string start
-            regex : strPre + '"{3}',
-            next : "qqstring3"
-        }, {
-            token : "string",           // " string
-            regex : strPre + '"(?=.)',
-            next : "qqstring"
-        }, {
-            token : "string",           // multi line ''' string start
-            regex : strPre + "'{3}",
-            next : "qstring3"
-        }, {
-            token : "string",           // ' string
-            regex : strPre + "'(?=.)",
-            next : "qstring"
-        }, {
-            token : "constant.numeric", // imaginary
-            regex : "(?:" + floatNumber + "|\\d+)[jJ]\\b"
-        }, {
-            token : "constant.numeric", // float
-            regex : floatNumber
-        }, {
-            token : "constant.numeric", // long integer
-            regex : integer + "[lL]\\b"
-        }, {
-            token : "constant.numeric", // integer
-            regex : integer + "\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_$][a-zA-Z0-9_$]*\\b"
-        }, {
-            token : "keyword.operator",
-            regex : "\\+|\\-|\\*|\\*\\*|\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|="
-        }, {
-            token : "paren.lparen",
-            regex : "[\\[\\(\\{]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\]\\)\\}]"
-        }, {
-            token : "text",
-            regex : "\\s+"
-        } ],
-        "qqstring3" : [ {
-            token : "constant.language.escape",
-            regex : stringEscape
-        }, {
-            token : "string", // multi line """ string end
-            regex : '"{3}',
-            next : "start"
-        }, {
-            defaultToken : "string"
-        } ],
-        "qstring3" : [ {
-            token : "constant.language.escape",
-            regex : stringEscape
-        }, {
-            token : "string",  // multi line ''' string end
-            regex : "'{3}",
-            next : "start"
-        }, {
-            defaultToken : "string"
-        } ],
-        "qqstring" : [{
-            token : "constant.language.escape",
-            regex : stringEscape
-        }, {
-            token : "string",
-            regex : "\\\\$",
-            next  : "qqstring"
-        }, {
-            token : "string",
-            regex : '"|$',
-            next  : "start"
-        }, {
-            defaultToken: "string"
-        }],
-        "qstring" : [{
-            token : "constant.language.escape",
-            regex : stringEscape
-        }, {
-            token : "string",
-            regex : "\\\\$",
-            next  : "qstring"
-        }, {
-            token : "string",
-            regex : "'|$",
-            next  : "start"
-        }, {
-            defaultToken: "string"
-        }]
-    };
-};
-
-oop.inherits(PythonHighlightRules, TextHighlightRules);
-
-exports.PythonHighlightRules = PythonHighlightRules;
-});
-
-define("ace/mode/json_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JsonHighlightRules = function() {
-    this.$rules = {
-        "start" : [
-            {
-                token : "variable", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]\\s*(?=:)'
-            }, {
-                token : "string", // single line
-                regex : '"',
-                next  : "string"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "(?:true|false)\\b"
-            }, {
-                token : "invalid.illegal", // single quoted strings are not allowed
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "invalid.illegal", // comments are not allowed
-                regex : "\\/\\/.*$"
-            }, {
-                token : "paren.lparen",
-                regex : "[[({]"
-            }, {
-                token : "paren.rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "string" : [
-            {
-                token : "constant.language.escape",
-                regex : /\\(?:x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4}|["\\\/bfnrt])/
-            }, {
-                token : "string",
-                regex : '[^"\\\\]+'
-            }, {
-                token : "string",
-                regex : '"',
-                next  : "start"
-            }, {
-                token : "string",
-                regex : "",
-                next  : "start"
-            }
-        ]
-    };
-    
-};
-
-oop.inherits(JsonHighlightRules, TextHighlightRules);
-
-exports.JsonHighlightRules = JsonHighlightRules;
-});
-
-define("ace/mode/javascript_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var JavaScriptHighlightRules = function() {
-    var keywordMapper = this.createKeywordMapper({
-        "variable.language":
-            "Array|Boolean|Date|Function|Iterator|Number|Object|RegExp|String|Proxy|"  + // Constructors
-            "Namespace|QName|XML|XMLList|"                                             + // E4X
-            "ArrayBuffer|Float32Array|Float64Array|Int16Array|Int32Array|Int8Array|"   +
-            "Uint16Array|Uint32Array|Uint8Array|Uint8ClampedArray|"                    +
-            "Error|EvalError|InternalError|RangeError|ReferenceError|StopIteration|"   + // Errors
-            "SyntaxError|TypeError|URIError|"                                          +
-            "decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|eval|isFinite|" + // Non-constructor functions
-            "isNaN|parseFloat|parseInt|"                                               +
-            "JSON|Math|"                                                               + // Other
-            "this|arguments|prototype|window|document"                                 , // Pseudo
-        "keyword":
-            "const|yield|import|get|set|" +
-            "break|case|catch|continue|default|delete|do|else|finally|for|function|" +
-            "if|in|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" +
-            "__parent__|__count__|escape|unescape|with|__proto__|" +
-            "class|enum|extends|super|export|implements|private|public|interface|package|protected|static",
-        "storage.type":
-            "const|let|var|function",
-        "constant.language":
-            "null|Infinity|NaN|undefined",
-        "support.function":
-            "alert",
-        "constant.language.boolean": "true|false"
-    }, "identifier");
-    var kwBeforeRe = "case|do|else|finally|in|instanceof|return|throw|try|typeof|yield|void";
-    var identifierRe = "[a-zA-Z\\$_\u00a1-\uffff][a-zA-Z\\d\\$_\u00a1-\uffff]*\\b";
-
-    var escapedRe = "\\\\(?:x[0-9a-fA-F]{2}|" + // hex
-        "u[0-9a-fA-F]{4}|" + // unicode
-        "[0-2][0-7]{0,2}|" + // oct
-        "3[0-6][0-7]?|" + // oct
-        "37[0-7]?|" + // oct
-        "[4-7][0-7]?|" + //oct
-        ".)";
-
-    this.$rules = {
-        "no_regex" : [
-            {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : /\/\*/,
-                next : "comment"
-            }, {
-                token : "string",
-                regex : "'(?=.)",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : '"(?=.)',
-                next  : "qqstring"
-            }, {
-                token : "constant.numeric", // hex
-                regex : /0[xX][0-9a-fA-F]+\b/
-            }, {
-                token : "constant.numeric", // float
-                regex : /[+-]?\d+(?:(?:\.\d*)?(?:[eE][+-]?\d+)?)?\b/
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "support.function",
-                    "punctuation.operator", "entity.name.function", "text","keyword.operator"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(prototype)(\\.)(" + identifierRe +")(\\s*)(=)",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "keyword.operator", "text", "storage.type",
-                    "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "punctuation.operator", "entity.name.function", "text",
-                    "keyword.operator", "text",
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\.)(" + identifierRe +")(\\s*)(=)(\\s*)(function)(\\s+)(\\w+)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "storage.type", "text", "entity.name.function", "text", "paren.lparen"
-                ],
-                regex : "(function)(\\s+)(" + identifierRe + ")(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "entity.name.function", "text", "punctuation.operator",
-                    "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(" + identifierRe + ")(\\s*)(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : [
-                    "text", "text", "storage.type", "text", "paren.lparen"
-                ],
-                regex : "(:)(\\s*)(function)(\\s*)(\\()",
-                next: "function_arguments"
-            }, {
-                token : "keyword",
-                regex : "(?:" + kwBeforeRe + ")\\b",
-                next : "start"
-            }, {
-                token : ["punctuation.operator", "support.function"],
-                regex : /(\.)(s(?:h(?:ift|ow(?:Mod(?:elessDialog|alDialog)|Help))|croll(?:X|By(?:Pages|Lines)?|Y|To)?|t(?:op|rike)|i(?:n|zeToContent|debar|gnText)|ort|u(?:p|b(?:str(?:ing)?)?)|pli(?:ce|t)|e(?:nd|t(?:Re(?:sizable|questHeader)|M(?:i(?:nutes|lliseconds)|onth)|Seconds|Ho(?:tKeys|urs)|Year|Cursor|Time(?:out)?|Interval|ZOptions|Date|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Date|FullYear)|FullYear|Active)|arch)|qrt|lice|avePreferences|mall)|h(?:ome|andleEvent)|navigate|c(?:har(?:CodeAt|At)|o(?:s|n(?:cat|textual|firm)|mpile)|eil|lear(?:Timeout|Interval)?|a(?:ptureEvents|ll)|reate(?:StyleSheet|Popup|EventObject))|t(?:o(?:GMTString|S(?:tring|ource)|U(?:TCString|pperCase)|Lo(?:caleString|werCase))|est|a(?:n|int(?:Enabled)?))|i(?:s(?:NaN|Finite)|ndexOf|talics)|d(?:isableExternalCapture|ump|etachEvent)|u(?:n(?:shift|taint|escape|watch)|pdateCommands)|j(?:oin|avaEnabled)|p(?:o(?:p|w)|ush|lugins.refresh|a(?:ddings|rse(?:Int|Float)?)|r(?:int|ompt|eference))|e(?:scape|nableExternalCapture|val|lementFromPoint|x(?:p|ec(?:Script|Command)?))|valueOf|UTC|queryCommand(?:State|Indeterm|Enabled|Value)|f(?:i(?:nd|le(?:ModifiedDate|Size|CreatedDate|UpdatedDate)|xed)|o(?:nt(?:size|color)|rward)|loor|romCharCode)|watch|l(?:ink|o(?:ad|g)|astIndexOf)|a(?:sin|nchor|cos|t(?:tachEvent|ob|an(?:2)?)|pply|lert|b(?:s|ort))|r(?:ou(?:nd|teEvents)|e(?:size(?:By|To)|calc|turnValue|place|verse|l(?:oad|ease(?:Capture|Events)))|andom)|g(?:o|et(?:ResponseHeader|M(?:i(?:nutes|lliseconds)|onth)|Se(?:conds|lection)|Hours|Year|Time(?:zoneOffset)?|Da(?:y|te)|UTC(?:M(?:i(?:nutes|lliseconds)|onth)|Seconds|Hours|Da(?:y|te)|FullYear)|FullYear|A(?:ttention|llResponseHeaders)))|m(?:in|ove(?:B(?:y|elow)|To(?:Absolute)?|Above)|ergeAttributes|a(?:tch|rgins|x))|b(?:toa|ig|o(?:ld|rderWidths)|link|ack))\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.function.dom"],
-                regex : /(\.)(s(?:ub(?:stringData|mit)|plitText|e(?:t(?:NamedItem|Attribute(?:Node)?)|lect))|has(?:ChildNodes|Feature)|namedItem|c(?:l(?:ick|o(?:se|neNode))|reate(?:C(?:omment|DATASection|aption)|T(?:Head|extNode|Foot)|DocumentFragment|ProcessingInstruction|E(?:ntityReference|lement)|Attribute))|tabIndex|i(?:nsert(?:Row|Before|Cell|Data)|tem)|open|delete(?:Row|C(?:ell|aption)|T(?:Head|Foot)|Data)|focus|write(?:ln)?|a(?:dd|ppend(?:Child|Data))|re(?:set|place(?:Child|Data)|move(?:NamedItem|Child|Attribute(?:Node)?)?)|get(?:NamedItem|Element(?:sBy(?:Name|TagName)|ById)|Attribute(?:Node)?)|blur)\b(?=\()/
-            }, {
-                token : ["punctuation.operator", "support.constant"],
-                regex : /(\.)(s(?:ystemLanguage|cr(?:ipts|ollbars|een(?:X|Y|Top|Left))|t(?:yle(?:Sheets)?|atus(?:Text|bar)?)|ibling(?:Below|Above)|ource|uffixes|e(?:curity(?:Policy)?|l(?:ection|f)))|h(?:istory|ost(?:name)?|as(?:h|Focus))|y|X(?:MLDocument|SLDocument)|n(?:ext|ame(?:space(?:s|URI)|Prop))|M(?:IN_VALUE|AX_VALUE)|c(?:haracterSet|o(?:n(?:structor|trollers)|okieEnabled|lorDepth|mp(?:onents|lete))|urrent|puClass|l(?:i(?:p(?:boardData)?|entInformation)|osed|asses)|alle(?:e|r)|rypto)|t(?:o(?:olbar|p)|ext(?:Transform|Indent|Decoration|Align)|ags)|SQRT(?:1_2|2)|i(?:n(?:ner(?:Height|Width)|put)|ds|gnoreCase)|zIndex|o(?:scpu|n(?:readystatechange|Line)|uter(?:Height|Width)|p(?:sProfile|ener)|ffscreenBuffering)|NEGATIVE_INFINITY|d(?:i(?:splay|alog(?:Height|Top|Width|Left|Arguments)|rectories)|e(?:scription|fault(?:Status|Ch(?:ecked|arset)|View)))|u(?:ser(?:Profile|Language|Agent)|n(?:iqueID|defined)|pdateInterval)|_content|p(?:ixelDepth|ort|ersonalbar|kcs11|l(?:ugins|atform)|a(?:thname|dding(?:Right|Bottom|Top|Left)|rent(?:Window|Layer)?|ge(?:X(?:Offset)?|Y(?:Offset)?))|r(?:o(?:to(?:col|type)|duct(?:Sub)?|mpter)|e(?:vious|fix)))|e(?:n(?:coding|abledPlugin)|x(?:ternal|pando)|mbeds)|v(?:isibility|endor(?:Sub)?|Linkcolor)|URLUnencoded|P(?:I|OSITIVE_INFINITY)|f(?:ilename|o(?:nt(?:Size|Family|Weight)|rmName)|rame(?:s|Element)|gColor)|E|whiteSpace|l(?:i(?:stStyleType|n(?:eHeight|kColor))|o(?:ca(?:tion(?:bar)?|lName)|wsrc)|e(?:ngth|ft(?:Context)?)|a(?:st(?:M(?:odified|atch)|Index|Paren)|yer(?:s|X)|nguage))|a(?:pp(?:MinorVersion|Name|Co(?:deName|re)|Version)|vail(?:Height|Top|Width|Left)|ll|r(?:ity|guments)|Linkcolor|bove)|r(?:ight(?:Context)?|e(?:sponse(?:XML|Text)|adyState))|global|x|m(?:imeTypes|ultiline|enubar|argin(?:Right|Bottom|Top|Left))|L(?:N(?:10|2)|OG(?:10E|2E))|b(?:o(?:ttom|rder(?:Width|RightWidth|BottomWidth|Style|Color|TopWidth|LeftWidth))|ufferDepth|elow|ackground(?:Color|Image)))\b/
-            }, {
-                token : ["support.constant"],
-                regex : /that\b/
-            }, {
-                token : ["storage.type", "punctuation.operator", "support.function.firebug"],
-                regex : /(console)(\.)(warn|info|log|error|time|trace|timeEnd|assert)\b/
-            }, {
-                token : keywordMapper,
-                regex : identifierRe
-            }, {
-                token : "keyword.operator",
-                regex : /--|\+\+|[!$%&*+\-~]|===|==|=|!=|!==|<=|>=|<<=|>>=|>>>=|<>|<|>|!|&&|\|\||\?\:|\*=|%=|\+=|\-=|&=|\^=/,
-                next  : "start"
-            }, {
-                token : "punctuation.operator",
-                regex : /\?|\:|\,|\;|\./,
-                next  : "start"
-            }, {
-                token : "paren.lparen",
-                regex : /[\[({]/,
-                next  : "start"
-            }, {
-                token : "paren.rparen",
-                regex : /[\])}]/
-            }, {
-                token : "keyword.operator",
-                regex : /\/=?/,
-                next  : "start"
-            }, {
-                token: "comment",
-                regex: /^#!.*$/
-            }
-        ],
-        "start": [
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi line comment
-                regex : "\\/\\*",
-                next : "comment_regex_allowed"
-            }, {
-                token : "comment",
-                regex : "\\/\\/",
-                next : "line_comment_regex_allowed"
-            }, {
-                token: "string.regexp",
-                regex: "\\/",
-                next: "regex"
-            }, {
-                token : "text",
-                regex : "\\s+|^$",
-                next : "start"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "regex": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "string.regexp",
-                regex: "/[sxngimy]*",
-                next: "no_regex"
-            }, {
-                token : "invalid",
-                regex: /\{\d+\b,?\d*\}[+*]|[+*$^?][+*]|[$^][?]|\?{3,}/
-            }, {
-                token : "constant.language.escape",
-                regex: /\(\?[:=!]|\)|\{\d+\b,?\d*\}|[+*]\?|[()$^+*?.]/
-            }, {
-                token : "constant.language.delimiter",
-                regex: /\|/
-            }, {
-                token: "constant.language.escape",
-                regex: /\[\^?/,
-                next: "regex_character_class"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp"
-            }
-        ],
-        "regex_character_class": [
-            {
-                token: "regexp.keyword.operator",
-                regex: "\\\\(?:u[\\da-fA-F]{4}|x[\\da-fA-F]{2}|.)"
-            }, {
-                token: "constant.language.escape",
-                regex: "]",
-                next: "regex"
-            }, {
-                token: "constant.language.escape",
-                regex: "-"
-            }, {
-                token: "empty",
-                regex: "$",
-                next: "no_regex"
-            }, {
-                defaultToken: "string.regexp.charachterclass"
-            }
-        ],
-        "function_arguments": [
-            {
-                token: "variable.parameter",
-                regex: identifierRe
-            }, {
-                token: "punctuation.operator",
-                regex: "[, ]+"
-            }, {
-                token: "punctuation.operator",
-                regex: "$"
-            }, {
-                token: "empty",
-                regex: "",
-                next: "no_regex"
-            }
-        ],
-        "comment_regex_allowed" : [
-            {token : "comment", regex : "\\*\\/", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "comment" : [
-            {token : "comment", regex : "\\*\\/", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment_regex_allowed" : [
-            {token : "comment", regex : "$|^", next : "start"},
-            {defaultToken : "comment"}
-        ],
-        "line_comment" : [
-            {token : "comment", regex : "$|^", next : "no_regex"},
-            {defaultToken : "comment"}
-        ],
-        "qqstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qqstring"
-            }, {
-                token : "string",
-                regex : '"|$',
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ],
-        "qstring" : [
-            {
-                token : "constant.language.escape",
-                regex : escapedRe
-            }, {
-                token : "string",
-                regex : "\\\\$",
-                next  : "qstring"
-            }, {
-                token : "string",
-                regex : "'|$",
-                next  : "no_regex"
-            }, {
-                defaultToken: "string"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-",
-        [ DocCommentHighlightRules.getEndRule("no_regex") ]);
-};
-
-oop.inherits(JavaScriptHighlightRules, TextHighlightRules);
-
-exports.JavaScriptHighlightRules = JavaScriptHighlightRules;
-});
-
-define("ace/mode/pgsql_highlight_rules",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/mode/doc_comment_highlight_rules","ace/mode/text_highlight_rules","ace/mode/perl_highlight_rules","ace/mode/python_highlight_rules","ace/mode/json_highlight_rules","ace/mode/javascript_highlight_rules"], function(require, exports, module) {
-
-var oop = require("../lib/oop");
-var lang = require("../lib/lang");
-var DocCommentHighlightRules = require("./doc_comment_highlight_rules").DocCommentHighlightRules;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var PerlHighlightRules = require("./perl_highlight_rules").PerlHighlightRules;
-var PythonHighlightRules = require("./python_highlight_rules").PythonHighlightRules;
-var JsonHighlightRules = require("./json_highlight_rules").JsonHighlightRules;
-var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules;
-
-var PgsqlHighlightRules = function() {
-    var keywords = (
-        "abort|absolute|abstime|access|aclitem|action|add|admin|after|aggregate|all|also|alter|always|" +
-        "analyse|analyze|and|any|anyarray|anyelement|anyenum|anynonarray|anyrange|array|as|asc|" +
-        "assertion|assignment|asymmetric|at|attribute|authorization|backward|before|begin|between|" +
-        "bigint|binary|bit|bool|boolean|both|box|bpchar|by|bytea|cache|called|cascade|cascaded|case|cast|" +
-        "catalog|chain|char|character|characteristics|check|checkpoint|cid|cidr|circle|class|close|" +
-        "cluster|coalesce|collate|collation|column|comment|comments|commit|committed|concurrently|" +
-        "configuration|connection|constraint|constraints|content|continue|conversion|copy|cost|" +
-        "create|cross|cstring|csv|current|current_catalog|current_date|current_role|" +
-        "current_schema|current_time|current_timestamp|current_user|cursor|cycle|data|database|" +
-        "date|daterange|day|deallocate|dec|decimal|declare|default|defaults|deferrable|deferred|" +
-        "definer|delete|delimiter|delimiters|desc|dictionary|disable|discard|distinct|do|document|" +
-        "domain|double|drop|each|else|enable|encoding|encrypted|end|enum|escape|event|event_trigger|" +
-        "except|exclude|excluding|exclusive|execute|exists|explain|extension|external|extract|false|" +
-        "family|fdw_handler|fetch|first|float|float4|float8|following|for|force|foreign|forward|" +
-        "freeze|from|full|function|functions|global|grant|granted|greatest|group|gtsvector|handler|" +
-        "having|header|hold|hour|identity|if|ilike|immediate|immutable|implicit|in|including|" +
-        "increment|index|indexes|inet|inherit|inherits|initially|inline|inner|inout|input|" +
-        "insensitive|insert|instead|int|int2|int2vector|int4|int4range|int8|int8range|integer|" +
-        "internal|intersect|interval|into|invoker|is|isnull|isolation|join|json|key|label|language|" +
-        "language_handler|large|last|lateral|lc_collate|lc_ctype|leading|leakproof|least|left|level|" +
-        "like|limit|line|listen|load|local|localtime|localtimestamp|location|lock|lseg|macaddr|" +
-        "mapping|match|materialized|maxvalue|minute|minvalue|mode|money|month|move|name|names|" +
-        "national|natural|nchar|next|no|none|not|nothing|notify|notnull|nowait|null|nullif|nulls|" +
-        "numeric|numrange|object|of|off|offset|oid|oids|oidvector|on|only|opaque|operator|option|" +
-        "options|or|order|out|outer|over|overlaps|overlay|owned|owner|parser|partial|partition|passing|" +
-        "password|path|pg_attribute|pg_auth_members|pg_authid|pg_class|pg_database|pg_node_tree|" +
-        "pg_proc|pg_type|placing|plans|point|polygon|position|preceding|precision|prepare|prepared|" +
-        "preserve|primary|prior|privileges|procedural|procedure|program|quote|range|read|real|" +
-        "reassign|recheck|record|recursive|ref|refcursor|references|refresh|regclass|regconfig|" +
-        "regdictionary|regoper|regoperator|regproc|regprocedure|regtype|reindex|relative|release|" +
-        "reltime|rename|repeatable|replace|replica|reset|restart|restrict|returning|returns|revoke|" +
-        "right|role|rollback|row|rows|rule|savepoint|schema|scroll|search|second|security|select|" +
-        "sequence|sequences|serializable|server|session|session_user|set|setof|share|show|similar|" +
-        "simple|smallint|smgr|snapshot|some|stable|standalone|start|statement|statistics|stdin|" +
-        "stdout|storage|strict|strip|substring|symmetric|sysid|system|table|tables|tablespace|temp|" +
-        "template|temporary|text|then|tid|time|timestamp|timestamptz|timetz|tinterval|to|trailing|" +
-        "transaction|treat|trigger|trim|true|truncate|trusted|tsquery|tsrange|tstzrange|tsvector|" +
-        "txid_snapshot|type|types|unbounded|uncommitted|unencrypted|union|unique|unknown|unlisten|" +
-        "unlogged|until|update|user|using|uuid|vacuum|valid|validate|validator|value|values|varbit|" +
-        "varchar|variadic|varying|verbose|version|view|void|volatile|when|where|whitespace|window|" +
-        "with|without|work|wrapper|write|xid|xml|xmlattributes|xmlconcat|xmlelement|xmlexists|" +
-        "xmlforest|xmlparse|xmlpi|xmlroot|xmlserialize|year|yes|zone"
-    );
-
-
-    var builtinFunctions = (
-        "RI_FKey_cascade_del|RI_FKey_cascade_upd|RI_FKey_check_ins|RI_FKey_check_upd|" +
-        "RI_FKey_noaction_del|RI_FKey_noaction_upd|RI_FKey_restrict_del|RI_FKey_restrict_upd|" +
-        "RI_FKey_setdefault_del|RI_FKey_setdefault_upd|RI_FKey_setnull_del|" +
-        "RI_FKey_setnull_upd|abbrev|abs|abstime|abstimeeq|abstimege|abstimegt|abstimein|abstimele|" +
-        "abstimelt|abstimene|abstimeout|abstimerecv|abstimesend|aclcontains|acldefault|" +
-        "aclexplode|aclinsert|aclitemeq|aclitemin|aclitemout|aclremove|acos|age|any_in|any_out|" +
-        "anyarray_in|anyarray_out|anyarray_recv|anyarray_send|anyelement_in|anyelement_out|" +
-        "anyenum_in|anyenum_out|anynonarray_in|anynonarray_out|anyrange_in|anyrange_out|" +
-        "anytextcat|area|areajoinsel|areasel|array_agg|array_agg_finalfn|array_agg_transfn|" +
-        "array_append|array_cat|array_dims|array_eq|array_fill|array_ge|array_gt|array_in|" +
-        "array_larger|array_le|array_length|array_lower|array_lt|array_ndims|array_ne|array_out|" +
-        "array_prepend|array_recv|array_remove|array_replace|array_send|array_smaller|" +
-        "array_to_json|array_to_string|array_typanalyze|array_upper|arraycontained|" +
-        "arraycontains|arraycontjoinsel|arraycontsel|arrayoverlap|ascii|ascii_to_mic|" +
-        "ascii_to_utf8|asin|atan|atan2|avg|big5_to_euc_tw|big5_to_mic|big5_to_utf8|bit_and|bit_in|" +
-        "bit_length|bit_or|bit_out|bit_recv|bit_send|bitand|bitcat|bitcmp|biteq|bitge|bitgt|bitle|" +
-        "bitlt|bitne|bitnot|bitor|bitshiftleft|bitshiftright|bittypmodin|bittypmodout|bitxor|bool|" +
-        "bool_and|bool_or|booland_statefunc|booleq|boolge|boolgt|boolin|boolle|boollt|boolne|" +
-        "boolor_statefunc|boolout|boolrecv|boolsend|box|box_above|box_above_eq|box_add|box_below|" +
-        "box_below_eq|box_center|box_contain|box_contain_pt|box_contained|box_distance|box_div|" +
-        "box_eq|box_ge|box_gt|box_in|box_intersect|box_le|box_left|box_lt|box_mul|box_out|" +
-        "box_overabove|box_overbelow|box_overlap|box_overleft|box_overright|box_recv|box_right|" +
-        "box_same|box_send|box_sub|bpchar_larger|bpchar_pattern_ge|bpchar_pattern_gt|" +
-        "bpchar_pattern_le|bpchar_pattern_lt|bpchar_smaller|bpcharcmp|bpchareq|bpcharge|" +
-        "bpchargt|bpchariclike|bpcharicnlike|bpcharicregexeq|bpcharicregexne|bpcharin|bpcharle|" +
-        "bpcharlike|bpcharlt|bpcharne|bpcharnlike|bpcharout|bpcharrecv|bpcharregexeq|" +
-        "bpcharregexne|bpcharsend|bpchartypmodin|bpchartypmodout|broadcast|btabstimecmp|" +
-        "btarraycmp|btbeginscan|btboolcmp|btbpchar_pattern_cmp|btbuild|btbuildempty|" +
-        "btbulkdelete|btcanreturn|btcharcmp|btcostestimate|btendscan|btfloat48cmp|btfloat4cmp|" +
-        "btfloat4sortsupport|btfloat84cmp|btfloat8cmp|btfloat8sortsupport|btgetbitmap|" +
-        "btgettuple|btinsert|btint24cmp|btint28cmp|btint2cmp|btint2sortsupport|btint42cmp|" +
-        "btint48cmp|btint4cmp|btint4sortsupport|btint82cmp|btint84cmp|btint8cmp|" +
-        "btint8sortsupport|btmarkpos|btnamecmp|btnamesortsupport|btoidcmp|btoidsortsupport|" +
-        "btoidvectorcmp|btoptions|btrecordcmp|btreltimecmp|btrescan|btrestrpos|btrim|" +
-        "bttext_pattern_cmp|bttextcmp|bttidcmp|bttintervalcmp|btvacuumcleanup|" +
-        "bytea_string_agg_finalfn|bytea_string_agg_transfn|byteacat|byteacmp|byteaeq|byteage|" +
-        "byteagt|byteain|byteale|bytealike|bytealt|byteane|byteanlike|byteaout|bytearecv|byteasend|" +
-        "cash_cmp|cash_div_cash|cash_div_flt4|cash_div_flt8|cash_div_int2|cash_div_int4|cash_eq|" +
-        "cash_ge|cash_gt|cash_in|cash_le|cash_lt|cash_mi|cash_mul_flt4|cash_mul_flt8|" +
-        "cash_mul_int2|cash_mul_int4|cash_ne|cash_out|cash_pl|cash_recv|cash_send|cash_words|" +
-        "cashlarger|cashsmaller|cbrt|ceil|ceiling|center|char|char_length|character_length|chareq|" +
-        "charge|chargt|charin|charle|charlt|charne|charout|charrecv|charsend|chr|cideq|cidin|cidout|" +
-        "cidr|cidr_in|cidr_out|cidr_recv|cidr_send|cidrecv|cidsend|circle|circle_above|" +
-        "circle_add_pt|circle_below|circle_center|circle_contain|circle_contain_pt|" +
-        "circle_contained|circle_distance|circle_div_pt|circle_eq|circle_ge|circle_gt|circle_in|" +
-        "circle_le|circle_left|circle_lt|circle_mul_pt|circle_ne|circle_out|circle_overabove|" +
-        "circle_overbelow|circle_overlap|circle_overleft|circle_overright|circle_recv|" +
-        "circle_right|circle_same|circle_send|circle_sub_pt|clock_timestamp|close_lb|close_ls|" +
-        "close_lseg|close_pb|close_pl|close_ps|close_sb|close_sl|col_description|concat|concat_ws|" +
-        "contjoinsel|contsel|convert|convert_from|convert_to|corr|cos|cot|count|covar_pop|" +
-        "covar_samp|cstring_in|cstring_out|cstring_recv|cstring_send|cume_dist|current_database|" +
-        "current_query|current_schema|current_schemas|current_setting|current_user|currtid|" +
-        "currtid2|currval|cursor_to_xml|cursor_to_xmlschema|database_to_xml|" +
-        "database_to_xml_and_xmlschema|database_to_xmlschema|date|date_cmp|date_cmp_timestamp|" +
-        "date_cmp_timestamptz|date_eq|date_eq_timestamp|date_eq_timestamptz|date_ge|" +
-        "date_ge_timestamp|date_ge_timestamptz|date_gt|date_gt_timestamp|date_gt_timestamptz|" +
-        "date_in|date_larger|date_le|date_le_timestamp|date_le_timestamptz|date_lt|" +
-        "date_lt_timestamp|date_lt_timestamptz|date_mi|date_mi_interval|date_mii|date_ne|" +
-        "date_ne_timestamp|date_ne_timestamptz|date_out|date_part|date_pl_interval|date_pli|" +
-        "date_recv|date_send|date_smaller|date_sortsupport|date_trunc|daterange|" +
-        "daterange_canonical|daterange_subdiff|datetime_pl|datetimetz_pl|dcbrt|decode|degrees|" +
-        "dense_rank|dexp|diagonal|diameter|dispell_init|dispell_lexize|dist_cpoly|dist_lb|dist_pb|" +
-        "dist_pc|dist_pl|dist_ppath|dist_ps|dist_sb|dist_sl|div|dlog1|dlog10|domain_in|domain_recv|" +
-        "dpow|dround|dsimple_init|dsimple_lexize|dsnowball_init|dsnowball_lexize|dsqrt|" +
-        "dsynonym_init|dsynonym_lexize|dtrunc|elem_contained_by_range|encode|enum_cmp|enum_eq|" +
-        "enum_first|enum_ge|enum_gt|enum_in|enum_larger|enum_last|enum_le|enum_lt|enum_ne|enum_out|" +
-        "enum_range|enum_recv|enum_send|enum_smaller|eqjoinsel|eqsel|euc_cn_to_mic|" +
-        "euc_cn_to_utf8|euc_jis_2004_to_shift_jis_2004|euc_jis_2004_to_utf8|euc_jp_to_mic|" +
-        "euc_jp_to_sjis|euc_jp_to_utf8|euc_kr_to_mic|euc_kr_to_utf8|euc_tw_to_big5|" +
-        "euc_tw_to_mic|euc_tw_to_utf8|event_trigger_in|event_trigger_out|every|exp|factorial|" +
-        "family|fdw_handler_in|fdw_handler_out|first_value|float4|float48div|float48eq|float48ge|" +
-        "float48gt|float48le|float48lt|float48mi|float48mul|float48ne|float48pl|float4_accum|" +
-        "float4abs|float4div|float4eq|float4ge|float4gt|float4in|float4larger|float4le|float4lt|" +
-        "float4mi|float4mul|float4ne|float4out|float4pl|float4recv|float4send|float4smaller|" +
-        "float4um|float4up|float8|float84div|float84eq|float84ge|float84gt|float84le|float84lt|" +
-        "float84mi|float84mul|float84ne|float84pl|float8_accum|float8_avg|float8_corr|" +
-        "float8_covar_pop|float8_covar_samp|float8_regr_accum|float8_regr_avgx|" +
-        "float8_regr_avgy|float8_regr_intercept|float8_regr_r2|float8_regr_slope|" +
-        "float8_regr_sxx|float8_regr_sxy|float8_regr_syy|float8_stddev_pop|float8_stddev_samp|" +
-        "float8_var_pop|float8_var_samp|float8abs|float8div|float8eq|float8ge|float8gt|float8in|" +
-        "float8larger|float8le|float8lt|float8mi|float8mul|float8ne|float8out|float8pl|float8recv|" +
-        "float8send|float8smaller|float8um|float8up|floor|flt4_mul_cash|flt8_mul_cash|" +
-        "fmgr_c_validator|fmgr_internal_validator|fmgr_sql_validator|format|format_type|" +
-        "gb18030_to_utf8|gbk_to_utf8|generate_series|generate_subscripts|get_bit|get_byte|" +
-        "get_current_ts_config|getdatabaseencoding|getpgusername|gin_cmp_prefix|" +
-        "gin_cmp_tslexeme|gin_extract_tsquery|gin_extract_tsvector|gin_tsquery_consistent|" +
-        "ginarrayconsistent|ginarrayextract|ginbeginscan|ginbuild|ginbuildempty|ginbulkdelete|" +
-        "gincostestimate|ginendscan|gingetbitmap|gininsert|ginmarkpos|ginoptions|" +
-        "ginqueryarrayextract|ginrescan|ginrestrpos|ginvacuumcleanup|gist_box_compress|" +
-        "gist_box_consistent|gist_box_decompress|gist_box_penalty|gist_box_picksplit|" +
-        "gist_box_same|gist_box_union|gist_circle_compress|gist_circle_consistent|" +
-        "gist_point_compress|gist_point_consistent|gist_point_distance|gist_poly_compress|" +
-        "gist_poly_consistent|gistbeginscan|gistbuild|gistbuildempty|gistbulkdelete|" +
-        "gistcostestimate|gistendscan|gistgetbitmap|gistgettuple|gistinsert|gistmarkpos|" +
-        "gistoptions|gistrescan|gistrestrpos|gistvacuumcleanup|gtsquery_compress|" +
-        "gtsquery_consistent|gtsquery_decompress|gtsquery_penalty|gtsquery_picksplit|" +
-        "gtsquery_same|gtsquery_union|gtsvector_compress|gtsvector_consistent|" +
-        "gtsvector_decompress|gtsvector_penalty|gtsvector_picksplit|gtsvector_same|" +
-        "gtsvector_union|gtsvectorin|gtsvectorout|has_any_column_privilege|" +
-        "has_column_privilege|has_database_privilege|has_foreign_data_wrapper_privilege|" +
-        "has_function_privilege|has_language_privilege|has_schema_privilege|" +
-        "has_sequence_privilege|has_server_privilege|has_table_privilege|" +
-        "has_tablespace_privilege|has_type_privilege|hash_aclitem|hash_array|hash_numeric|" +
-        "hash_range|hashbeginscan|hashbpchar|hashbuild|hashbuildempty|hashbulkdelete|hashchar|" +
-        "hashcostestimate|hashendscan|hashenum|hashfloat4|hashfloat8|hashgetbitmap|hashgettuple|" +
-        "hashinet|hashinsert|hashint2|hashint2vector|hashint4|hashint8|hashmacaddr|hashmarkpos|" +
-        "hashname|hashoid|hashoidvector|hashoptions|hashrescan|hashrestrpos|hashtext|" +
-        "hashvacuumcleanup|hashvarlena|height|host|hostmask|iclikejoinsel|iclikesel|" +
-        "icnlikejoinsel|icnlikesel|icregexeqjoinsel|icregexeqsel|icregexnejoinsel|icregexnesel|" +
-        "inet_client_addr|inet_client_port|inet_in|inet_out|inet_recv|inet_send|" +
-        "inet_server_addr|inet_server_port|inetand|inetmi|inetmi_int8|inetnot|inetor|inetpl|" +
-        "initcap|int2|int24div|int24eq|int24ge|int24gt|int24le|int24lt|int24mi|int24mul|int24ne|" +
-        "int24pl|int28div|int28eq|int28ge|int28gt|int28le|int28lt|int28mi|int28mul|int28ne|int28pl|" +
-        "int2_accum|int2_avg_accum|int2_mul_cash|int2_sum|int2abs|int2and|int2div|int2eq|int2ge|" +
-        "int2gt|int2in|int2larger|int2le|int2lt|int2mi|int2mod|int2mul|int2ne|int2not|int2or|int2out|" +
-        "int2pl|int2recv|int2send|int2shl|int2shr|int2smaller|int2um|int2up|int2vectoreq|" +
-        "int2vectorin|int2vectorout|int2vectorrecv|int2vectorsend|int2xor|int4|int42div|int42eq|" +
-        "int42ge|int42gt|int42le|int42lt|int42mi|int42mul|int42ne|int42pl|int48div|int48eq|int48ge|" +
-        "int48gt|int48le|int48lt|int48mi|int48mul|int48ne|int48pl|int4_accum|int4_avg_accum|" +
-        "int4_mul_cash|int4_sum|int4abs|int4and|int4div|int4eq|int4ge|int4gt|int4in|int4inc|" +
-        "int4larger|int4le|int4lt|int4mi|int4mod|int4mul|int4ne|int4not|int4or|int4out|int4pl|" +
-        "int4range|int4range_canonical|int4range_subdiff|int4recv|int4send|int4shl|int4shr|" +
-        "int4smaller|int4um|int4up|int4xor|int8|int82div|int82eq|int82ge|int82gt|int82le|int82lt|" +
-        "int82mi|int82mul|int82ne|int82pl|int84div|int84eq|int84ge|int84gt|int84le|int84lt|int84mi|" +
-        "int84mul|int84ne|int84pl|int8_accum|int8_avg|int8_avg_accum|int8_sum|int8abs|int8and|" +
-        "int8div|int8eq|int8ge|int8gt|int8in|int8inc|int8inc_any|int8inc_float8_float8|int8larger|" +
-        "int8le|int8lt|int8mi|int8mod|int8mul|int8ne|int8not|int8or|int8out|int8pl|int8pl_inet|" +
-        "int8range|int8range_canonical|int8range_subdiff|int8recv|int8send|int8shl|int8shr|" +
-        "int8smaller|int8um|int8up|int8xor|integer_pl_date|inter_lb|inter_sb|inter_sl|internal_in|" +
-        "internal_out|interval_accum|interval_avg|interval_cmp|interval_div|interval_eq|" +
-        "interval_ge|interval_gt|interval_hash|interval_in|interval_larger|interval_le|" +
-        "interval_lt|interval_mi|interval_mul|interval_ne|interval_out|interval_pl|" +
-        "interval_pl_date|interval_pl_time|interval_pl_timestamp|interval_pl_timestamptz|" +
-        "interval_pl_timetz|interval_recv|interval_send|interval_smaller|interval_transform|" +
-        "interval_um|intervaltypmodin|intervaltypmodout|intinterval|isclosed|isempty|isfinite|" +
-        "ishorizontal|iso8859_1_to_utf8|iso8859_to_utf8|iso_to_koi8r|iso_to_mic|iso_to_win1251|" +
-        "iso_to_win866|isopen|isparallel|isperp|isvertical|johab_to_utf8|json_agg|" +
-        "json_agg_finalfn|json_agg_transfn|json_array_element|json_array_element_text|" +
-        "json_array_elements|json_array_length|json_each|json_each_text|json_extract_path|" +
-        "json_extract_path_op|json_extract_path_text|json_extract_path_text_op|json_in|" +
-        "json_object_field|json_object_field_text|json_object_keys|json_out|" +
-        "json_populate_record|json_populate_recordset|json_recv|json_send|justify_days|" +
-        "justify_hours|justify_interval|koi8r_to_iso|koi8r_to_mic|koi8r_to_utf8|" +
-        "koi8r_to_win1251|koi8r_to_win866|koi8u_to_utf8|lag|language_handler_in|" +
-        "language_handler_out|last_value|lastval|latin1_to_mic|latin2_to_mic|latin2_to_win1250|" +
-        "latin3_to_mic|latin4_to_mic|lead|left|length|like|like_escape|likejoinsel|likesel|line|" +
-        "line_distance|line_eq|line_horizontal|line_in|line_interpt|line_intersect|line_out|" +
-        "line_parallel|line_perp|line_recv|line_send|line_vertical|ln|lo_close|lo_creat|lo_create|" +
-        "lo_export|lo_import|lo_lseek|lo_lseek64|lo_open|lo_tell|lo_tell64|lo_truncate|" +
-        "lo_truncate64|lo_unlink|log|loread|lower|lower_inc|lower_inf|lowrite|lpad|lseg|lseg_center|" +
-        "lseg_distance|lseg_eq|lseg_ge|lseg_gt|lseg_horizontal|lseg_in|lseg_interpt|" +
-        "lseg_intersect|lseg_le|lseg_length|lseg_lt|lseg_ne|lseg_out|lseg_parallel|lseg_perp|" +
-        "lseg_recv|lseg_send|lseg_vertical|ltrim|macaddr_and|macaddr_cmp|macaddr_eq|macaddr_ge|" +
-        "macaddr_gt|macaddr_in|macaddr_le|macaddr_lt|macaddr_ne|macaddr_not|macaddr_or|" +
-        "macaddr_out|macaddr_recv|macaddr_send|makeaclitem|masklen|max|md5|mic_to_ascii|" +
-        "mic_to_big5|mic_to_euc_cn|mic_to_euc_jp|mic_to_euc_kr|mic_to_euc_tw|mic_to_iso|" +
-        "mic_to_koi8r|mic_to_latin1|mic_to_latin2|mic_to_latin3|mic_to_latin4|mic_to_sjis|" +
-        "mic_to_win1250|mic_to_win1251|mic_to_win866|min|mktinterval|mod|money|mul_d_interval|" +
-        "name|nameeq|namege|namegt|nameiclike|nameicnlike|nameicregexeq|nameicregexne|namein|" +
-        "namele|namelike|namelt|namene|namenlike|nameout|namerecv|nameregexeq|nameregexne|namesend|" +
-        "neqjoinsel|neqsel|netmask|network|network_cmp|network_eq|network_ge|network_gt|" +
-        "network_le|network_lt|network_ne|network_sub|network_subeq|network_sup|network_supeq|" +
-        "nextval|nlikejoinsel|nlikesel|notlike|now|npoints|nth_value|ntile|numeric_abs|" +
-        "numeric_accum|numeric_add|numeric_avg|numeric_avg_accum|numeric_cmp|numeric_div|" +
-        "numeric_div_trunc|numeric_eq|numeric_exp|numeric_fac|numeric_ge|numeric_gt|numeric_in|" +
-        "numeric_inc|numeric_larger|numeric_le|numeric_ln|numeric_log|numeric_lt|numeric_mod|" +
-        "numeric_mul|numeric_ne|numeric_out|numeric_power|numeric_recv|numeric_send|" +
-        "numeric_smaller|numeric_sqrt|numeric_stddev_pop|numeric_stddev_samp|numeric_sub|" +
-        "numeric_transform|numeric_uminus|numeric_uplus|numeric_var_pop|numeric_var_samp|" +
-        "numerictypmodin|numerictypmodout|numnode|numrange|numrange_subdiff|obj_description|" +
-        "octet_length|oid|oideq|oidge|oidgt|oidin|oidlarger|oidle|oidlt|oidne|oidout|oidrecv|oidsend|" +
-        "oidsmaller|oidvectoreq|oidvectorge|oidvectorgt|oidvectorin|oidvectorle|oidvectorlt|" +
-        "oidvectorne|oidvectorout|oidvectorrecv|oidvectorsend|oidvectortypes|on_pb|on_pl|" +
-        "on_ppath|on_ps|on_sb|on_sl|opaque_in|opaque_out|overlaps|overlay|path|path_add|path_add_pt|" +
-        "path_center|path_contain_pt|path_distance|path_div_pt|path_in|path_inter|path_length|" +
-        "path_mul_pt|path_n_eq|path_n_ge|path_n_gt|path_n_le|path_n_lt|path_npoints|path_out|" +
-        "path_recv|path_send|path_sub_pt|pclose|percent_rank|pg_advisory_lock|" +
-        "pg_advisory_lock_shared|pg_advisory_unlock|pg_advisory_unlock_all|" +
-        "pg_advisory_unlock_shared|pg_advisory_xact_lock|pg_advisory_xact_lock_shared|" +
-        "pg_available_extension_versions|pg_available_extensions|pg_backend_pid|" +
-        "pg_backup_start_time|pg_cancel_backend|pg_char_to_encoding|pg_client_encoding|" +
-        "pg_collation_for|pg_collation_is_visible|pg_column_is_updatable|pg_column_size|" +
-        "pg_conf_load_time|pg_conversion_is_visible|pg_create_restore_point|" +
-        "pg_current_xlog_insert_location|pg_current_xlog_location|pg_cursor|pg_database_size|" +
-        "pg_describe_object|pg_encoding_max_length|pg_encoding_to_char|" +
-        "pg_event_trigger_dropped_objects|pg_export_snapshot|pg_extension_config_dump|" +
-        "pg_extension_update_paths|pg_function_is_visible|pg_get_constraintdef|pg_get_expr|" +
-        "pg_get_function_arguments|pg_get_function_identity_arguments|" +
-        "pg_get_function_result|pg_get_functiondef|pg_get_indexdef|pg_get_keywords|" +
-        "pg_get_multixact_members|pg_get_ruledef|pg_get_serial_sequence|pg_get_triggerdef|" +
-        "pg_get_userbyid|pg_get_viewdef|pg_has_role|pg_identify_object|pg_indexes_size|" +
-        "pg_is_in_backup|pg_is_in_recovery|pg_is_other_temp_schema|pg_is_xlog_replay_paused|" +
-        "pg_last_xact_replay_timestamp|pg_last_xlog_receive_location|" +
-        "pg_last_xlog_replay_location|pg_listening_channels|pg_lock_status|pg_ls_dir|" +
-        "pg_my_temp_schema|pg_node_tree_in|pg_node_tree_out|pg_node_tree_recv|" +
-        "pg_node_tree_send|pg_notify|pg_opclass_is_visible|pg_operator_is_visible|" +
-        "pg_opfamily_is_visible|pg_options_to_table|pg_postmaster_start_time|" +
-        "pg_prepared_statement|pg_prepared_xact|pg_read_binary_file|pg_read_file|" +
-        "pg_relation_filenode|pg_relation_filepath|pg_relation_is_updatable|pg_relation_size|" +
-        "pg_reload_conf|pg_rotate_logfile|pg_sequence_parameters|pg_show_all_settings|" +
-        "pg_size_pretty|pg_sleep|pg_start_backup|pg_stat_clear_snapshot|pg_stat_file|" +
-        "pg_stat_get_activity|pg_stat_get_analyze_count|pg_stat_get_autoanalyze_count|" +
-        "pg_stat_get_autovacuum_count|pg_stat_get_backend_activity|" +
-        "pg_stat_get_backend_activity_start|pg_stat_get_backend_client_addr|" +
-        "pg_stat_get_backend_client_port|pg_stat_get_backend_dbid|pg_stat_get_backend_idset|" +
-        "pg_stat_get_backend_pid|pg_stat_get_backend_start|pg_stat_get_backend_userid|" +
-        "pg_stat_get_backend_waiting|pg_stat_get_backend_xact_start|" +
-        "pg_stat_get_bgwriter_buf_written_checkpoints|" +
-        "pg_stat_get_bgwriter_buf_written_clean|pg_stat_get_bgwriter_maxwritten_clean|" +
-        "pg_stat_get_bgwriter_requested_checkpoints|pg_stat_get_bgwriter_stat_reset_time|" +
-        "pg_stat_get_bgwriter_timed_checkpoints|pg_stat_get_blocks_fetched|" +
-        "pg_stat_get_blocks_hit|pg_stat_get_buf_alloc|pg_stat_get_buf_fsync_backend|" +
-        "pg_stat_get_buf_written_backend|pg_stat_get_checkpoint_sync_time|" +
-        "pg_stat_get_checkpoint_write_time|pg_stat_get_db_blk_read_time|" +
-        "pg_stat_get_db_blk_write_time|pg_stat_get_db_blocks_fetched|" +
-        "pg_stat_get_db_blocks_hit|pg_stat_get_db_conflict_all|" +
-        "pg_stat_get_db_conflict_bufferpin|pg_stat_get_db_conflict_lock|" +
-        "pg_stat_get_db_conflict_snapshot|pg_stat_get_db_conflict_startup_deadlock|" +
-        "pg_stat_get_db_conflict_tablespace|pg_stat_get_db_deadlocks|" +
-        "pg_stat_get_db_numbackends|pg_stat_get_db_stat_reset_time|" +
-        "pg_stat_get_db_temp_bytes|pg_stat_get_db_temp_files|pg_stat_get_db_tuples_deleted|" +
-        "pg_stat_get_db_tuples_fetched|pg_stat_get_db_tuples_inserted|" +
-        "pg_stat_get_db_tuples_returned|pg_stat_get_db_tuples_updated|" +
-        "pg_stat_get_db_xact_commit|pg_stat_get_db_xact_rollback|pg_stat_get_dead_tuples|" +
-        "pg_stat_get_function_calls|pg_stat_get_function_self_time|" +
-        "pg_stat_get_function_total_time|pg_stat_get_last_analyze_time|" +
-        "pg_stat_get_last_autoanalyze_time|pg_stat_get_last_autovacuum_time|" +
-        "pg_stat_get_last_vacuum_time|pg_stat_get_live_tuples|pg_stat_get_numscans|" +
-        "pg_stat_get_tuples_deleted|pg_stat_get_tuples_fetched|" +
-        "pg_stat_get_tuples_hot_updated|pg_stat_get_tuples_inserted|" +
-        "pg_stat_get_tuples_returned|pg_stat_get_tuples_updated|pg_stat_get_vacuum_count|" +
-        "pg_stat_get_wal_senders|pg_stat_get_xact_blocks_fetched|" +
-        "pg_stat_get_xact_blocks_hit|pg_stat_get_xact_function_calls|" +
-        "pg_stat_get_xact_function_self_time|pg_stat_get_xact_function_total_time|" +
-        "pg_stat_get_xact_numscans|pg_stat_get_xact_tuples_deleted|" +
-        "pg_stat_get_xact_tuples_fetched|pg_stat_get_xact_tuples_hot_updated|" +
-        "pg_stat_get_xact_tuples_inserted|pg_stat_get_xact_tuples_returned|" +
-        "pg_stat_get_xact_tuples_updated|pg_stat_reset|pg_stat_reset_shared|" +
-        "pg_stat_reset_single_function_counters|pg_stat_reset_single_table_counters|" +
-        "pg_stop_backup|pg_switch_xlog|pg_table_is_visible|pg_table_size|" +
-        "pg_tablespace_databases|pg_tablespace_location|pg_tablespace_size|" +
-        "pg_terminate_backend|pg_timezone_abbrevs|pg_timezone_names|pg_total_relation_size|" +
-        "pg_trigger_depth|pg_try_advisory_lock|pg_try_advisory_lock_shared|" +
-        "pg_try_advisory_xact_lock|pg_try_advisory_xact_lock_shared|pg_ts_config_is_visible|" +
-        "pg_ts_dict_is_visible|pg_ts_parser_is_visible|pg_ts_template_is_visible|" +
-        "pg_type_is_visible|pg_typeof|pg_xlog_location_diff|pg_xlog_replay_pause|" +
-        "pg_xlog_replay_resume|pg_xlogfile_name|pg_xlogfile_name_offset|pi|plainto_tsquery|" +
-        "plpgsql_call_handler|plpgsql_inline_handler|plpgsql_validator|point|point_above|" +
-        "point_add|point_below|point_distance|point_div|point_eq|point_horiz|point_in|point_left|" +
-        "point_mul|point_ne|point_out|point_recv|point_right|point_send|point_sub|point_vert|" +
-        "poly_above|poly_below|poly_center|poly_contain|poly_contain_pt|poly_contained|" +
-        "poly_distance|poly_in|poly_left|poly_npoints|poly_out|poly_overabove|poly_overbelow|" +
-        "poly_overlap|poly_overleft|poly_overright|poly_recv|poly_right|poly_same|poly_send|" +
-        "polygon|popen|position|positionjoinsel|positionsel|postgresql_fdw_validator|pow|power|" +
-        "prsd_end|prsd_headline|prsd_lextype|prsd_nexttoken|prsd_start|pt_contained_circle|" +
-        "pt_contained_poly|query_to_xml|query_to_xml_and_xmlschema|query_to_xmlschema|" +
-        "querytree|quote_ident|quote_literal|quote_nullable|radians|radius|random|range_adjacent|" +
-        "range_after|range_before|range_cmp|range_contained_by|range_contains|" +
-        "range_contains_elem|range_eq|range_ge|range_gist_compress|range_gist_consistent|" +
-        "range_gist_decompress|range_gist_penalty|range_gist_picksplit|range_gist_same|" +
-        "range_gist_union|range_gt|range_in|range_intersect|range_le|range_lt|range_minus|" +
-        "range_ne|range_out|range_overlaps|range_overleft|range_overright|range_recv|range_send|" +
-        "range_typanalyze|range_union|rangesel|rank|record_eq|record_ge|record_gt|record_in|" +
-        "record_le|record_lt|record_ne|record_out|record_recv|record_send|regclass|regclassin|" +
-        "regclassout|regclassrecv|regclasssend|regconfigin|regconfigout|regconfigrecv|" +
-        "regconfigsend|regdictionaryin|regdictionaryout|regdictionaryrecv|regdictionarysend|" +
-        "regexeqjoinsel|regexeqsel|regexnejoinsel|regexnesel|regexp_matches|regexp_replace|" +
-        "regexp_split_to_array|regexp_split_to_table|regoperatorin|regoperatorout|" +
-        "regoperatorrecv|regoperatorsend|regoperin|regoperout|regoperrecv|regopersend|" +
-        "regprocedurein|regprocedureout|regprocedurerecv|regproceduresend|regprocin|regprocout|" +
-        "regprocrecv|regprocsend|regr_avgx|regr_avgy|regr_count|regr_intercept|regr_r2|" +
-        "regr_slope|regr_sxx|regr_sxy|regr_syy|regtypein|regtypeout|regtyperecv|regtypesend|" +
-        "reltime|reltimeeq|reltimege|reltimegt|reltimein|reltimele|reltimelt|reltimene|reltimeout|" +
-        "reltimerecv|reltimesend|repeat|replace|reverse|right|round|row_number|row_to_json|rpad|" +
-        "rtrim|scalargtjoinsel|scalargtsel|scalarltjoinsel|scalarltsel|schema_to_xml|" +
-        "schema_to_xml_and_xmlschema|schema_to_xmlschema|session_user|set_bit|set_byte|" +
-        "set_config|set_masklen|setseed|setval|setweight|shell_in|shell_out|" +
-        "shift_jis_2004_to_euc_jis_2004|shift_jis_2004_to_utf8|shobj_description|sign|" +
-        "similar_escape|sin|sjis_to_euc_jp|sjis_to_mic|sjis_to_utf8|slope|smgreq|smgrin|smgrne|" +
-        "smgrout|spg_kd_choose|spg_kd_config|spg_kd_inner_consistent|spg_kd_picksplit|" +
-        "spg_quad_choose|spg_quad_config|spg_quad_inner_consistent|spg_quad_leaf_consistent|" +
-        "spg_quad_picksplit|spg_range_quad_choose|spg_range_quad_config|" +
-        "spg_range_quad_inner_consistent|spg_range_quad_leaf_consistent|" +
-        "spg_range_quad_picksplit|spg_text_choose|spg_text_config|spg_text_inner_consistent|" +
-        "spg_text_leaf_consistent|spg_text_picksplit|spgbeginscan|spgbuild|spgbuildempty|" +
-        "spgbulkdelete|spgcanreturn|spgcostestimate|spgendscan|spggetbitmap|spggettuple|" +
-        "spginsert|spgmarkpos|spgoptions|spgrescan|spgrestrpos|spgvacuumcleanup|split_part|sqrt|" +
-        "statement_timestamp|stddev|stddev_pop|stddev_samp|string_agg|string_agg_finalfn|" +
-        "string_agg_transfn|string_to_array|strip|strpos|substr|substring|sum|" +
-        "suppress_redundant_updates_trigger|table_to_xml|table_to_xml_and_xmlschema|" +
-        "table_to_xmlschema|tan|text|text_ge|text_gt|text_larger|text_le|text_lt|text_pattern_ge|" +
-        "text_pattern_gt|text_pattern_le|text_pattern_lt|text_smaller|textanycat|textcat|texteq|" +
-        "texticlike|texticnlike|texticregexeq|texticregexne|textin|textlen|textlike|textne|" +
-        "textnlike|textout|textrecv|textregexeq|textregexne|textsend|thesaurus_init|" +
-        "thesaurus_lexize|tideq|tidge|tidgt|tidin|tidlarger|tidle|tidlt|tidne|tidout|tidrecv|tidsend|" +
-        "tidsmaller|time_cmp|time_eq|time_ge|time_gt|time_hash|time_in|time_larger|time_le|time_lt|" +
-        "time_mi_interval|time_mi_time|time_ne|time_out|time_pl_interval|time_recv|time_send|" +
-        "time_smaller|time_transform|timedate_pl|timemi|timenow|timeofday|timepl|timestamp_cmp|" +
-        "timestamp_cmp_date|timestamp_cmp_timestamptz|timestamp_eq|timestamp_eq_date|" +
-        "timestamp_eq_timestamptz|timestamp_ge|timestamp_ge_date|timestamp_ge_timestamptz|" +
-        "timestamp_gt|timestamp_gt_date|timestamp_gt_timestamptz|timestamp_hash|timestamp_in|" +
-        "timestamp_larger|timestamp_le|timestamp_le_date|timestamp_le_timestamptz|" +
-        "timestamp_lt|timestamp_lt_date|timestamp_lt_timestamptz|timestamp_mi|" +
-        "timestamp_mi_interval|timestamp_ne|timestamp_ne_date|timestamp_ne_timestamptz|" +
-        "timestamp_out|timestamp_pl_interval|timestamp_recv|timestamp_send|timestamp_smaller|" +
-        "timestamp_sortsupport|timestamp_transform|timestamptypmodin|timestamptypmodout|" +
-        "timestamptz_cmp|timestamptz_cmp_date|timestamptz_cmp_timestamp|timestamptz_eq|" +
-        "timestamptz_eq_date|timestamptz_eq_timestamp|timestamptz_ge|timestamptz_ge_date|" +
-        "timestamptz_ge_timestamp|timestamptz_gt|timestamptz_gt_date|" +
-        "timestamptz_gt_timestamp|timestamptz_in|timestamptz_larger|timestamptz_le|" +
-        "timestamptz_le_date|timestamptz_le_timestamp|timestamptz_lt|timestamptz_lt_date|" +
-        "timestamptz_lt_timestamp|timestamptz_mi|timestamptz_mi_interval|timestamptz_ne|" +
-        "timestamptz_ne_date|timestamptz_ne_timestamp|timestamptz_out|" +
-        "timestamptz_pl_interval|timestamptz_recv|timestamptz_send|timestamptz_smaller|" +
-        "timestamptztypmodin|timestamptztypmodout|timetypmodin|timetypmodout|timetz_cmp|" +
-        "timetz_eq|timetz_ge|timetz_gt|timetz_hash|timetz_in|timetz_larger|timetz_le|timetz_lt|" +
-        "timetz_mi_interval|timetz_ne|timetz_out|timetz_pl_interval|timetz_recv|timetz_send|" +
-        "timetz_smaller|timetzdate_pl|timetztypmodin|timetztypmodout|timezone|tinterval|" +
-        "tintervalct|tintervalend|tintervaleq|tintervalge|tintervalgt|tintervalin|tintervalle|" +
-        "tintervalleneq|tintervallenge|tintervallengt|tintervallenle|tintervallenlt|" +
-        "tintervallenne|tintervallt|tintervalne|tintervalout|tintervalov|tintervalrecv|" +
-        "tintervalrel|tintervalsame|tintervalsend|tintervalstart|to_ascii|to_char|to_date|to_hex|" +
-        "to_json|to_number|to_timestamp|to_tsquery|to_tsvector|transaction_timestamp|translate|" +
-        "trigger_in|trigger_out|trunc|ts_debug|ts_headline|ts_lexize|ts_match_qv|ts_match_tq|" +
-        "ts_match_tt|ts_match_vq|ts_parse|ts_rank|ts_rank_cd|ts_rewrite|ts_stat|ts_token_type|" +
-        "ts_typanalyze|tsmatchjoinsel|tsmatchsel|tsq_mcontained|tsq_mcontains|tsquery_and|" +
-        "tsquery_cmp|tsquery_eq|tsquery_ge|tsquery_gt|tsquery_le|tsquery_lt|tsquery_ne|" +
-        "tsquery_not|tsquery_or|tsqueryin|tsqueryout|tsqueryrecv|tsquerysend|tsrange|" +
-        "tsrange_subdiff|tstzrange|tstzrange_subdiff|tsvector_cmp|tsvector_concat|tsvector_eq|" +
-        "tsvector_ge|tsvector_gt|tsvector_le|tsvector_lt|tsvector_ne|tsvector_update_trigger|" +
-        "tsvector_update_trigger_column|tsvectorin|tsvectorout|tsvectorrecv|tsvectorsend|" +
-        "txid_current|txid_current_snapshot|txid_snapshot_in|txid_snapshot_out|" +
-        "txid_snapshot_recv|txid_snapshot_send|txid_snapshot_xip|txid_snapshot_xmax|" +
-        "txid_snapshot_xmin|txid_visible_in_snapshot|uhc_to_utf8|unique_key_recheck|unknownin|" +
-        "unknownout|unknownrecv|unknownsend|unnest|upper|upper_inc|upper_inf|utf8_to_ascii|" +
-        "utf8_to_big5|utf8_to_euc_cn|utf8_to_euc_jis_2004|utf8_to_euc_jp|utf8_to_euc_kr|" +
-        "utf8_to_euc_tw|utf8_to_gb18030|utf8_to_gbk|utf8_to_iso8859|utf8_to_iso8859_1|" +
-        "utf8_to_johab|utf8_to_koi8r|utf8_to_koi8u|utf8_to_shift_jis_2004|utf8_to_sjis|" +
-        "utf8_to_uhc|utf8_to_win|uuid_cmp|uuid_eq|uuid_ge|uuid_gt|uuid_hash|uuid_in|uuid_le|" +
-        "uuid_lt|uuid_ne|uuid_out|uuid_recv|uuid_send|var_pop|var_samp|varbit_in|varbit_out|" +
-        "varbit_recv|varbit_send|varbit_transform|varbitcmp|varbiteq|varbitge|varbitgt|varbitle|" +
-        "varbitlt|varbitne|varbittypmodin|varbittypmodout|varchar_transform|varcharin|" +
-        "varcharout|varcharrecv|varcharsend|varchartypmodin|varchartypmodout|variance|version|" +
-        "void_in|void_out|void_recv|void_send|width|width_bucket|win1250_to_latin2|" +
-        "win1250_to_mic|win1251_to_iso|win1251_to_koi8r|win1251_to_mic|win1251_to_win866|" +
-        "win866_to_iso|win866_to_koi8r|win866_to_mic|win866_to_win1251|win_to_utf8|xideq|" +
-        "xideqint4|xidin|xidout|xidrecv|xidsend|xml|xml_in|xml_is_well_formed|" +
-        "xml_is_well_formed_content|xml_is_well_formed_document|xml_out|xml_recv|xml_send|" +
-        "xmlagg|xmlcomment|xmlconcat2|xmlexists|xmlvalidate|xpath|xpath_exists"
-    );
-
-    var keywordMapper = this.createKeywordMapper({
-        "support.function": builtinFunctions,
-        "keyword": keywords
-    }, "identifier", true);
-
-
-    var sqlRules = [{
-            token : "string", // single line string -- assume dollar strings if multi-line for now
-            regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-        }, {
-            token : "variable.language", // pg identifier
-            regex : '".*?"'
-        }, {
-            token : "constant.numeric", // float
-            regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-        }, {
-            token : keywordMapper,
-            regex : "[a-zA-Z_][a-zA-Z0-9_$]*\\b" // TODO - Unicode in identifiers
-        }, {
-            token : "keyword.operator",
-            regex : "!|!!|!~|!~\\*|!~~|!~~\\*|#|##|#<|#<=|#<>|#=|#>|#>=|%|\\&|\\&\\&|\\&<|\\&<\\||\\&>|\\*|\\+|" +
-                    "\\-|/|<|<#>|<\\->|<<|<<=|<<\\||<=|<>|<\\?>|<@|<\\^|=|>|>=|>>|>>=|>\\^|\\?#|\\?\\-|\\?\\-\\||" +
-                    "\\?\\||\\?\\|\\||@|@\\-@|@>|@@|@@@|\\^|\\||\\|\\&>|\\|/|\\|>>|\\|\\||\\|\\|/|~|~\\*|~<=~|~<~|" +
-                    "~=|~>=~|~>~|~~|~~\\*"
-        }, {
-            token : "paren.lparen",
-            regex : "[\\(]"
-        }, {
-            token : "paren.rparen",
-            regex : "[\\)]"
-        }, {
-            token : "text",
-            regex : "\\s+"
-        }
-    ];
-
-
-    this.$rules = {
-        "start" : [{
-                token : "comment",
-                regex : "--.*$"
-            },
-            DocCommentHighlightRules.getStartRule("doc-start"),
-            {
-                token : "comment", // multi-line comment
-                regex : "\\/\\*",
-                next : "comment"
-            },{
-                token : "keyword.statementBegin",
-                regex : "^[a-zA-Z]+", // Could enumerate starting keywords but this allows things to work when new statements are added.
-                next : "statement"
-            },{
-                token : "support.buildin", // psql directive
-                regex : "^\\\\[\\S]+.*$"
-            }
-        ],
-
-        "statement" : [{
-                token : "comment",
-                regex : "--.*$"
-            }, {
-                token : "comment", // multi-line comment
-                regex : "\\/\\*",
-                next : "commentStatement"
-            }, {
-                token : "statementEnd",
-                regex : ";",
-                next : "start"
-            }, {
-                token : "string",
-                regex : "\\$perl\\$",
-                next : "perl-start"
-            }, {
-                token : "string",
-                regex : "\\$python\\$",
-                next : "python-start"
-            }, {
-                token : "string",
-                regex : "\\$json\\$",
-                next : "json-start"
-            }, {
-                token : "string",
-                regex : "\\$(js|javascript)\\$",
-                next : "javascript-start"
-            }, {
-                token : "string",
-                regex : "\\$[\\w_0-9]*\\$$", // dollar quote at the end of a line
-                next : "dollarSql"
-            }, {
-                token : "string",
-                regex : "\\$[\\w_0-9]*\\$",
-                next : "dollarStatementString"
-            }
-        ].concat(sqlRules),
-
-        "dollarSql" : [{
-                token : "comment",
-                regex : "--.*$"
-            }, {
-                token : "comment", // multi-line comment
-                regex : "\\/\\*",
-                next : "commentDollarSql"
-            }, {
-                token : "string", // end quoting with dollar at the start of a line
-                regex : "^\\$[\\w_0-9]*\\$",
-                next : "statement"
-            }, {
-                token : "string",
-                regex : "\\$[\\w_0-9]*\\$",
-                next : "dollarSqlString"
-            }
-        ].concat(sqlRules),
-
-        "comment" : [{
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "start"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ],
-
-        "commentStatement" : [{
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "statement"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ],
-
-        "commentDollarSql" : [{
-                token : "comment", // closing comment
-                regex : ".*?\\*\\/",
-                next : "dollarSql"
-            }, {
-                token : "comment", // comment spanning whole line
-                regex : ".+"
-            }
-        ],
-
-        "dollarStatementString" : [{
-                token : "string", // closing dollarstring
-                regex : ".*?\\$[\\w_0-9]*\\$",
-                next : "statement"
-            }, {
-                token : "string", // dollarstring spanning whole line
-                regex : ".+"
-            }
-        ],
-
-        "dollarSqlString" : [{
-                token : "string", // closing dollarstring
-                regex : ".*?\\$[\\w_0-9]*\\$",
-                next : "dollarSql"
-            }, {
-                token : "string", // dollarstring spanning whole line
-                regex : ".+"
-            }
-        ]
-    };
-
-    this.embedRules(DocCommentHighlightRules, "doc-", [ DocCommentHighlightRules.getEndRule("start") ]);
-    this.embedRules(PerlHighlightRules, "perl-", [{token : "string", regex : "\\$perl\\$", next : "statement"}]);
-    this.embedRules(PythonHighlightRules, "python-", [{token : "string", regex : "\\$python\\$", next : "statement"}]);
-    this.embedRules(JsonHighlightRules, "json-", [{token : "string", regex : "\\$json\\$", next : "statement"}]);
-    this.embedRules(JavaScriptHighlightRules, "javascript-", [{token : "string", regex : "\\$(js|javascript)\\$", next : "statement"}]);
-};
-
-oop.inherits(PgsqlHighlightRules, TextHighlightRules);
-
-exports.PgsqlHighlightRules = PgsqlHighlightRules;
-});
-
-define("ace/mode/pgsql",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/pgsql_highlight_rules","ace/range"], function(require, exports, module) {
-
-var oop = require("../lib/oop");
-var TextMode = require("../mode/text").Mode;
-var PgsqlHighlightRules = require("./pgsql_highlight_rules").PgsqlHighlightRules;
-var Range = require("../range").Range;
-
-var Mode = function() {
-    this.HighlightRules = PgsqlHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "--";
-    this.blockComment = {start: "/*", end: "*/"};
-
-    this.getNextLineIndent = function(state, line, tab) { 
-        if (state == "start" || state == "keyword.statementEnd") {
-            return "";
-        } else {
-            return this.$getIndent(line); // Keep whatever indent the previous line has
-        }
-    }
-
-    this.$id = "ace/mode/pgsql";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Разлика између датотеке није приказан због своје велике величине
+ 0 - 50
services/web/public/js/ace/src/mode-php.js


+ 0 - 25
services/web/public/js/ace/src/mode-plain_text.js

@@ -1,25 +0,0 @@
-define("ace/mode/plain_text",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/text_highlight_rules","ace/mode/behaviour"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-var Behaviour = require("./behaviour").Behaviour;
-
-var Mode = function() {
-    this.HighlightRules = TextHighlightRules;
-    this.$behaviour = new Behaviour();
-};
-
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.type = "text";
-    this.getNextLineIndent = function(state, line, tab) {
-        return '';
-    };
-    this.$id = "ace/mode/plain_text";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 695
services/web/public/js/ace/src/mode-powershell.js

@@ -1,695 +0,0 @@
-define("ace/mode/powershell_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PowershellHighlightRules = function() {
-
-    var keywords = (
-      "function|if|else|elseif|switch|while|default|for|do|until|break|continue|" +
-       "foreach|return|filter|in|trap|throw|param|begin|process|end"
-    );
-
-    var builtinFunctions = (
-      "Get-Alias|Import-Alias|New-Alias|Set-Alias|Get-AuthenticodeSignature|Set-AuthenticodeSignature|" +
-       "Set-Location|Get-ChildItem|Clear-Item|Get-Command|Measure-Command|Trace-Command|" +
-       "Add-Computer|Checkpoint-Computer|Remove-Computer|Restart-Computer|Restore-Computer|Stop-Computer|" +
-       "Reset-ComputerMachinePassword|Test-ComputerSecureChannel|Add-Content|Get-Content|Set-Content|Clear-Content|" +
-       "Get-Command|Invoke-Command|Enable-ComputerRestore|Disable-ComputerRestore|Get-ComputerRestorePoint|Test-Connection|" +
-       "ConvertFrom-CSV|ConvertTo-CSV|ConvertTo-Html|ConvertTo-Xml|ConvertFrom-SecureString|ConvertTo-SecureString|" +
-       "Copy-Item|Export-Counter|Get-Counter|Import-Counter|Get-Credential|Get-Culture|" +
-       "Get-ChildItem|Get-Date|Set-Date|Remove-Item|Compare-Object|Get-Event|" +
-       "Get-WinEvent|New-Event|Remove-Event|Unregister-Event|Wait-Event|Clear-EventLog|" +
-       "Get-Eventlog|Limit-EventLog|New-Eventlog|Remove-EventLog|Show-EventLog|Write-EventLog|" +
-       "Get-EventSubscriber|Register-EngineEvent|Register-ObjectEvent|Register-WmiEvent|Get-ExecutionPolicy|Set-ExecutionPolicy|" +
-       "Export-Alias|Export-Clixml|Export-Console|Export-Csv|ForEach-Object|Format-Custom|" +
-       "Format-List|Format-Table|Format-Wide|Export-FormatData|Get-FormatData|Get-Item|" +
-       "Get-ChildItem|Get-Help|Add-History|Clear-History|Get-History|Invoke-History|" +
-       "Get-Host|Read-Host|Write-Host|Get-HotFix|Import-Clixml|Import-Csv|" +
-       "Invoke-Command|Invoke-Expression|Get-Item|Invoke-Item|New-Item|Remove-Item|" +
-       "Set-Item|Clear-ItemProperty|Copy-ItemProperty|Get-ItemProperty|Move-ItemProperty|New-ItemProperty|" +
-       "Remove-ItemProperty|Rename-ItemProperty|Set-ItemProperty|Get-Job|Receive-Job|Remove-Job|" +
-       "Start-Job|Stop-Job|Wait-Job|Stop-Process|Update-List|Get-Location|" +
-       "Pop-Location|Push-Location|Set-Location|Send-MailMessage|Add-Member|Get-Member|" +
-       "Move-Item|Compare-Object|Group-Object|Measure-Object|New-Object|Select-Object|" +
-       "Sort-Object|Where-Object|Out-Default|Out-File|Out-GridView|Out-Host|" +
-       "Out-Null|Out-Printer|Out-String|Convert-Path|Join-Path|Resolve-Path|" +
-       "Split-Path|Test-Path|Get-Pfxcertificate|Pop-Location|Push-Location|Get-Process|" +
-       "Start-Process|Stop-Process|Wait-Process|Enable-PSBreakpoint|Disable-PSBreakpoint|Get-PSBreakpoint|" +
-       "Set-PSBreakpoint|Remove-PSBreakpoint|Get-PSDrive|New-PSDrive|Remove-PSDrive|Get-PSProvider|" +
-       "Set-PSdebug|Enter-PSSession|Exit-PSSession|Export-PSSession|Get-PSSession|Import-PSSession|" +
-       "New-PSSession|Remove-PSSession|Disable-PSSessionConfiguration|Enable-PSSessionConfiguration|Get-PSSessionConfiguration|Register-PSSessionConfiguration|" +
-       "Set-PSSessionConfiguration|Unregister-PSSessionConfiguration|New-PSSessionOption|Add-PsSnapIn|Get-PsSnapin|Remove-PSSnapin|" +
-       "Get-Random|Read-Host|Remove-Item|Rename-Item|Rename-ItemProperty|Select-Object|" +
-       "Select-XML|Send-MailMessage|Get-Service|New-Service|Restart-Service|Resume-Service|" +
-       "Set-Service|Start-Service|Stop-Service|Suspend-Service|Sort-Object|Start-Sleep|" +
-       "ConvertFrom-StringData|Select-String|Tee-Object|New-Timespan|Trace-Command|Get-Tracesource|" +
-       "Set-Tracesource|Start-Transaction|Complete-Transaction|Get-Transaction|Use-Transaction|Undo-Transaction|" +
-       "Start-Transcript|Stop-Transcript|Add-Type|Update-TypeData|Get-Uiculture|Get-Unique|" +
-       "Update-Formatdata|Update-Typedata|Clear-Variable|Get-Variable|New-Variable|Remove-Variable|" +
-       "Set-Variable|New-WebServiceProxy|Where-Object|Write-Debug|Write-Error|Write-Host|" +
-       "Write-Output|Write-Progress|Write-Verbose|Write-Warning|Set-WmiInstance|Invoke-WmiMethod|" +
-       "Get-WmiObject|Remove-WmiObject|Connect-WSMan|Disconnect-WSMan|Test-WSMan|Invoke-WSManAction|" +
-       "Disable-WSManCredSSP|Enable-WSManCredSSP|Get-WSManCredSSP|New-WSManInstance|Get-WSManInstance|Set-WSManInstance|" +
-       "Remove-WSManInstance|Set-WSManQuickConfig|New-WSManSessionOption"
-       );
-
-    var keywordMapper = this.createKeywordMapper({
-        "support.function": builtinFunctions,
-        "keyword": keywords
-    }, "identifier");
-
-    var binaryOperatorsRe = "eq|ne|ge|gt|lt|le|like|notlike|match|notmatch|replace|contains|notcontains|" +
-                            "ieq|ine|ige|igt|ile|ilt|ilike|inotlike|imatch|inotmatch|ireplace|icontains|inotcontains|" +
-                            "is|isnot|as|" +
-                            "and|or|band|bor|not";
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : "#.*$"
-            }, {
-                token : "comment.start",
-                regex : "<#",
-                next : "comment"
-            }, {
-                token : "string", // single line
-                regex : '["](?:(?:\\\\.)|(?:[^"\\\\]))*?["]'
-            }, {
-                token : "string", // single line
-                regex : "['](?:(?:\\\\.)|(?:[^'\\\\]))*?[']"
-            }, {
-                token : "constant.numeric", // hex
-                regex : "0[xX][0-9a-fA-F]+\\b"
-            }, {
-                token : "constant.numeric", // float
-                regex : "[+-]?\\d+(?:(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)?\\b"
-            }, {
-                token : "constant.language.boolean",
-                regex : "[$](?:[Tt]rue|[Ff]alse)\\b"
-            }, {
-                token : "constant.language",
-                regex : "[$][Nn]ull\\b"
-            }, {
-                token : "variable.instance",
-                regex : "[$][a-zA-Z][a-zA-Z0-9_]*\\b"
-            }, {
-                token : keywordMapper,
-                regex : "[a-zA-Z_$][a-zA-Z0-9_$\\-]*\\b"
-            }, {
-                token : "keyword.operator",
-                regex : "\\-(?:" + binaryOperatorsRe + ")"
-            }, {
-                token : "keyword.operator",
-                regex : "&|\\*|\\+|\\-|\\=|\\+=|\\-="
-            }, {
-                token : "lparen",
-                regex : "[[({]"
-            }, {
-                token : "rparen",
-                regex : "[\\])}]"
-            }, {
-                token : "text",
-                regex : "\\s+"
-            }
-        ],
-        "comment" : [
-            {
-                token : "comment.end",
-                regex : "#>",
-                next : "start"
-            }, {
-                token : "doc.comment.tag",
-                regex : "^\\.\\w+"
-            }, {
-                token : "comment",
-                regex : "\\w+"
-            }, {
-                token : "comment",
-                regex : "."
-            }
-        ]
-    };
-};
-
-oop.inherits(PowershellHighlightRules, TextHighlightRules);
-
-exports.PowershellHighlightRules = PowershellHighlightRules;
-});
-
-define("ace/mode/matching_brace_outdent",["require","exports","module","ace/range"], function(require, exports, module) {
-"use strict";
-
-var Range = require("../range").Range;
-
-var MatchingBraceOutdent = function() {};
-
-(function() {
-
-    this.checkOutdent = function(line, input) {
-        if (! /^\s+$/.test(line))
-            return false;
-
-        return /^\s*\}/.test(input);
-    };
-
-    this.autoOutdent = function(doc, row) {
-        var line = doc.getLine(row);
-        var match = line.match(/^(\s*\})/);
-
-        if (!match) return 0;
-
-        var column = match[1].length;
-        var openBracePos = doc.findMatchingBracket({row: row, column: column});
-
-        if (!openBracePos || openBracePos.row == row) return 0;
-
-        var indent = this.$getIndent(doc.getLine(openBracePos.row));
-        doc.replace(new Range(row, 0, row, column-1), indent);
-    };
-
-    this.$getIndent = function(line) {
-        return line.match(/^\s*/)[0];
-    };
-
-}).call(MatchingBraceOutdent.prototype);
-
-exports.MatchingBraceOutdent = MatchingBraceOutdent;
-});
-
-define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Behaviour = require("../behaviour").Behaviour;
-var TokenIterator = require("../../token_iterator").TokenIterator;
-var lang = require("../../lib/lang");
-
-var SAFE_INSERT_IN_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator"];
-var SAFE_INSERT_BEFORE_TOKENS =
-    ["text", "paren.rparen", "punctuation.operator", "comment"];
-
-var context;
-var contextCache = {}
-var initContext = function(editor) {
-    var id = -1;
-    if (editor.multiSelect) {
-        id = editor.selection.id;
-        if (contextCache.rangeCount != editor.multiSelect.rangeCount)
-            contextCache = {rangeCount: editor.multiSelect.rangeCount};
-    }
-    if (contextCache[id])
-        return context = contextCache[id];
-    context = contextCache[id] = {
-        autoInsertedBrackets: 0,
-        autoInsertedRow: -1,
-        autoInsertedLineEnd: "",
-        maybeInsertedBrackets: 0,
-        maybeInsertedRow: -1,
-        maybeInsertedLineStart: "",
-        maybeInsertedLineEnd: ""
-    };
-};
-
-var CstyleBehaviour = function() {
-    this.add("braces", "insertion", function(state, action, editor, session, text) {
-        var cursor = editor.getCursorPosition();
-        var line = session.doc.getLine(cursor.row);
-        if (text == '{') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "{" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '{' + selected + '}',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                if (/[\]\}\)]/.test(line[cursor.column]) || editor.inMultiSelectMode) {
-                    CstyleBehaviour.recordAutoInsert(editor, session, "}");
-                    return {
-                        text: '{}',
-                        selection: [1, 1]
-                    };
-                } else {
-                    CstyleBehaviour.recordMaybeInsert(editor, session, "{");
-                    return {
-                        text: '{',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == '}') {
-            initContext(editor);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == '}') {
-                var matching = session.$findOpeningBracket('}', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        } else if (text == "\n" || text == "\r\n") {
-            initContext(editor);
-            var closing = "";
-            if (CstyleBehaviour.isMaybeInsertedClosing(cursor, line)) {
-                closing = lang.stringRepeat("}", context.maybeInsertedBrackets);
-                CstyleBehaviour.clearMaybeInsertedClosing();
-            }
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar === '}') {
-                var openBracePos = session.findMatchingBracket({row: cursor.row, column: cursor.column+1}, '}');
-                if (!openBracePos)
-                     return null;
-                var next_indent = this.$getIndent(session.getLine(openBracePos.row));
-            } else if (closing) {
-                var next_indent = this.$getIndent(line);
-            } else {
-                CstyleBehaviour.clearMaybeInsertedClosing();
-                return;
-            }
-            var indent = next_indent + session.getTabString();
-
-            return {
-                text: '\n' + indent + '\n' + next_indent + closing,
-                selection: [1, indent.length, 1, indent.length]
-            };
-        } else {
-            CstyleBehaviour.clearMaybeInsertedClosing();
-        }
-    });
-
-    this.add("braces", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '{') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.end.column, range.end.column + 1);
-            if (rightChar == '}') {
-                range.end.column++;
-                return range;
-            } else {
-                context.maybeInsertedBrackets--;
-            }
-        }
-    });
-
-    this.add("parens", "insertion", function(state, action, editor, session, text) {
-        if (text == '(') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '(' + selected + ')',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, ")");
-                return {
-                    text: '()',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ')') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ')') {
-                var matching = session.$findOpeningBracket(')', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("parens", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '(') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ')') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("brackets", "insertion", function(state, action, editor, session, text) {
-        if (text == '[') {
-            initContext(editor);
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: '[' + selected + ']',
-                    selection: false
-                };
-            } else if (CstyleBehaviour.isSaneInsertion(editor, session)) {
-                CstyleBehaviour.recordAutoInsert(editor, session, "]");
-                return {
-                    text: '[]',
-                    selection: [1, 1]
-                };
-            }
-        } else if (text == ']') {
-            initContext(editor);
-            var cursor = editor.getCursorPosition();
-            var line = session.doc.getLine(cursor.row);
-            var rightChar = line.substring(cursor.column, cursor.column + 1);
-            if (rightChar == ']') {
-                var matching = session.$findOpeningBracket(']', {column: cursor.column + 1, row: cursor.row});
-                if (matching !== null && CstyleBehaviour.isAutoInsertedClosing(cursor, line, text)) {
-                    CstyleBehaviour.popAutoInsertedClosing();
-                    return {
-                        text: '',
-                        selection: [1, 1]
-                    };
-                }
-            }
-        }
-    });
-
-    this.add("brackets", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && selected == '[') {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == ']') {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-    this.add("string_dquotes", "insertion", function(state, action, editor, session, text) {
-        if (text == '"' || text == "'") {
-            initContext(editor);
-            var quote = text;
-            var selection = editor.getSelectionRange();
-            var selected = session.doc.getTextRange(selection);
-            if (selected !== "" && selected !== "'" && selected != '"' && editor.getWrapBehavioursEnabled()) {
-                return {
-                    text: quote + selected + quote,
-                    selection: false
-                };
-            } else {
-                var cursor = editor.getCursorPosition();
-                var line = session.doc.getLine(cursor.row);
-                var leftChar = line.substring(cursor.column-1, cursor.column);
-                if (leftChar == '\\') {
-                    return null;
-                }
-                var tokens = session.getTokens(selection.start.row);
-                var col = 0, token;
-                var quotepos = -1; // Track whether we're inside an open quote.
-
-                for (var x = 0; x < tokens.length; x++) {
-                    token = tokens[x];
-                    if (token.type == "string") {
-                      quotepos = -1;
-                    } else if (quotepos < 0) {
-                      quotepos = token.value.indexOf(quote);
-                    }
-                    if ((token.value.length + col) > selection.start.column) {
-                        break;
-                    }
-                    col += tokens[x].value.length;
-                }
-                if (!token || (quotepos < 0 && token.type !== "comment" && (token.type !== "string" || ((selection.start.column !== token.value.length+col-1) && token.value.lastIndexOf(quote) === token.value.length-1)))) {
-                    if (!CstyleBehaviour.isSaneInsertion(editor, session))
-                        return;
-                    return {
-                        text: quote + quote,
-                        selection: [1,1]
-                    };
-                } else if (token && token.type === "string") {
-                    var rightChar = line.substring(cursor.column, cursor.column + 1);
-                    if (rightChar == quote) {
-                        return {
-                            text: '',
-                            selection: [1, 1]
-                        };
-                    }
-                }
-            }
-        }
-    });
-
-    this.add("string_dquotes", "deletion", function(state, action, editor, session, range) {
-        var selected = session.doc.getTextRange(range);
-        if (!range.isMultiLine() && (selected == '"' || selected == "'")) {
-            initContext(editor);
-            var line = session.doc.getLine(range.start.row);
-            var rightChar = line.substring(range.start.column + 1, range.start.column + 2);
-            if (rightChar == selected) {
-                range.end.column++;
-                return range;
-            }
-        }
-    });
-
-};
-
-    
-CstyleBehaviour.isSaneInsertion = function(editor, session) {
-    var cursor = editor.getCursorPosition();
-    var iterator = new TokenIterator(session, cursor.row, cursor.column);
-    if (!this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS)) {
-        var iterator2 = new TokenIterator(session, cursor.row, cursor.column + 1);
-        if (!this.$matchTokenType(iterator2.getCurrentToken() || "text", SAFE_INSERT_IN_TOKENS))
-            return false;
-    }
-    iterator.stepForward();
-    return iterator.getCurrentTokenRow() !== cursor.row ||
-        this.$matchTokenType(iterator.getCurrentToken() || "text", SAFE_INSERT_BEFORE_TOKENS);
-};
-
-CstyleBehaviour.$matchTokenType = function(token, types) {
-    return types.indexOf(token.type || token) > -1;
-};
-
-CstyleBehaviour.recordAutoInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isAutoInsertedClosing(cursor, line, context.autoInsertedLineEnd[0]))
-        context.autoInsertedBrackets = 0;
-    context.autoInsertedRow = cursor.row;
-    context.autoInsertedLineEnd = bracket + line.substr(cursor.column);
-    context.autoInsertedBrackets++;
-};
-
-CstyleBehaviour.recordMaybeInsert = function(editor, session, bracket) {
-    var cursor = editor.getCursorPosition();
-    var line = session.doc.getLine(cursor.row);
-    if (!this.isMaybeInsertedClosing(cursor, line))
-        context.maybeInsertedBrackets = 0;
-    context.maybeInsertedRow = cursor.row;
-    context.maybeInsertedLineStart = line.substr(0, cursor.column) + bracket;
-    context.maybeInsertedLineEnd = line.substr(cursor.column);
-    context.maybeInsertedBrackets++;
-};
-
-CstyleBehaviour.isAutoInsertedClosing = function(cursor, line, bracket) {
-    return context.autoInsertedBrackets > 0 &&
-        cursor.row === context.autoInsertedRow &&
-        bracket === context.autoInsertedLineEnd[0] &&
-        line.substr(cursor.column) === context.autoInsertedLineEnd;
-};
-
-CstyleBehaviour.isMaybeInsertedClosing = function(cursor, line) {
-    return context.maybeInsertedBrackets > 0 &&
-        cursor.row === context.maybeInsertedRow &&
-        line.substr(cursor.column) === context.maybeInsertedLineEnd &&
-        line.substr(0, cursor.column) == context.maybeInsertedLineStart;
-};
-
-CstyleBehaviour.popAutoInsertedClosing = function() {
-    context.autoInsertedLineEnd = context.autoInsertedLineEnd.substr(1);
-    context.autoInsertedBrackets--;
-};
-
-CstyleBehaviour.clearMaybeInsertedClosing = function() {
-    if (context) {
-        context.maybeInsertedBrackets = 0;
-        context.maybeInsertedRow = -1;
-    }
-};
-
-
-
-oop.inherits(CstyleBehaviour, Behaviour);
-
-exports.CstyleBehaviour = CstyleBehaviour;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/powershell",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/powershell_highlight_rules","ace/mode/matching_brace_outdent","ace/mode/behaviour/cstyle","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var PowershellHighlightRules = require("./powershell_highlight_rules").PowershellHighlightRules;
-var MatchingBraceOutdent = require("./matching_brace_outdent").MatchingBraceOutdent;
-var CstyleBehaviour = require("./behaviour/cstyle").CstyleBehaviour;
-var CStyleFoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = PowershellHighlightRules;
-    this.$outdent = new MatchingBraceOutdent();
-    this.$behaviour = new CstyleBehaviour();
-    this.foldingRules = new CStyleFoldMode({start: "^\\s*(<#)", end: "^[#\\s]>\\s*$"});
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-
-    this.lineCommentStart = "#";
-    this.blockComment = {start: "<#", end: "#>"};
-    
-    this.getNextLineIndent = function(state, line, tab) {
-        var indent = this.$getIndent(line);
-
-        var tokenizedLine = this.getTokenizer().getLineTokens(line, state);
-        var tokens = tokenizedLine.tokens;
-
-        if (tokens.length && tokens[tokens.length-1].type == "comment") {
-            return indent;
-        }
-      
-        if (state == "start") {
-            var match = line.match(/^.*[\{\(\[]\s*$/);
-            if (match) {
-                indent += tab;
-            }
-        }
-
-        return indent;
-    };
-
-    this.checkOutdent = function(state, line, input) {
-        return this.$outdent.checkOutdent(line, input);
-    };
-
-    this.autoOutdent = function(state, doc, row) {
-        this.$outdent.autoOutdent(doc, row);
-    };
-
-
-    this.createWorker = function(session) {
-        return null;
-    };
-
-    this.$id = "ace/mode/powershell";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 318
services/web/public/js/ace/src/mode-prolog.js

@@ -1,318 +0,0 @@
-define("ace/mode/prolog_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PrologHighlightRules = function() {
-
-    this.$rules = { start: 
-       [ { include: '#comment' },
-         { include: '#basic_fact' },
-         { include: '#rule' },
-         { include: '#directive' },
-         { include: '#fact' } ],
-      '#atom': 
-       [ { token: 'constant.other.atom.prolog',
-           regex: '\\b[a-z][a-zA-Z0-9_]*\\b' },
-         { token: 'constant.numeric.prolog',
-           regex: '-?\\d+(?:\\.\\d+)?' },
-         { include: '#string' } ],
-      '#basic_elem': 
-       [ { include: '#comment' },
-         { include: '#statement' },
-         { include: '#constants' },
-         { include: '#operators' },
-         { include: '#builtins' },
-         { include: '#list' },
-         { include: '#atom' },
-         { include: '#variable' } ],
-      '#basic_fact': 
-       [ { token: 
-            [ 'entity.name.function.fact.basic.prolog',
-              'punctuation.end.fact.basic.prolog' ],
-           regex: '([a-z]\\w*)(\\.)' } ],
-      '#builtins': 
-       [ { token: 'support.function.builtin.prolog',
-           regex: '\\b(?:abolish|abort|ancestors|arg|ascii|assert[az]|atom(?:ic)?|body|char|close|conc|concat|consult|define|definition|dynamic|dump|fail|file|free|free_proc|functor|getc|goal|halt|head|head|integer|length|listing|match_args|member|next_clause|nl|nonvar|nth|number|cvars|nvars|offset|op|print?|prompt|putc|quoted|ratom|read|redefine|rename|retract(?:all)?|see|seeing|seen|skip|spy|statistics|system|tab|tell|telling|term|time|told|univ|unlink_clause|unspy_predicate|var|write)\\b' } ],
-      '#comment': 
-       [ { token: 
-            [ 'punctuation.definition.comment.prolog',
-              'comment.line.percentage.prolog' ],
-           regex: '(%)(.*$)' },
-         { token: 'punctuation.definition.comment.prolog',
-           regex: '/\\*',
-           push: 
-            [ { token: 'punctuation.definition.comment.prolog',
-                regex: '\\*/',
-                next: 'pop' },
-              { defaultToken: 'comment.block.prolog' } ] } ],
-      '#constants': 
-       [ { token: 'constant.language.prolog',
-           regex: '\\b(?:true|false|yes|no)\\b' } ],
-      '#directive': 
-       [ { token: 'keyword.operator.directive.prolog',
-           regex: ':-',
-           push: 
-            [ { token: 'meta.directive.prolog', regex: '\\.', next: 'pop' },
-              { include: '#comment' },
-              { include: '#statement' },
-              { defaultToken: 'meta.directive.prolog' } ] } ],
-      '#expr': 
-       [ { include: '#comments' },
-         { token: 'meta.expression.prolog',
-           regex: '\\(',
-           push: 
-            [ { token: 'meta.expression.prolog', regex: '\\)', next: 'pop' },
-              { include: '#expr' },
-              { defaultToken: 'meta.expression.prolog' } ] },
-         { token: 'keyword.control.cutoff.prolog', regex: '!' },
-         { token: 'punctuation.control.and.prolog', regex: ',' },
-         { token: 'punctuation.control.or.prolog', regex: ';' },
-         { include: '#basic_elem' } ],
-      '#fact': 
-       [ { token: 
-            [ 'entity.name.function.fact.prolog',
-              'punctuation.begin.fact.parameters.prolog' ],
-           regex: '([a-z]\\w*)(\\()(?!.*:-)',
-           push: 
-            [ { token: 
-                 [ 'punctuation.end.fact.parameters.prolog',
-                   'punctuation.end.fact.prolog' ],
-                regex: '(\\))(\\.?)',
-                next: 'pop' },
-              { include: '#parameter' },
-              { defaultToken: 'meta.fact.prolog' } ] } ],
-      '#list': 
-       [ { token: 'punctuation.begin.list.prolog',
-           regex: '\\[(?=.*\\])',
-           push: 
-            [ { token: 'punctuation.end.list.prolog',
-                regex: '\\]',
-                next: 'pop' },
-              { include: '#comment' },
-              { token: 'punctuation.separator.list.prolog', regex: ',' },
-              { token: 'punctuation.concat.list.prolog',
-                regex: '\\|',
-                push: 
-                 [ { token: 'meta.list.concat.prolog',
-                     regex: '(?=\\s*\\])',
-                     next: 'pop' },
-                   { include: '#basic_elem' },
-                   { defaultToken: 'meta.list.concat.prolog' } ] },
-              { include: '#basic_elem' },
-              { defaultToken: 'meta.list.prolog' } ] } ],
-      '#operators': 
-       [ { token: 'keyword.operator.prolog',
-           regex: '\\\\\\+|\\bnot\\b|\\bis\\b|->|[><]|[><\\\\:=]?=|(?:=\\\\|\\\\=)=' } ],
-      '#parameter': 
-       [ { token: 'variable.language.anonymous.prolog',
-           regex: '\\b_\\b' },
-         { token: 'variable.parameter.prolog',
-           regex: '\\b[A-Z_]\\w*\\b' },
-         { token: 'punctuation.separator.parameters.prolog', regex: ',' },
-         { include: '#basic_elem' },
-         { token: 'text', regex: '[^\\s]' } ],
-      '#rule': 
-       [ { token: 'meta.rule.prolog',
-           regex: '(?=[a-z]\\w*.*:-)',
-           push: 
-            [ { token: 'punctuation.rule.end.prolog',
-                regex: '\\.',
-                next: 'pop' },
-              { token: 'meta.rule.signature.prolog',
-                regex: '(?=[a-z]\\w*.*:-)',
-                push: 
-                 [ { token: 'meta.rule.signature.prolog',
-                     regex: '(?=:-)',
-                     next: 'pop' },
-                   { token: 'entity.name.function.rule.prolog',
-                     regex: '[a-z]\\w*(?=\\(|\\s*:-)' },
-                   { token: 'punctuation.rule.parameters.begin.prolog',
-                     regex: '\\(',
-                     push: 
-                      [ { token: 'punctuation.rule.parameters.end.prolog',
-                          regex: '\\)',
-                          next: 'pop' },
-                        { include: '#parameter' },
-                        { defaultToken: 'meta.rule.parameters.prolog' } ] },
-                   { defaultToken: 'meta.rule.signature.prolog' } ] },
-              { token: 'keyword.operator.definition.prolog',
-                regex: ':-',
-                push: 
-                 [ { token: 'meta.rule.definition.prolog',
-                     regex: '(?=\\.)',
-                     next: 'pop' },
-                   { include: '#comment' },
-                   { include: '#expr' },
-                   { defaultToken: 'meta.rule.definition.prolog' } ] },
-              { defaultToken: 'meta.rule.prolog' } ] } ],
-      '#statement': 
-       [ { token: 'meta.statement.prolog',
-           regex: '(?=[a-z]\\w*\\()',
-           push: 
-            [ { token: 'punctuation.end.statement.parameters.prolog',
-                regex: '\\)',
-                next: 'pop' },
-              { include: '#builtins' },
-              { include: '#atom' },
-              { token: 'punctuation.begin.statement.parameters.prolog',
-                regex: '\\(',
-                push: 
-                 [ { token: 'meta.statement.parameters.prolog',
-                     regex: '(?=\\))',
-                     next: 'pop' },
-                   { token: 'punctuation.separator.statement.prolog', regex: ',' },
-                   { include: '#basic_elem' },
-                   { defaultToken: 'meta.statement.parameters.prolog' } ] },
-              { defaultToken: 'meta.statement.prolog' } ] } ],
-      '#string': 
-       [ { token: 'punctuation.definition.string.begin.prolog',
-           regex: '\'',
-           push: 
-            [ { token: 'punctuation.definition.string.end.prolog',
-                regex: '\'',
-                next: 'pop' },
-              { token: 'constant.character.escape.prolog', regex: '\\\\.' },
-              { token: 'constant.character.escape.quote.prolog',
-                regex: '\'\'' },
-              { defaultToken: 'string.quoted.single.prolog' } ] } ],
-      '#variable': 
-       [ { token: 'variable.language.anonymous.prolog',
-           regex: '\\b_\\b' },
-         { token: 'variable.other.prolog',
-           regex: '\\b[A-Z_][a-zA-Z0-9_]*\\b' } ] }
-    
-    this.normalizeRules();
-};
-
-PrologHighlightRules.metaData = { fileTypes: [ 'plg', 'prolog' ],
-      foldingStartMarker: '(%\\s*region \\w*)|([a-z]\\w*.*:- ?)',
-      foldingStopMarker: '(%\\s*end(\\s*region)?)|(?=\\.)',
-      keyEquivalent: '^~P',
-      name: 'Prolog',
-      scopeName: 'source.prolog' }
-
-
-oop.inherits(PrologHighlightRules, TextHighlightRules);
-
-exports.PrologHighlightRules = PrologHighlightRules;
-});
-
-define("ace/mode/folding/cstyle",["require","exports","module","ace/lib/oop","ace/range","ace/mode/folding/fold_mode"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../../lib/oop");
-var Range = require("../../range").Range;
-var BaseFoldMode = require("./fold_mode").FoldMode;
-
-var FoldMode = exports.FoldMode = function(commentRegex) {
-    if (commentRegex) {
-        this.foldingStartMarker = new RegExp(
-            this.foldingStartMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.start)
-        );
-        this.foldingStopMarker = new RegExp(
-            this.foldingStopMarker.source.replace(/\|[^|]*?$/, "|" + commentRegex.end)
-        );
-    }
-};
-oop.inherits(FoldMode, BaseFoldMode);
-
-(function() {
-
-    this.foldingStartMarker = /(\{|\[)[^\}\]]*$|^\s*(\/\*)/;
-    this.foldingStopMarker = /^[^\[\{]*(\}|\])|^[\s\*]*(\*\/)/;
-
-    this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) {
-        var line = session.getLine(row);
-        var match = line.match(this.foldingStartMarker);
-        if (match) {
-            var i = match.index;
-
-            if (match[1])
-                return this.openingBracketBlock(session, match[1], row, i);
-                
-            var range = session.getCommentFoldRange(row, i + match[0].length, 1);
-            
-            if (range && !range.isMultiLine()) {
-                if (forceMultiline) {
-                    range = this.getSectionRange(session, row);
-                } else if (foldStyle != "all")
-                    range = null;
-            }
-            
-            return range;
-        }
-
-        if (foldStyle === "markbegin")
-            return;
-
-        var match = line.match(this.foldingStopMarker);
-        if (match) {
-            var i = match.index + match[0].length;
-
-            if (match[1])
-                return this.closingBracketBlock(session, match[1], row, i);
-
-            return session.getCommentFoldRange(row, i, -1);
-        }
-    };
-    
-    this.getSectionRange = function(session, row) {
-        var line = session.getLine(row);
-        var startIndent = line.search(/\S/);
-        var startRow = row;
-        var startColumn = line.length;
-        row = row + 1;
-        var endRow = row;
-        var maxRow = session.getLength();
-        while (++row < maxRow) {
-            line = session.getLine(row);
-            var indent = line.search(/\S/);
-            if (indent === -1)
-                continue;
-            if  (startIndent > indent)
-                break;
-            var subRange = this.getFoldWidgetRange(session, "all", row);
-            
-            if (subRange) {
-                if (subRange.start.row <= startRow) {
-                    break;
-                } else if (subRange.isMultiLine()) {
-                    row = subRange.end.row;
-                } else if (startIndent == indent) {
-                    break;
-                }
-            }
-            endRow = row;
-        }
-        
-        return new Range(startRow, startColumn, endRow, session.getLine(endRow).length);
-    };
-
-}).call(FoldMode.prototype);
-
-});
-
-define("ace/mode/prolog",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/prolog_highlight_rules","ace/mode/folding/cstyle"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var PrologHighlightRules = require("./prolog_highlight_rules").PrologHighlightRules;
-var FoldMode = require("./folding/cstyle").FoldMode;
-
-var Mode = function() {
-    this.HighlightRules = PrologHighlightRules;
-    this.foldingRules = new FoldMode();
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.lineCommentStart = "%";
-    this.blockComment = {start: "/*", end: "*/"};
-    this.$id = "ace/mode/prolog";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

+ 0 - 72
services/web/public/js/ace/src/mode-properties.js

@@ -1,72 +0,0 @@
-define("ace/mode/properties_highlight_rules",["require","exports","module","ace/lib/oop","ace/mode/text_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules;
-
-var PropertiesHighlightRules = function() {
-
-    var escapeRe = /\\u[0-9a-fA-F]{4}|\\/;
-
-    this.$rules = {
-        "start" : [
-            {
-                token : "comment",
-                regex : /[!#].*$/
-            }, {
-                token : "keyword",
-                regex : /[=:]$/
-            }, {
-                token : "keyword",
-                regex : /[=:]/,
-                next  : "value"
-            }, {
-                token : "constant.language.escape",
-                regex : escapeRe
-            }, {
-                defaultToken: "variable"
-            }
-        ],
-        "value" : [
-            {
-                regex : /\\$/,
-                token : "string",
-                next : "value"
-            }, {
-                regex : /$/,
-                token : "string",
-                next : "start"
-            }, {
-                token : "constant.language.escape",
-                regex : escapeRe
-            }, {
-                defaultToken: "string"
-            }
-        ]
-    };
-
-};
-
-oop.inherits(PropertiesHighlightRules, TextHighlightRules);
-
-exports.PropertiesHighlightRules = PropertiesHighlightRules;
-});
-
-define("ace/mode/properties",["require","exports","module","ace/lib/oop","ace/mode/text","ace/mode/properties_highlight_rules"], function(require, exports, module) {
-"use strict";
-
-var oop = require("../lib/oop");
-var TextMode = require("./text").Mode;
-var PropertiesHighlightRules = require("./properties_highlight_rules").PropertiesHighlightRules;
-
-var Mode = function() {
-    this.HighlightRules = PropertiesHighlightRules;
-};
-oop.inherits(Mode, TextMode);
-
-(function() {
-    this.$id = "ace/mode/properties";
-}).call(Mode.prototype);
-
-exports.Mode = Mode;
-});

Неке датотеке нису приказане због велике количине промена