All Downloads are FREE. Search and download functionalities are using the official Maven repository.

web-interface.assets.93b5186e225380c3e006a764ad08c7f6.js.map Maven / Gradle / Ivy

There is a newer version: 6.1.4
Show newest version
{"version":3,"sources":["webpack://graylog-web-interface/93b5186e225380c3e006a764ad08c7f6.js"],"sourcesContent":["ace.define(\"ace/occur\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/search\",\"ace/edit_session\",\"ace/search_highlight\",\"ace/lib/dom\"], function(require, exports, module){\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar oop = require(\"./lib/oop\");\nvar Search = require(\"./search\").Search;\nvar EditSession = require(\"./edit_session\").EditSession;\nvar SearchHighlight = require(\"./search_highlight\").SearchHighlight;\nvar Occur = /** @class */ (function (_super) {\n    __extends(Occur, _super);\n    function Occur() {\n        return _super !== null && _super.apply(this, arguments) || this;\n    }\n    Occur.prototype.enter = function (editor, options) {\n        if (!options.needle)\n            return false;\n        var pos = editor.getCursorPosition();\n        this.displayOccurContent(editor, options);\n        var translatedPos = this.originalToOccurPosition(editor.session, pos);\n        editor.moveCursorToPosition(translatedPos);\n        return true;\n    };\n    Occur.prototype.exit = function (editor, options) {\n        var pos = options.translatePosition && editor.getCursorPosition();\n        var translatedPos = pos && this.occurToOriginalPosition(editor.session, pos);\n        this.displayOriginalContent(editor);\n        if (translatedPos)\n            editor.moveCursorToPosition(translatedPos);\n        return true;\n    };\n    Occur.prototype.highlight = function (sess, regexp) {\n        var hl = sess.$occurHighlight = sess.$occurHighlight || sess.addDynamicMarker(new SearchHighlight(null, \"ace_occur-highlight\", \"text\"));\n        hl.setRegexp(regexp);\n        sess._emit(\"changeBackMarker\"); // force highlight layer redraw\n    };\n    Occur.prototype.displayOccurContent = function (editor, options) {\n        this.$originalSession = editor.session;\n        var found = this.matchingLines(editor.session, options);\n        var lines = found.map(function (foundLine) { return foundLine.content; });\n        var occurSession = new EditSession(lines.join('\\n'));\n        occurSession.$occur = this;\n        occurSession.$occurMatchingLines = found;\n        editor.setSession(occurSession);\n        this.$useEmacsStyleLineStart = this.$originalSession.$useEmacsStyleLineStart;\n        occurSession.$useEmacsStyleLineStart = this.$useEmacsStyleLineStart;\n        this.highlight(occurSession, options.re);\n        occurSession._emit('changeBackMarker');\n    };\n    Occur.prototype.displayOriginalContent = function (editor) {\n        editor.setSession(this.$originalSession);\n        this.$originalSession.$useEmacsStyleLineStart = this.$useEmacsStyleLineStart;\n    };\n    Occur.prototype.originalToOccurPosition = function (session, pos) {\n        var lines = session.$occurMatchingLines;\n        var nullPos = { row: 0, column: 0 };\n        if (!lines)\n            return nullPos;\n        for (var i = 0; i < lines.length; i++) {\n            if (lines[i].row === pos.row)\n                return { row: i, column: pos.column };\n        }\n        return nullPos;\n    };\n    Occur.prototype.occurToOriginalPosition = function (session, pos) {\n        var lines = session.$occurMatchingLines;\n        if (!lines || !lines[pos.row])\n            return pos;\n        return { row: lines[pos.row].row, column: pos.column };\n    };\n    Occur.prototype.matchingLines = function (session, options) {\n        options = oop.mixin({}, options);\n        if (!session || !options.needle)\n            return [];\n        var search = new Search();\n        search.set(options);\n        return search.findAll(session).reduce(function (lines, range) {\n            var row = range.start.row;\n            var last = lines[lines.length - 1];\n            return last && last.row === row ?\n                lines :\n                lines.concat({ row: row, content: session.getLine(row) });\n        }, []);\n    };\n    return Occur;\n}(Search));\nvar dom = require('./lib/dom');\ndom.importCssString(\".ace_occur-highlight {\\n\\\n    border-radius: 4px;\\n\\\n    background-color: rgba(87, 255, 8, 0.25);\\n\\\n    position: absolute;\\n\\\n    z-index: 4;\\n\\\n    box-sizing: border-box;\\n\\\n    box-shadow: 0 0 4px rgb(91, 255, 50);\\n\\\n}\\n\\\n.ace_dark .ace_occur-highlight {\\n\\\n    background-color: rgb(80, 140, 85);\\n\\\n    box-shadow: 0 0 4px rgb(60, 120, 70);\\n\\\n}\\n\", \"incremental-occur-highlighting\", false);\nexports.Occur = Occur;\n\n});\n\nace.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;\nvar occurStartCommand = {\n    name: \"occur\",\n    exec: function (editor, options) {\n        var alreadyInOccur = !!editor.session.$occur;\n        var occurSessionActive = new Occur().enter(editor, options);\n        if (occurSessionActive && !alreadyInOccur)\n            OccurKeyboardHandler.installIn(editor);\n    },\n    readOnly: true\n};\nvar occurCommands = [{\n        name: \"occurexit\",\n        bindKey: 'esc|Ctrl-G',\n        exec: function (editor) {\n            var occur = editor.session.$occur;\n            if (!occur)\n                return;\n            occur.exit(editor, {});\n            if (!editor.session.$occur)\n                OccurKeyboardHandler.uninstallFrom(editor);\n        },\n        readOnly: true\n    }, {\n        name: \"occuraccept\",\n        bindKey: 'enter',\n        exec: function (editor) {\n            var occur = editor.session.$occur;\n            if (!occur)\n                return;\n            occur.exit(editor, { translatePosition: true });\n            if (!editor.session.$occur)\n                OccurKeyboardHandler.uninstallFrom(editor);\n        },\n        readOnly: true\n    }];\nvar HashHandler = require(\"../keyboard/hash_handler\").HashHandler;\nvar oop = require(\"../lib/oop\");\nfunction OccurKeyboardHandler() { }\noop.inherits(OccurKeyboardHandler, HashHandler);\n(function () {\n    this.isOccurHandler = true;\n    this.attach = function (editor) {\n        HashHandler.call(this, occurCommands, editor.commands.platform);\n        this.$editor = editor;\n    };\n    var handleKeyboard$super = this.handleKeyboard;\n    this.handleKeyboard = function (data, hashId, key, keyCode) {\n        var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);\n        return (cmd && cmd.command) ? cmd : undefined;\n    };\n}).call(OccurKeyboardHandler.prototype);\nOccurKeyboardHandler.installIn = function (editor) {\n    var handler = new this();\n    editor.keyBinding.addKeyboardHandler(handler);\n    editor.commands.addCommands(occurCommands);\n};\nOccurKeyboardHandler.uninstallFrom = function (editor) {\n    editor.commands.removeCommands(occurCommands);\n    var handler = editor.getKeyboardHandler();\n    if (handler.isOccurHandler)\n        editor.keyBinding.removeKeyboardHandler(handler);\n};\nexports.occurStartCommand = occurStartCommand;\n\n});\n\nace.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\");\nvar oop = require(\"../lib/oop\");\nvar HashHandler = require(\"../keyboard/hash_handler\").HashHandler;\nvar occurStartCommand = require(\"./occur_commands\").occurStartCommand;\nexports.iSearchStartCommands = [{\n        name: \"iSearch\",\n        bindKey: { win: \"Ctrl-F\", mac: \"Command-F\" },\n        exec: function (editor, options) {\n            config.loadModule([\"core\", \"ace/incremental_search\"], function (e) {\n                var iSearch = e.iSearch = e.iSearch || new e.IncrementalSearch();\n                iSearch.activate(editor, options.backwards);\n                if (options.jumpToFirstMatch)\n                    iSearch.next(options);\n            });\n        },\n        readOnly: true\n    }, {\n        name: \"iSearchBackwards\",\n        exec: function (editor, jumpToNext) { editor.execCommand('iSearch', { backwards: true }); },\n        readOnly: true\n    }, {\n        name: \"iSearchAndGo\",\n        bindKey: { win: \"Ctrl-K\", mac: \"Command-G\" },\n        exec: function (editor, jumpToNext) { editor.execCommand('iSearch', { jumpToFirstMatch: true, useCurrentOrPrevSearch: true }); },\n        readOnly: true\n    }, {\n        name: \"iSearchBackwardsAndGo\",\n        bindKey: { win: \"Ctrl-Shift-K\", mac: \"Command-Shift-G\" },\n        exec: function (editor) { editor.execCommand('iSearch', { jumpToFirstMatch: true, backwards: true, useCurrentOrPrevSearch: true }); },\n        readOnly: true\n    }];\nexports.iSearchCommands = [{\n        name: \"restartSearch\",\n        bindKey: { win: \"Ctrl-F\", mac: \"Command-F\" },\n        exec: function (iSearch) {\n            iSearch.cancelSearch(true);\n        }\n    }, {\n        name: \"searchForward\",\n        bindKey: { win: \"Ctrl-S|Ctrl-K\", mac: \"Ctrl-S|Command-G\" },\n        exec: function (iSearch, options) {\n            options.useCurrentOrPrevSearch = true;\n            iSearch.next(options);\n        }\n    }, {\n        name: \"searchBackward\",\n        bindKey: { win: \"Ctrl-R|Ctrl-Shift-K\", mac: \"Ctrl-R|Command-Shift-G\" },\n        exec: function (iSearch, options) {\n            options.useCurrentOrPrevSearch = true;\n            options.backwards = true;\n            iSearch.next(options);\n        }\n    }, {\n        name: \"extendSearchTerm\",\n        exec: function (iSearch, string) {\n            iSearch.addString(string);\n        }\n    }, {\n        name: \"extendSearchTermSpace\",\n        bindKey: \"space\",\n        exec: function (iSearch) { iSearch.addString(' '); }\n    }, {\n        name: \"shrinkSearchTerm\",\n        bindKey: \"backspace\",\n        exec: function (iSearch) {\n            iSearch.removeChar();\n        }\n    }, {\n        name: 'confirmSearch',\n        bindKey: 'return',\n        exec: function (iSearch) { iSearch.deactivate(); }\n    }, {\n        name: 'cancelSearch',\n        bindKey: 'esc|Ctrl-G',\n        exec: function (iSearch) { iSearch.deactivate(true); }\n    }, {\n        name: 'occurisearch',\n        bindKey: 'Ctrl-O',\n        exec: function (iSearch) {\n            var options = oop.mixin({}, iSearch.$options);\n            iSearch.deactivate();\n            occurStartCommand.exec(iSearch.$editor, options);\n        }\n    }, {\n        name: \"yankNextWord\",\n        bindKey: \"Ctrl-w\",\n        exec: function (iSearch) {\n            var ed = iSearch.$editor, range = ed.selection.getRangeOfMovements(function (sel) { sel.moveCursorWordRight(); }), string = ed.session.getTextRange(range);\n            iSearch.addString(string);\n        }\n    }, {\n        name: \"yankNextChar\",\n        bindKey: \"Ctrl-Alt-y\",\n        exec: function (iSearch) {\n            var ed = iSearch.$editor, range = ed.selection.getRangeOfMovements(function (sel) { sel.moveCursorRight(); }), string = ed.session.getTextRange(range);\n            iSearch.addString(string);\n        }\n    }, {\n        name: 'recenterTopBottom',\n        bindKey: 'Ctrl-l',\n        exec: function (iSearch) { iSearch.$editor.execCommand('recenterTopBottom'); }\n    }, {\n        name: 'selectAllMatches',\n        bindKey: 'Ctrl-space',\n        exec: function (iSearch) {\n            var ed = iSearch.$editor, hl = ed.session.$isearchHighlight, ranges = hl && hl.cache ? hl.cache\n                .reduce(function (ranges, ea) {\n                return ranges.concat(ea ? ea : []);\n            }, []) : [];\n            iSearch.deactivate(false);\n            ranges.forEach(ed.selection.addRange.bind(ed.selection));\n        }\n    }, {\n        name: 'searchAsRegExp',\n        bindKey: 'Alt-r',\n        exec: function (iSearch) {\n            iSearch.convertNeedleToRegExp();\n        }\n    }].map(function (cmd) {\n    cmd.readOnly = true;\n    cmd.isIncrementalSearchCommand = true;\n    cmd.scrollIntoView = \"animate-cursor\";\n    return cmd;\n});\nfunction IncrementalSearchKeyboardHandler(iSearch) {\n    this.$iSearch = iSearch;\n}\noop.inherits(IncrementalSearchKeyboardHandler, HashHandler);\n(function () {\n    this.attach = function (editor) {\n        var iSearch = this.$iSearch;\n        HashHandler.call(this, exports.iSearchCommands, editor.commands.platform);\n        this.$commandExecHandler = editor.commands.on('exec', function (e) {\n            if (!e.command.isIncrementalSearchCommand)\n                return iSearch.deactivate();\n            e.stopPropagation();\n            e.preventDefault();\n            var scrollTop = editor.session.getScrollTop();\n            var result = e.command.exec(iSearch, e.args || {});\n            editor.renderer.scrollCursorIntoView(null, 0.5);\n            editor.renderer.animateScrolling(scrollTop);\n            return result;\n        });\n    };\n    this.detach = function (editor) {\n        if (!this.$commandExecHandler)\n            return;\n        editor.commands.off('exec', this.$commandExecHandler);\n        delete this.$commandExecHandler;\n    };\n    var handleKeyboard$super = this.handleKeyboard;\n    this.handleKeyboard = function (data, hashId, key, keyCode) {\n        if (((hashId === 1 /*ctrl*/ || hashId === 8 /*command*/) && key === 'v')\n            || (hashId === 1 /*ctrl*/ && key === 'y'))\n            return null;\n        var cmd = handleKeyboard$super.call(this, data, hashId, key, keyCode);\n        if (cmd && cmd.command) {\n            return cmd;\n        }\n        if (hashId == -1) {\n            var extendCmd = this.commands.extendSearchTerm;\n            if (extendCmd) {\n                return { command: extendCmd, args: key };\n            }\n        }\n        return false;\n    };\n}).call(IncrementalSearchKeyboardHandler.prototype);\nexports.IncrementalSearchKeyboardHandler = IncrementalSearchKeyboardHandler;\n\n});\n\nace.define(\"ace/incremental_search\",[\"require\",\"exports\",\"module\",\"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\";\nvar __extends = (this && this.__extends) || (function () {\n    var extendStatics = function (d, b) {\n        extendStatics = Object.setPrototypeOf ||\n            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n        return extendStatics(d, b);\n    };\n    return function (d, b) {\n        if (typeof b !== \"function\" && b !== null)\n            throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n        extendStatics(d, b);\n        function __() { this.constructor = d; }\n        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n    };\n})();\nvar Range = require(\"./range\").Range;\nvar Search = require(\"./search\").Search;\nvar SearchHighlight = require(\"./search_highlight\").SearchHighlight;\nvar iSearchCommandModule = require(\"./commands/incremental_search_commands\");\nvar ISearchKbd = iSearchCommandModule.IncrementalSearchKeyboardHandler;\nfunction isRegExp(obj) {\n    return obj instanceof RegExp;\n}\nfunction regExpToObject(re) {\n    var string = String(re), start = string.indexOf('/'), flagStart = string.lastIndexOf('/');\n    return {\n        expression: string.slice(start + 1, flagStart),\n        flags: string.slice(flagStart + 1)\n    };\n}\nfunction stringToRegExp(string, flags) {\n    try {\n        return new RegExp(string, flags);\n    }\n    catch (e) {\n        return string;\n    }\n}\nfunction objectToRegExp(obj) {\n    return stringToRegExp(obj.expression, obj.flags);\n}\nvar IncrementalSearch = /** @class */ (function (_super) {\n    __extends(IncrementalSearch, _super);\n    function IncrementalSearch() {\n        var _this = _super.call(this) || this;\n        _this.$options = { wrap: false, skipCurrent: false };\n        _this.$keyboardHandler = new ISearchKbd(_this);\n        return _this;\n    }\n    IncrementalSearch.prototype.activate = function (editor, backwards) {\n        this.$editor = editor;\n        this.$startPos = this.$currentPos = editor.getCursorPosition();\n        this.$options.needle = '';\n        this.$options.backwards = backwards;\n        editor.keyBinding.addKeyboardHandler(this.$keyboardHandler);\n        this.$originalEditorOnPaste = editor.onPaste;\n        editor.onPaste = this.onPaste.bind(this);\n        this.$mousedownHandler = editor.on('mousedown', this.onMouseDown.bind(this));\n        this.selectionFix(editor);\n        this.statusMessage(true);\n    };\n    IncrementalSearch.prototype.deactivate = function (reset) {\n        this.cancelSearch(reset);\n        var editor = this.$editor;\n        editor.keyBinding.removeKeyboardHandler(this.$keyboardHandler);\n        if (this.$mousedownHandler) {\n            editor.off('mousedown', this.$mousedownHandler);\n            delete this.$mousedownHandler;\n        }\n        editor.onPaste = this.$originalEditorOnPaste;\n        this.message('');\n    };\n    IncrementalSearch.prototype.selectionFix = function (editor) {\n        if (editor.selection.isEmpty() && !editor.session.$emacsMark) {\n            editor.clearSelection();\n        }\n    };\n    IncrementalSearch.prototype.highlight = function (regexp) {\n        var sess = this.$editor.session, hl = sess.$isearchHighlight = sess.$isearchHighlight || sess.addDynamicMarker(new SearchHighlight(null, \"ace_isearch-result\", \"text\"));\n        hl.setRegexp(regexp);\n        sess._emit(\"changeBackMarker\"); // force highlight layer redraw\n    };\n    IncrementalSearch.prototype.cancelSearch = function (reset) {\n        var e = this.$editor;\n        this.$prevNeedle = this.$options.needle;\n        this.$options.needle = '';\n        if (reset) {\n            e.moveCursorToPosition(this.$startPos);\n            this.$currentPos = this.$startPos;\n        }\n        else {\n            e.pushEmacsMark && e.pushEmacsMark(this.$startPos, false);\n        }\n        this.highlight(null);\n        return Range.fromPoints(this.$currentPos, this.$currentPos);\n    };\n    IncrementalSearch.prototype.highlightAndFindWithNeedle = function (moveToNext, needleUpdateFunc) {\n        if (!this.$editor)\n            return null;\n        var options = this.$options;\n        if (needleUpdateFunc) {\n            options.needle = needleUpdateFunc.call(this, options.needle || '') || '';\n        }\n        if (options.needle.length === 0) {\n            this.statusMessage(true);\n            return this.cancelSearch(true);\n        }\n        options.start = this.$currentPos;\n        var session = this.$editor.session, found = this.find(session), shouldSelect = this.$editor.emacsMark ?\n            !!this.$editor.emacsMark() : !this.$editor.selection.isEmpty();\n        if (found) {\n            if (options.backwards)\n                found = Range.fromPoints(found.end, found.start);\n            this.$editor.selection.setRange(Range.fromPoints(shouldSelect ? this.$startPos : found.end, found.end));\n            if (moveToNext)\n                this.$currentPos = found.end;\n            this.highlight(options.re);\n        }\n        this.statusMessage(found);\n        return found;\n    };\n    IncrementalSearch.prototype.addString = function (s) {\n        return this.highlightAndFindWithNeedle(false, function (needle) {\n            if (!isRegExp(needle))\n                return needle + s;\n            var reObj = regExpToObject(needle);\n            reObj.expression += s;\n            return objectToRegExp(reObj);\n        });\n    };\n    IncrementalSearch.prototype.removeChar = function (c) {\n        return this.highlightAndFindWithNeedle(false, function (needle) {\n            if (!isRegExp(needle))\n                return needle.substring(0, needle.length - 1);\n            var reObj = regExpToObject(needle);\n            reObj.expression = reObj.expression.substring(0, reObj.expression.length - 1);\n            return objectToRegExp(reObj);\n        });\n    };\n    IncrementalSearch.prototype.next = function (options) {\n        options = options || {};\n        this.$options.backwards = !!options.backwards;\n        this.$currentPos = this.$editor.getCursorPosition();\n        return this.highlightAndFindWithNeedle(true, function (needle) {\n            return options.useCurrentOrPrevSearch && needle.length === 0 ?\n                this.$prevNeedle || '' : needle;\n        });\n    };\n    IncrementalSearch.prototype.onMouseDown = function (evt) {\n        this.deactivate();\n        return true;\n    };\n    IncrementalSearch.prototype.onPaste = function (text) {\n        this.addString(text);\n    };\n    IncrementalSearch.prototype.convertNeedleToRegExp = function () {\n        return this.highlightAndFindWithNeedle(false, function (needle) {\n            return isRegExp(needle) ? needle : stringToRegExp(needle, 'ig');\n        });\n    };\n    IncrementalSearch.prototype.convertNeedleToString = function () {\n        return this.highlightAndFindWithNeedle(false, function (needle) {\n            return isRegExp(needle) ? regExpToObject(needle).expression : needle;\n        });\n    };\n    IncrementalSearch.prototype.statusMessage = function (found) {\n        var options = this.$options, msg = '';\n        msg += options.backwards ? 'reverse-' : '';\n        msg += 'isearch: ' + options.needle;\n        msg += found ? '' : ' (not found)';\n        this.message(msg);\n    };\n    IncrementalSearch.prototype.message = function (msg) {\n        if (this.$editor.showCommandLine) {\n            this.$editor.showCommandLine(msg);\n            this.$editor.focus();\n        }\n    };\n    return IncrementalSearch;\n}(Search));\nexports.IncrementalSearch = IncrementalSearch;\nvar dom = require('./lib/dom');\ndom.importCssString(\"\\n.ace_marker-layer .ace_isearch-result {\\n  position: absolute;\\n  z-index: 6;\\n  box-sizing: border-box;\\n}\\ndiv.ace_isearch-result {\\n  border-radius: 4px;\\n  background-color: rgba(255, 200, 0, 0.5);\\n  box-shadow: 0 0 4px rgb(255, 200, 0);\\n}\\n.ace_dark div.ace_isearch-result {\\n  background-color: rgb(100, 110, 160);\\n  box-shadow: 0 0 4px rgb(80, 90, 140);\\n}\", \"incremental-search-highlighting\", false);\nvar commands = require(\"./commands/command_manager\");\n(function () {\n    this.setupIncrementalSearch = function (editor, val) {\n        if (this.usesIncrementalSearch == val)\n            return;\n        this.usesIncrementalSearch = val;\n        var iSearchCommands = iSearchCommandModule.iSearchStartCommands;\n        var method = val ? 'addCommands' : 'removeCommands';\n        this[method](iSearchCommands);\n    };\n}).call(commands.CommandManager.prototype);\nvar Editor = require(\"./editor\").Editor;\nrequire(\"./config\").defineOptions(Editor.prototype, \"editor\", {\n    useIncrementalSearch: {\n        set: function (val) {\n            this.keyBinding.$handlers.forEach(function (handler) {\n                if (handler.setupIncrementalSearch) {\n                    handler.setupIncrementalSearch(this, val);\n                }\n            });\n            this._emit('incrementalSearchSettingChanged', { isEnabled: val });\n        }\n    }\n});\n\n});\n\nace.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\";\nvar dom = require(\"../lib/dom\");\nrequire(\"../incremental_search\");\nvar iSearchCommandModule = require(\"../commands/incremental_search_commands\");\nvar HashHandler = require(\"./hash_handler\").HashHandler;\nexports.handler = new HashHandler();\nexports.handler.isEmacs = true;\nexports.handler.$id = \"ace/keyboard/emacs\";\ndom.importCssString(\"\\n.emacs-mode .ace_cursor{\\n    border: 1px rgba(50,250,50,0.8) solid!important;\\n    box-sizing: border-box!important;\\n    background-color: rgba(0,250,0,0.9);\\n    opacity: 0.5;\\n}\\n.emacs-mode .ace_hidden-cursors .ace_cursor{\\n    opacity: 1;\\n    background-color: transparent;\\n}\\n.emacs-mode .ace_overwrite-cursors .ace_cursor {\\n    opacity: 1;\\n    background-color: transparent;\\n    border-width: 0 0 2px 2px !important;\\n}\\n.emacs-mode .ace_text-layer {\\n    z-index: 4\\n}\\n.emacs-mode .ace_cursor-layer {\\n    z-index: 2\\n}\", 'emacsMode');\nvar $formerLongWords;\nvar $formerLineStart;\nexports.handler.attach = function (editor) {\n    $formerLongWords = editor.session.$selectLongWords;\n    editor.session.$selectLongWords = true;\n    $formerLineStart = editor.session.$useEmacsStyleLineStart;\n    editor.session.$useEmacsStyleLineStart = true;\n    editor.session.$emacsMark = null; // the active mark\n    editor.session.$emacsMarkRing = editor.session.$emacsMarkRing || [];\n    editor.emacsMark = function () {\n        return this.session.$emacsMark;\n    };\n    editor.setEmacsMark = function (p) {\n        this.session.$emacsMark = p;\n    };\n    editor.pushEmacsMark = function (p, activate) {\n        var prevMark = this.session.$emacsMark;\n        if (prevMark)\n            this.session.$emacsMarkRing.push(prevMark);\n        if (!p || activate)\n            this.setEmacsMark(p);\n        else\n            this.session.$emacsMarkRing.push(p);\n    };\n    editor.popEmacsMark = function () {\n        var mark = this.emacsMark();\n        if (mark) {\n            this.setEmacsMark(null);\n            return mark;\n        }\n        return this.session.$emacsMarkRing.pop();\n    };\n    editor.getLastEmacsMark = function (p) {\n        return this.session.$emacsMark || this.session.$emacsMarkRing.slice(-1)[0];\n    };\n    editor.emacsMarkForSelection = function (replacement) {\n        var sel = this.selection, multiRangeLength = this.multiSelect ?\n            this.multiSelect.getAllRanges().length : 1, selIndex = sel.index || 0, markRing = this.session.$emacsMarkRing, markIndex = markRing.length - (multiRangeLength - selIndex), lastMark = markRing[markIndex] || sel.anchor;\n        if (replacement) {\n            markRing.splice(markIndex, 1, \"row\" in replacement && \"column\" in replacement ?\n                replacement : undefined);\n        }\n        return lastMark;\n    };\n    editor.on(\"click\", $resetMarkMode);\n    editor.on(\"changeSession\", $kbSessionChange);\n    editor.renderer.$blockCursor = true;\n    editor.setStyle(\"emacs-mode\");\n    editor.commands.addCommands(commands);\n    exports.handler.platform = editor.commands.platform;\n    editor.$emacsModeHandler = this;\n    editor.on('copy', this.onCopy);\n    editor.on('paste', this.onPaste);\n};\nexports.handler.detach = function (editor) {\n    editor.renderer.$blockCursor = false;\n    editor.session.$selectLongWords = $formerLongWords;\n    editor.session.$useEmacsStyleLineStart = $formerLineStart;\n    editor.off(\"click\", $resetMarkMode);\n    editor.off(\"changeSession\", $kbSessionChange);\n    editor.unsetStyle(\"emacs-mode\");\n    editor.commands.removeCommands(commands);\n    editor.off('copy', this.onCopy);\n    editor.off('paste', this.onPaste);\n    editor.$emacsModeHandler = null;\n};\nvar $kbSessionChange = function (e) {\n    if (e.oldSession) {\n        e.oldSession.$selectLongWords = $formerLongWords;\n        e.oldSession.$useEmacsStyleLineStart = $formerLineStart;\n    }\n    $formerLongWords = e.session.$selectLongWords;\n    e.session.$selectLongWords = true;\n    $formerLineStart = e.session.$useEmacsStyleLineStart;\n    e.session.$useEmacsStyleLineStart = true;\n    if (!e.session.hasOwnProperty('$emacsMark'))\n        e.session.$emacsMark = null;\n    if (!e.session.hasOwnProperty('$emacsMarkRing'))\n        e.session.$emacsMarkRing = [];\n};\nvar $resetMarkMode = function (e) {\n    e.editor.session.$emacsMark = null;\n};\nvar keys = require(\"../lib/keys\").KEY_MODS;\nvar eMods = { C: \"ctrl\", S: \"shift\", M: \"alt\", CMD: \"command\" };\nvar combinations = [\"C-S-M-CMD\",\n    \"S-M-CMD\", \"C-M-CMD\", \"C-S-CMD\", \"C-S-M\",\n    \"M-CMD\", \"S-CMD\", \"S-M\", \"C-CMD\", \"C-M\", \"C-S\",\n    \"CMD\", \"M\", \"S\", \"C\"];\ncombinations.forEach(function (c) {\n    var hashId = 0;\n    c.split(\"-\").forEach(function (c) {\n        hashId = hashId | keys[eMods[c]];\n    });\n    eMods[hashId] = c.toLowerCase() + \"-\";\n});\nexports.handler.onCopy = function (e, editor) {\n    if (editor.$handlesEmacsOnCopy)\n        return;\n    editor.$handlesEmacsOnCopy = true;\n    exports.handler.commands.killRingSave.exec(editor);\n    editor.$handlesEmacsOnCopy = false;\n};\nexports.handler.onPaste = function (e, editor) {\n    editor.pushEmacsMark(editor.getCursorPosition());\n};\nexports.handler.bindKey = function (key, command) {\n    if (typeof key == \"object\")\n        key = key[this.platform];\n    if (!key)\n        return;\n    var ckb = this.commandKeyBinding;\n    key.split(\"|\").forEach(function (keyPart) {\n        keyPart = keyPart.toLowerCase();\n        ckb[keyPart] = command;\n        var keyParts = keyPart.split(\" \").slice(0, -1);\n        keyParts.reduce(function (keyMapKeys, keyPart, i) {\n            var prefix = keyMapKeys[i - 1] ? keyMapKeys[i - 1] + ' ' : '';\n            return keyMapKeys.concat([prefix + keyPart]);\n        }, []).forEach(function (keyPart) {\n            if (!ckb[keyPart])\n                ckb[keyPart] = \"null\";\n        });\n    }, this);\n};\nexports.handler.getStatusText = function (editor, data) {\n    var str = \"\";\n    if (data.count)\n        str += data.count;\n    if (data.keyChain)\n        str += \" \" + data.keyChain;\n    return str;\n};\nexports.handler.handleKeyboard = function (data, hashId, key, keyCode) {\n    if (keyCode === -1)\n        return undefined;\n    var editor = data.editor;\n    editor._signal(\"changeStatus\");\n    if (hashId == -1) {\n        editor.pushEmacsMark();\n        if (data.count) {\n            var str = new Array(data.count + 1).join(key);\n            data.count = null;\n            return { command: \"insertstring\", args: str };\n        }\n    }\n    var modifier = eMods[hashId];\n    if (modifier == \"c-\" || data.count) {\n        var count = parseInt(key[key.length - 1]);\n        if (typeof count === 'number' && !isNaN(count)) {\n            data.count = Math.max(data.count, 0) || 0;\n            data.count = 10 * data.count + count;\n            return { command: \"null\" };\n        }\n    }\n    if (modifier)\n        key = modifier + key;\n    if (data.keyChain)\n        key = data.keyChain += \" \" + key;\n    var command = this.commandKeyBinding[key];\n    data.keyChain = command == \"null\" ? key : \"\";\n    if (!command)\n        return undefined;\n    if (command === \"null\")\n        return { command: \"null\" };\n    if (command === \"universalArgument\") {\n        data.count = -4;\n        return { command: \"null\" };\n    }\n    var args;\n    if (typeof command !== \"string\") {\n        args = command.args;\n        if (command.command)\n            command = command.command;\n        if (command === \"goorselect\") {\n            command = editor.emacsMark() ? args[1] : args[0];\n            args = null;\n        }\n    }\n    if (typeof command === \"string\") {\n        if (command === \"insertstring\" ||\n            command === \"splitline\" ||\n            command === \"togglecomment\") {\n            editor.pushEmacsMark();\n        }\n        command = this.commands[command] || editor.commands.commands[command];\n        if (!command)\n            return undefined;\n    }\n    if (!command.readOnly && !command.isYank)\n        data.lastCommand = null;\n    if (!command.readOnly && editor.emacsMark())\n        editor.setEmacsMark(null);\n    if (data.count) {\n        var count = data.count;\n        data.count = 0;\n        if (!command || !command.handlesCount) {\n            return {\n                args: args,\n                command: {\n                    exec: function (editor, args) {\n                        for (var i = 0; i < count; i++)\n                            command.exec(editor, args);\n                    },\n                    multiSelectAction: command.multiSelectAction\n                }\n            };\n        }\n        else {\n            if (!args)\n                args = {};\n            if (typeof args === 'object')\n                args.count = count;\n        }\n    }\n    return { command: command, args: args };\n};\nexports.emacsKeys = {\n    \"Up|C-p\": { command: \"goorselect\", args: [\"golineup\", \"selectup\"] },\n    \"Down|C-n\": { command: \"goorselect\", args: [\"golinedown\", \"selectdown\"] },\n    \"Left|C-b\": { command: \"goorselect\", args: [\"gotoleft\", \"selectleft\"] },\n    \"Right|C-f\": { command: \"goorselect\", args: [\"gotoright\", \"selectright\"] },\n    \"C-Left|M-b\": { command: \"goorselect\", args: [\"gotowordleft\", \"selectwordleft\"] },\n    \"C-Right|M-f\": { command: \"goorselect\", args: [\"gotowordright\", \"selectwordright\"] },\n    \"Home|C-a\": { command: \"goorselect\", args: [\"gotolinestart\", \"selecttolinestart\"] },\n    \"End|C-e\": { command: \"goorselect\", args: [\"gotolineend\", \"selecttolineend\"] },\n    \"C-Home|S-M-,\": { command: \"goorselect\", args: [\"gotostart\", \"selecttostart\"] },\n    \"C-End|S-M-.\": { command: \"goorselect\", args: [\"gotoend\", \"selecttoend\"] },\n    \"S-Up|S-C-p\": \"selectup\",\n    \"S-Down|S-C-n\": \"selectdown\",\n    \"S-Left|S-C-b\": \"selectleft\",\n    \"S-Right|S-C-f\": \"selectright\",\n    \"S-C-Left|S-M-b\": \"selectwordleft\",\n    \"S-C-Right|S-M-f\": \"selectwordright\",\n    \"S-Home|S-C-a\": \"selecttolinestart\",\n    \"S-End|S-C-e\": \"selecttolineend\",\n    \"S-C-Home\": \"selecttostart\",\n    \"S-C-End\": \"selecttoend\",\n    \"C-l\": \"recenterTopBottom\",\n    \"M-s\": \"centerselection\",\n    \"M-g\": \"gotoline\",\n    \"C-x C-p\": \"selectall\",\n    \"C-Down\": { command: \"goorselect\", args: [\"gotopagedown\", \"selectpagedown\"] },\n    \"C-Up\": { command: \"goorselect\", args: [\"gotopageup\", \"selectpageup\"] },\n    \"PageDown|C-v\": { command: \"goorselect\", args: [\"gotopagedown\", \"selectpagedown\"] },\n    \"PageUp|M-v\": { command: \"goorselect\", args: [\"gotopageup\", \"selectpageup\"] },\n    \"S-C-Down\": \"selectpagedown\",\n    \"S-C-Up\": \"selectpageup\",\n    \"C-s\": \"iSearch\",\n    \"C-r\": \"iSearchBackwards\",\n    \"M-C-s\": \"findnext\",\n    \"M-C-r\": \"findprevious\",\n    \"S-M-5\": \"replace\",\n    \"Backspace\": \"backspace\",\n    \"Delete|C-d\": \"del\",\n    \"Return|C-m\": { command: \"insertstring\", args: \"\\n\" },\n    \"C-o\": \"splitline\",\n    \"M-d|C-Delete\": { command: \"killWord\", args: \"right\" },\n    \"C-Backspace|M-Backspace|M-Delete\": { command: \"killWord\", args: \"left\" },\n    \"C-k\": \"killLine\",\n    \"C-y|S-Delete\": \"yank\",\n    \"M-y\": \"yankRotate\",\n    \"C-g\": \"keyboardQuit\",\n    \"C-w|C-S-W\": \"killRegion\",\n    \"M-w\": \"killRingSave\",\n    \"C-Space\": \"setMark\",\n    \"C-x C-x\": \"exchangePointAndMark\",\n    \"C-t\": \"transposeletters\",\n    \"M-u\": \"touppercase\",\n    \"M-l\": \"tolowercase\",\n    \"M-/\": \"autocomplete\",\n    \"C-u\": \"universalArgument\",\n    \"M-;\": \"togglecomment\",\n    \"C-/|C-x u|S-C--|C-z\": \"undo\",\n    \"S-C-/|S-C-x u|C--|S-C-z\": \"redo\",\n    \"C-x r\": \"selectRectangularRegion\",\n    \"M-x\": { command: \"focusCommandLine\", args: \"M-x \" }\n};\nexports.handler.bindKeys(exports.emacsKeys);\nexports.handler.addCommands({\n    recenterTopBottom: function (editor) {\n        var renderer = editor.renderer;\n        var pos = renderer.$cursorLayer.getPixelPosition();\n        var h = renderer.$size.scrollerHeight - renderer.lineHeight;\n        var scrollTop = renderer.scrollTop;\n        if (Math.abs(pos.top - scrollTop) < 2) {\n            scrollTop = pos.top - h;\n        }\n        else if (Math.abs(pos.top - scrollTop - h * 0.5) < 2) {\n            scrollTop = pos.top;\n        }\n        else {\n            scrollTop = pos.top - h * 0.5;\n        }\n        editor.session.setScrollTop(scrollTop);\n    },\n    selectRectangularRegion: function (editor) {\n        editor.multiSelect.toggleBlockSelection();\n    },\n    setMark: {\n        exec: function (editor, args) {\n            if (args && args.count) {\n                if (editor.inMultiSelectMode)\n                    editor.forEachSelection(moveToMark);\n                else\n                    moveToMark();\n                moveToMark();\n                return;\n            }\n            var mark = editor.emacsMark(), ranges = editor.selection.getAllRanges(), rangePositions = ranges.map(function (r) { return { row: r.start.row, column: r.start.column }; }), transientMarkModeActive = true, hasNoSelection = ranges.every(function (range) { return range.isEmpty(); });\n            if (transientMarkModeActive && (mark || !hasNoSelection)) {\n                if (editor.inMultiSelectMode)\n                    editor.forEachSelection({ exec: editor.clearSelection.bind(editor) });\n                else\n                    editor.clearSelection();\n                if (mark)\n                    editor.pushEmacsMark(null);\n                return;\n            }\n            if (!mark) {\n                rangePositions.forEach(function (pos) { editor.pushEmacsMark(pos); });\n                editor.setEmacsMark(rangePositions[rangePositions.length - 1]);\n                return;\n            }\n            function moveToMark() {\n                var mark = editor.popEmacsMark();\n                mark && editor.moveCursorToPosition(mark);\n            }\n        },\n        readOnly: true,\n        handlesCount: true\n    },\n    exchangePointAndMark: {\n        exec: function exchangePointAndMark$exec(editor, args) {\n            var sel = editor.selection;\n            if (!args.count && !sel.isEmpty()) { // just invert selection\n                sel.setSelectionRange(sel.getRange(), !sel.isBackwards());\n                return;\n            }\n            if (args.count) { // replace mark and point\n                var pos = { row: sel.lead.row, column: sel.lead.column };\n                sel.clearSelection();\n                sel.moveCursorToPosition(editor.emacsMarkForSelection(pos));\n            }\n            else { // create selection to last mark\n                sel.selectToPosition(editor.emacsMarkForSelection());\n            }\n        },\n        readOnly: true,\n        handlesCount: true,\n        multiSelectAction: \"forEach\"\n    },\n    killWord: {\n        exec: function (editor, dir) {\n            editor.clearSelection();\n            if (dir == \"left\")\n                editor.selection.selectWordLeft();\n            else\n                editor.selection.selectWordRight();\n            var range = editor.getSelectionRange();\n            var text = editor.session.getTextRange(range);\n            exports.killRing.add(text);\n            editor.session.remove(range);\n            editor.clearSelection();\n        },\n        multiSelectAction: \"forEach\"\n    },\n    killLine: function (editor) {\n        editor.pushEmacsMark(null);\n        editor.clearSelection();\n        var range = editor.getSelectionRange();\n        var line = editor.session.getLine(range.start.row);\n        range.end.column = line.length;\n        line = line.substr(range.start.column);\n        var foldLine = editor.session.getFoldLine(range.start.row);\n        if (foldLine && range.end.row != foldLine.end.row) {\n            range.end.row = foldLine.end.row;\n            line = \"x\";\n        }\n        if (/^\\s*$/.test(line)) {\n            range.end.row++;\n            line = editor.session.getLine(range.end.row);\n            range.end.column = /^\\s*$/.test(line) ? line.length : 0;\n        }\n        var text = editor.session.getTextRange(range);\n        if (editor.prevOp.command == this)\n            exports.killRing.append(text);\n        else\n            exports.killRing.add(text);\n        editor.session.remove(range);\n        editor.clearSelection();\n    },\n    yank: function (editor) {\n        editor.onPaste(exports.killRing.get() || '');\n        editor.keyBinding.$data.lastCommand = \"yank\";\n    },\n    yankRotate: function (editor) {\n        if (editor.keyBinding.$data.lastCommand != \"yank\")\n            return;\n        editor.undo();\n        editor.session.$emacsMarkRing.pop(); // also undo recording mark\n        editor.onPaste(exports.killRing.rotate());\n        editor.keyBinding.$data.lastCommand = \"yank\";\n    },\n    killRegion: {\n        exec: function (editor) {\n            exports.killRing.add(editor.getCopyText());\n            editor.commands.byName.cut.exec(editor);\n            editor.setEmacsMark(null);\n        },\n        readOnly: true,\n        multiSelectAction: \"forEach\"\n    },\n    killRingSave: {\n        exec: function (editor) {\n            editor.$handlesEmacsOnCopy = true;\n            var marks = editor.session.$emacsMarkRing.slice(), deselectedMarks = [];\n            exports.killRing.add(editor.getCopyText());\n            setTimeout(function () {\n                function deselect() {\n                    var sel = editor.selection, range = sel.getRange(), pos = sel.isBackwards() ? range.end : range.start;\n                    deselectedMarks.push({ row: pos.row, column: pos.column });\n                    sel.clearSelection();\n                }\n                editor.$handlesEmacsOnCopy = false;\n                if (editor.inMultiSelectMode)\n                    editor.forEachSelection({ exec: deselect });\n                else\n                    deselect();\n                editor.setEmacsMark(null);\n                editor.session.$emacsMarkRing = marks.concat(deselectedMarks.reverse());\n            }, 0);\n        },\n        readOnly: true\n    },\n    keyboardQuit: function (editor) {\n        editor.selection.clearSelection();\n        editor.setEmacsMark(null);\n        editor.keyBinding.$data.count = null;\n    },\n    focusCommandLine: function (editor, arg) {\n        if (editor.showCommandLine)\n            editor.showCommandLine(arg);\n    }\n});\nexports.handler.addCommands(iSearchCommandModule.iSearchStartCommands);\nvar commands = exports.handler.commands;\ncommands.yank.isYank = true;\ncommands.yankRotate.isYank = true;\nexports.killRing = {\n    $data: [],\n    add: function (str) {\n        str && this.$data.push(str);\n        if (this.$data.length > 30)\n            this.$data.shift();\n    },\n    append: function (str) {\n        var idx = this.$data.length - 1;\n        var text = this.$data[idx] || \"\";\n        if (str)\n            text += str;\n        if (text)\n            this.$data[idx] = text;\n    },\n    get: function (n) {\n        n = n || 1;\n        return this.$data.slice(this.$data.length - n, this.$data.length).reverse().join('\\n');\n    },\n    pop: function () {\n        if (this.$data.length > 1)\n            this.$data.pop();\n        return this.get();\n    },\n    rotate: function () {\n        this.$data.unshift(this.$data.pop());\n        return this.get();\n    }\n};\n\n});                (function() {\n                    ace.require([\"ace/keyboard/emacs\"], function(m) {\n                        if (typeof module == \"object\" && typeof exports == \"object\" && module) {\n                            module.exports = m;\n                        }\n                    });\n                })();\n            "],"mappings":"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","names":["require_b5186e225380c3e006a764ad08c7f6","__commonJSMin","exports","module","require","__extends","extendStatics","d","b","p","__","oop","Search","EditSession","SearchHighlight","Occur","_super","editor","options","pos","translatedPos","sess","regexp","hl","found","lines","foundLine","occurSession","session","nullPos","i","search","range","row","last","dom","config","occurStartCommand","alreadyInOccur","occurSessionActive","OccurKeyboardHandler","occurCommands","occur","HashHandler","handleKeyboard$super","data","hashId","key","keyCode","cmd","handler","e","iSearch","jumpToNext","string","ed","sel","ranges","ea","IncrementalSearchKeyboardHandler","scrollTop","result","extendCmd","Range","iSearchCommandModule","ISearchKbd","isRegExp","obj","regExpToObject","re","start","flagStart","stringToRegExp","flags","objectToRegExp","IncrementalSearch","_this","backwards","reset","moveToNext","needleUpdateFunc","shouldSelect","s","needle","reObj","c","evt","text","msg","commands","val","iSearchCommands","method","Editor","$formerLongWords","$formerLineStart","activate","prevMark","mark","replacement","multiRangeLength","selIndex","markRing","markIndex","lastMark","$resetMarkMode","$kbSessionChange","keys","eMods","combinations","command","ckb","keyPart","keyParts","keyMapKeys","prefix","str","modifier","count","args","renderer","h","moveToMark","rangePositions","r","transientMarkModeActive","hasNoSelection","dir","line","foldLine","marks","deselectedMarks","deselect","arg","idx","n","m"],"sourceRoot":"","file":"93b5186e225380c3e006a764ad08c7f6.js"}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy