diff --git a/ext/emmet.js b/ext/emmet.js index eca04edf..c6551135 100644 --- a/ext/emmet.js +++ b/ext/emmet.js @@ -272,7 +272,7 @@ var SnippetManager = function() { return; var value = tokens.slice(i + 1, i1); - var isNested = value.some(function(t) {return typeof t === "object";}); + 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")) { diff --git a/ext/language_tools.js b/ext/language_tools.js index 1d6b1e87..52031273 100644 --- a/ext/language_tools.js +++ b/ext/language_tools.js @@ -272,7 +272,7 @@ var SnippetManager = function() { return; var value = tokens.slice(i + 1, i1); - var isNested = value.some(function(t) {return typeof t === "object";}); + 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")) { @@ -1638,7 +1638,7 @@ var Autocomplete = function() { if (el.parentNode) el.parentNode.removeChild(el); }; - + this.onTooltipClick = function(e) { var a = e.target; while (a && a != this.tooltipNode) { diff --git a/ext/searchbox.js b/ext/searchbox.js index 3e4dc271..f2bfc155 100644 --- a/ext/searchbox.js +++ b/ext/searchbox.js @@ -190,7 +190,7 @@ var SearchBox = function(editor, range, showReplaceForm) { var div = dom.createElement("div"); div.innerHTML = html; this.element = div.firstChild; - + this.setSession = this.setSession.bind(this); this.$init(); @@ -203,7 +203,7 @@ var SearchBox = function(editor, range, showReplaceForm) { editor.renderer.scroller.appendChild(this.element); this.editor = editor; }; - + this.setSession = function(e) { this.searchRange = null; this.$syncOptions(true); @@ -354,7 +354,7 @@ var SearchBox = function(editor, range, showReplaceForm) { sb.$syncOptions(); } }]); - + this.setSearchRange = function(range) { this.searchRange = range; if (range) { @@ -406,11 +406,11 @@ var SearchBox = function(editor, range, showReplaceForm) { var value = this.searchRange ? editor.session.getTextRange(this.searchRange) : editor.getValue(); - + var offset = editor.session.doc.positionToIndex(editor.selection.anchor); if (this.searchRange) offset -= editor.session.doc.positionToIndex(this.searchRange.start); - + var last = regex.lastIndex = 0; var m; while ((m = regex.exec(value))) { @@ -466,7 +466,7 @@ var SearchBox = function(editor, range, showReplaceForm) { this.active = false; this.setSearchRange(null); this.editor.off("changeSession", this.setSession); - + this.element.style.display = "none"; this.editor.keyBinding.removeKeyboardHandler(this.$closeSearchBarKb); this.editor.focus(); @@ -476,7 +476,7 @@ var SearchBox = function(editor, range, showReplaceForm) { this.editor.on("changeSession", this.setSession); this.element.style.display = ""; this.replaceOption.checked = isReplace; - + if (value) this.searchInput.value = value; @@ -484,7 +484,7 @@ var SearchBox = function(editor, range, showReplaceForm) { this.searchInput.select(); this.editor.keyBinding.addKeyboardHandler(this.$closeSearchBarKb); - + this.$syncOptions(true); }; diff --git a/index.d.ts b/index.d.ts index f81fa309..42ab6773 100644 --- a/index.d.ts +++ b/index.d.ts @@ -52,6 +52,10 @@ declare namespace AceAjax { export interface TokenInfo { value: string; + + index?: number; + + start?: number; } export interface Position { @@ -97,6 +101,29 @@ declare namespace AceAjax { transformAction(state: any, action: any, editor: any, session: any, param: any): any; } + export interface OptionProvider { + + /** + * Sets a Configuration Option + **/ + setOption(optionName: string, optionValue: any): void; + + /** + * Sets Configuration Options + **/ + setOptions(keyValueTuples: any): void; + + /** + * Get a Configuration Option + **/ + getOption(name: string):any; + + /** + * Get Configuration Options + **/ + getOptions():any; + } + //////////////// /// Ace //////////////// @@ -345,18 +372,47 @@ export function createEditSession(text: string, mode: TextMode): IEditSe insert(position: Position, text: string): any; /** - * Inserts the elements in `lines` into the document, starting at the row index given by `row`. This method also triggers the `'change'` event. - * @param row The index of the row to insert at - * @param lines An array of strings - **/ + * @deprecated Use the insertFullLines method instead. + */ insertLines(row: number, lines: string[]): any; /** - * Inserts a new line into the document at the current row's `position`. This method also triggers the `'change'` event. - * @param position The position to insert at - **/ + * Inserts the elements in `lines` into the document as full lines (does not merge with existing line), starting at the row index given by `row`. This method also triggers the `"change"` event. + * @param {Number} row The index of the row to insert at + * @param {Array} lines An array of strings + * @returns {Object} Contains the final row and column, like this: + * ``` + * {row: endRow, column: 0} + * ``` + * If `lines` is empty, this function returns an object containing the current row, and column, like this: + * ``` + * {row: row, column: 0} + * ``` + * + **/ + insertFullLines(row: number, lines: string[]): any; + + /** + * @deprecated Use insertMergedLines(position, ['', '']) instead. + */ insertNewLine(position: Position): any; + /** + * Inserts the elements in `lines` into the document, starting at the position index given by `row`. This method also triggers the `"change"` event. + * @param {Number} row The index of the row to insert at + * @param {Array} lines An array of strings + * @returns {Object} Contains the final row and column, like this: + * ``` + * {row: endRow, column: 0} + * ``` + * If `lines` is empty, this function returns an object containing the current row, and column, like this: + * ``` + * {row: row, column: 0} + * ``` + * + **/ + insertMergedLines(row: number, lines: string[]): any; + /** * Inserts `text` into the `position` at the current row. This method also triggers the `'change'` event. * @param position The position to insert at @@ -379,12 +435,19 @@ export function createEditSession(text: string, mode: TextMode): IEditSe removeInLine(row: number, startColumn: number, endColumn: number): any; /** - * Removes a range of full lines. This method also triggers the `'change'` event. - * @param firstRow The first row to be removed - * @param lastRow The last row to be removed - **/ + * @deprecated Use the removeFullLines method instead. + */ removeLines(firstRow: number, lastRow: number): string[]; + /** + * Removes a range of full lines. This method also triggers the `"change"` event. + * @param {Number} firstRow The first row to be removed + * @param {Number} lastRow The last row to be removed + * @returns {[String]} Returns all the removed lines. + * + **/ + removeFullLines(firstRow: number, lastRow: number): string[]; + /** * Removes the new line between `row` and the row immediately following it. This method also triggers the `'change'` event. * @param row The row to check @@ -455,7 +518,7 @@ export function createEditSession(text: string, mode: TextMode): IEditSe * Stores all the data about [[Editor `Editor`]] state providing easy way to change editors state. * `EditSession` can be attached to only one [[Document `Document`]]. Same `Document` can be attached to several `EditSession`s. **/ - export interface IEditSession { + export interface IEditSession extends OptionProvider { selection: Selection; @@ -486,6 +549,16 @@ export function createEditSession(text: string, mode: TextMode): IEditSe getFoldsInRange(range: Range): any; highlight(text: string): void; + + + /** + * Highlight lines from `startRow` to `EndRow`. + * @param startRow Define the start line of the highlight + * @param endRow Define the end line of the highlight + * @param clazz Set the CSS class for the marker + * @param inFront Set to `true` to establish a front marker + **/ + highlightLines(startRow:number, endRow: number, clazz: string, inFront: boolean): Range; /** * Sets the `EditSession` to point to a new `Document`. If a `BackgroundTokenizer` exists, it also points to `doc`. @@ -539,7 +612,7 @@ export function createEditSession(text: string, mode: TextMode): IEditSe * @param row The row number to retrieve from * @param column The column number to retrieve from **/ - getTokenAt(row: number, column: number): TokenInfo; + getTokenAt(row: number, column: number): TokenInfo|null; /** * Sets the undo manager. @@ -769,8 +842,9 @@ export function createEditSession(text: string, mode: TextMode): IEditSe /** * [Sets the value of the distance between the left of the editor and the leftmost part of the visible content.]{: #EditSession.setScrollLeft} + * @param scrollLeft The new scroll left value **/ - setScrollLeft(): void; + setScrollLeft(scrollLeft: number): void; /** * [Returns the value of the distance between the left of the editor and the leftmost part of the visible content.]{: #EditSession.getScrollLeft} @@ -1034,7 +1108,7 @@ export function createEditSession(text: string, mode: TextMode): IEditSe * The `Editor` manages the [[EditSession]] (which manages [[Document]]s), as well as the [[VirtualRenderer]], which draws everything to the screen. * Event sessions dealing with the mouse and keyboard are bubbled up from `Document` to the `Editor`, which decides what to do with them. **/ - export interface Editor { + export interface Editor extends OptionProvider { on(ev: string, callback: (e: any) => any): void; @@ -1073,26 +1147,6 @@ export function createEditSession(text: string, mode: TextMode): IEditSe execCommand(command:string, args?: any): void; - /** - * Sets a Configuration Option - **/ - setOption(optionName: any, optionValue: any): void; - - /** - * Sets Configuration Options - **/ - setOptions(keyValueTuples: any): void; - - /** - * Get a Configuration Option - **/ - getOption(name: any):any; - - /** - * Get Configuration Options - **/ - getOptions():any; - /** * Get rid of console warning by setting this to Infinity **/ @@ -1179,7 +1233,7 @@ export function createEditSession(text: string, mode: TextMode): IEditSe /** * Returns `true` if the current `textInput` is in focus. **/ - isFocused(): void; + isFocused(): boolean; /** * Blurs the current `textInput`. @@ -2652,7 +2706,7 @@ export function createEditSession(text: string, mode: TextMode): IEditSe /** * The class that is responsible for drawing everything you see on the screen! **/ - export interface VirtualRenderer { + export interface VirtualRenderer extends OptionProvider { scroller: any; @@ -2996,6 +3050,37 @@ export function createEditSession(text: string, mode: TextMode): IEditSe **/ new(container: HTMLElement, theme?: string): VirtualRenderer; } + + export interface Completer { + /** + * Provides possible completion results asynchronously using the given callback. + * @param editor The editor to associate with + * @param session The `EditSession` to refer to + * @param pos An object containing the row and column + * @param prefix The prefixing string before the current position + * @param callback Function to provide the results or error + */ + getCompletions: (editor: Editor, session: IEditSession, pos: Position, prefix: string, callback: CompletionCallback) => void; + + /** + * Provides tooltip information about a completion result. + * @param item The completion result + */ + getDocTooltip?: (item: Completion) => void; + } + + export interface Completion { + value: string; + meta: string; + type?: string; + caption?: string; + snippet?: any; + score?: number; + exactMatch?: number; + docHTML?: string; + } + + export type CompletionCallback = (error: Error, results: Completion[]) => void; } export = AceAjax; diff --git a/index.js b/index.js index 5999cf67..67a00fd8 100644 --- a/index.js +++ b/index.js @@ -1468,7 +1468,7 @@ exports.addTouchMoveListener = function (el, callback) { exports.addListener(el, "touchmove", function (e) { var touches = e.touches; if (touches.length > 1) return; - + var touchObj = touches[0]; e.wheelX = startx - touchObj.clientX; @@ -1949,7 +1949,7 @@ var TextInput = function(parentNode, host) { var tempStyle = ''; var isSelectionEmpty = true; try { var isFocused = document.activeElement === text; } catch(e) {} - + event.addListener(text, "blur", function(e) { host.onBlur(e); isFocused = false; @@ -1984,7 +1984,7 @@ var TextInput = function(parentNode, host) { if (inComposition) return; inComposition = true; - + if (inputHandler) { selectionStart = 0; selectionEnd = isEmpty ? 0 : text.value.length - 1; @@ -1995,7 +1995,7 @@ var TextInput = function(parentNode, host) { try { text.setSelectionRange(selectionStart, selectionEnd); } catch(e) {} - + inComposition = false; } @@ -2036,7 +2036,7 @@ var TextInput = function(parentNode, host) { this.setInputHandler = function(cb) {inputHandler = cb;}; this.getInputHandler = function() {return inputHandler;}; var afterContextMenu = false; - + var sendText = function(data) { if (text.selectionStart === 4 && text.selectionEnd === 5) { return; @@ -2065,7 +2065,7 @@ var TextInput = function(parentNode, host) { if (data == PLACEHOLDER.charAt(0)) { } else if (data.charAt(data.length - 1) == PLACEHOLDER.charAt(0)) data = data.slice(0, -1); - + if (data) host.onTextInput(data); } @@ -2082,7 +2082,7 @@ var TextInput = function(parentNode, host) { sendText(data); resetValue(); }; - + var handleClipboardData = function(e, data, forceIEMime) { var clipboardData = e.clipboardData || window.clipboardData; if (!clipboardData || BROKEN_SETDATA) @@ -2128,15 +2128,15 @@ var TextInput = function(parentNode, host) { }); } }; - + var onCut = function(e) { doCopy(e, true); }; - + var onCopy = function(e) { doCopy(e, false); }; - + var onPaste = function(e) { var data = handleClipboardData(e); if (typeof data == "string") { @@ -2162,7 +2162,7 @@ var TextInput = function(parentNode, host) { event.addListener(text, "copy", onCopy); event.addListener(text, "paste", onPaste); var onCompositionStart = function(e) { - if (inComposition || !host.onCompositionStart || host.$readOnly) + if (inComposition || !host.onCompositionStart || host.$readOnly) return; inComposition = {}; inComposition.canUndo = host.session.$undoManager; @@ -2182,7 +2182,7 @@ var TextInput = function(parentNode, host) { return; var val = text.value.replace(/\x01/g, ""); if (inComposition.lastValue === val) return; - + host.onCompositionUpdate(val); if (inComposition.lastValue) host.undo(); @@ -2237,8 +2237,8 @@ var TextInput = function(parentNode, host) { onInput(); } }; - - + + var syncComposition = lang.delayedCall(onCompositionUpdate, 50); @@ -2265,7 +2265,7 @@ var TextInput = function(parentNode, host) { host._emit("nativecontextmenu", {target: host, domEvent: e}); this.moveToMouse(e, true); }; - + this.moveToMouse = function(e, bringToFront) { if (!tempStyle) tempStyle = text.style.cssText; @@ -2281,7 +2281,7 @@ var TextInput = function(parentNode, host) { var move = function(e) { text.style.left = e.clientX - left - 2 + "px"; text.style.top = Math.min(e.clientY - top - 2, maxTop) + "px"; - }; + }; move(e); if (e.type != "mousedown") @@ -2322,7 +2322,7 @@ var TextInput = function(parentNode, host) { }); event.addListener(host.renderer.scroller, "contextmenu", onContextMenu); event.addListener(text, "contextmenu", onContextMenu); - + if (useragent.isIOS) { var typingResetTimeout = null; var typing = false; @@ -2340,7 +2340,7 @@ var TextInput = function(parentNode, host) { var detectArrowKeys = function(e) { if (document.activeElement !== text) return; if (typing) return; - + if (cut) { return setTimeout(function () { cut = false; @@ -2399,7 +2399,7 @@ var TextInputIOS = acequire("./textinput_ios").TextInput; var TextInput = function(parentNode, host) { if (useragent.isIOS) return TextInputIOS.call(this, parentNode, host); - + var text = dom.createElement("textarea"); text.className = "ace_text-input"; @@ -3024,10 +3024,10 @@ function DefaultHandlers(mouseHandler) { } var editor = this.editor; - + if (!this.$lastScroll) this.$lastScroll = { t: 0, vx: 0, vy: 0, allowed: 0 }; - + var prevScroll = this.$lastScroll; var t = ev.domEvent.timeStamp; var dt = t - prevScroll.t; @@ -3037,15 +3037,15 @@ function DefaultHandlers(mouseHandler) { vx = (vx + prevScroll.vx) / 2; vy = (vy + prevScroll.vy) / 2; } - + var direction = Math.abs(vx / vy); - + var canScroll = false; if (direction >= 1 && editor.renderer.isScrollableBy(ev.wheelX * ev.speed, 0)) canScroll = true; if (direction <= 1 && editor.renderer.isScrollableBy(0, ev.wheelY * ev.speed)) canScroll = true; - + if (canScroll) { prevScroll.allowed = t; } else if (t - prevScroll.allowed < SCROLL_COOLDOWN_T) { @@ -3059,7 +3059,7 @@ function DefaultHandlers(mouseHandler) { prevScroll.allowed = 0; } } - + prevScroll.t = t; prevScroll.vx = vx; prevScroll.vy = vy; @@ -3069,7 +3069,7 @@ function DefaultHandlers(mouseHandler) { return ev.stop(); } }; - + this.onTouchMove = function(ev) { this.editor._emit("mousewheel", ev); }; @@ -3156,7 +3156,7 @@ function Tooltip (parentNode) { this.getWidth = function() { return this.getElement().offsetWidth; }; - + this.destroy = function() { this.isOpen = false; if (this.$element && this.$element.parentNode) { @@ -4741,7 +4741,7 @@ function _invertLevel(lev, levels, _array) { } } -function _getCharClass(chars, types, classes, ix) { +function _getCharClass(chars, types, classes, ix) { var cType = types[ix], wType, nType, len, i; switch(cType){ case L: @@ -4796,7 +4796,7 @@ function _getCharClass(chars, types, classes, ix) { } if (i < len){ var c = chars[ix], rtlCandidate = (c >= 0x0591 && c <= 0x08FF) || c == 0xFB1E; - + wType = types[i]; if (rtlCandidate && (wType == R || wType == AL)){ return R; @@ -4825,10 +4825,10 @@ function _getCharClass(chars, types, classes, ix) { } } -function _getCharacterType( ch ) { +function _getCharacterType( ch ) { var uc = ch.charCodeAt(0), hi = uc >> 8; - - if (hi == 0) { + + if (hi == 0) { return ((uc > 0x00BF) ? L : UnicodeTBL00[uc]); } else if (hi == 5) { return (/[\u0591-\u05f4]/.test(ch) ? R : L); @@ -4840,15 +4840,15 @@ function _getCharacterType( ch ) { else if (uc == 0x066A) return ET; else if (/[\u06f0-\u06f9]/.test(ch)) - return EN; + return EN; else return AL; } else if (hi == 0x20 && uc <= 0x205F) { return UnicodeTBL20[uc & 0xFF]; } else if (hi == 0xFE) { return (uc >= 0xFE70 ? AL : ON); - } - return ON; + } + return ON; } function _isArabicDiacritics( ch ) { @@ -4866,9 +4866,9 @@ exports.DOT = "\xB7"; exports.doBidiReorder = function(text, textCharTypes, isRtl) { if (text.length < 2) return {}; - + var chars = text.split(""), logicalFromVisual = new Array(chars.length), - bidiLevels = new Array(chars.length), levels = []; + bidiLevels = new Array(chars.length), levels = []; dir = isRtl ? RTL : LTR; @@ -4882,7 +4882,7 @@ exports.doBidiReorder = function(text, textCharTypes, isRtl) { for (var i = 0; i < logicalFromVisual.length - 1; i++) { //fix levels to reflect character width if (textCharTypes[i] === AN) { levels[i] = exports.AN; - } else if (levels[i] === R && ((textCharTypes[i] > AL && textCharTypes[i] < LRE) + } else if (levels[i] === R && ((textCharTypes[i] > AL && textCharTypes[i] < LRE) || textCharTypes[i] === ON || textCharTypes[i] === BN)) { levels[i] = exports.ON_R; } else if ((i > 0 && chars[i - 1] === '\u0644') && /\u0622|\u0623|\u0625|\u0627/.test(chars[i])) { @@ -4892,7 +4892,7 @@ exports.doBidiReorder = function(text, textCharTypes, isRtl) { } if (chars[chars.length - 1] === exports.DOT) levels[chars.length - 1] = exports.B; - + for (var i = 0; i < logicalFromVisual.length; i++) { bidiLevels[i] = levels[logicalFromVisual[i]]; } @@ -4907,7 +4907,7 @@ exports.hasBidiCharacters = function(text, textCharTypes){ ret = true; } return ret; -}; +}; exports.getVisualFromLogicalIdx = function(logIdx, rowMap) { for (var i = 0; i < rowMap.logicalFromVisual.length; i++) { if (rowMap.logicalFromVisual[i] == logIdx) @@ -4959,7 +4959,7 @@ var BidiHandler = function(session) { this.seenBidi = true; this.currentRow = null; } - } + } else { this.currentRow = null; } @@ -4998,7 +4998,7 @@ var BidiHandler = function(session) { this.updateRowLine = function(docRow, splitIndex) { if (docRow === undefined) docRow = this.getDocumentRow(); - + this.wrapIndent = 0; this.isLastRow = (docRow === this.session.getLength() - 1); this.line = this.session.getLine(docRow); @@ -5028,7 +5028,7 @@ var BidiHandler = function(session) { return ch; }); }; - + this.updateBidiMap = function() { var textCharTypes = [], endOfLine = this.isLastRow ? this.EOF : this.EOL; var line = this.line + (this.showInvisibles ? endOfLine : bidiUtil.DOT); @@ -5068,11 +5068,11 @@ var BidiHandler = function(session) { }; this.setEolChar = function(eolChar) { - this.EOL = eolChar; + this.EOL = eolChar; }; this.setTextDir = function(isRtlDir) { - this.isRtlDir = isRtlDir; + this.isRtlDir = isRtlDir; }; this.getPosLeft = function(col) { col -= this.wrapIndent; @@ -5126,7 +5126,7 @@ var BidiHandler = function(session) { if (this.wrapIndent) { posX -= this.wrapIndent * this.charWidths[bidiUtil.L]; } - + while(posX > offset + charWidth/2) { offset += charWidth; if(visualIdx === levels.length - 1) { @@ -5135,7 +5135,7 @@ var BidiHandler = function(session) { } charWidth = this.charWidths[levels[++visualIdx]]; } - + if (visualIdx > 0 && (levels[visualIdx - 1] % 2 !== 0) && (levels[visualIdx] % 2 === 0)){ if(posX < offset) visualIdx--; @@ -6693,7 +6693,7 @@ var TokenIterator = function(session, initialRow, initialColumn) { var column = this.getCurrentTokenColumn(); return new Range(this.$row, column, this.$row, column + token.value.length); }; - + }).call(TokenIterator.prototype); exports.TokenIterator = TokenIterator; @@ -6925,7 +6925,7 @@ var CstyleBehaviour = function(options) { this.add("string_dquotes", "insertion", function(state, action, editor, session, text) { var quotes = session.$mode.$quotes || defaultQuotes; if (text.length == 1 && quotes[text]) { - if (this.lineCommentStart && this.lineCommentStart.indexOf(text) != -1) + if (this.lineCommentStart && this.lineCommentStart.indexOf(text) != -1) return; initContext(editor); var quote = text; @@ -6938,15 +6938,15 @@ var CstyleBehaviour = function(options) { var line = session.doc.getLine(cursor.row); var leftChar = line.substring(cursor.column-1, cursor.column); var rightChar = line.substring(cursor.column, cursor.column + 1); - + var token = session.getTokenAt(cursor.row, cursor.column); var rightToken = session.getTokenAt(cursor.row, cursor.column + 1); if (leftChar == "\\" && token && /escape/.test(token.type)) return null; - + var stringBefore = token && /string|escape/.test(token.type); var stringAfter = !rightToken || /string|escape/.test(rightToken.type); - + var pair; if (rightChar == quote) { pair = stringBefore !== stringAfter; @@ -6991,7 +6991,7 @@ var CstyleBehaviour = function(options) { }; - + CstyleBehaviour.isSaneInsertion = function(editor, session) { var cursor = editor.getCursorPosition(); var iterator = new TokenIterator(session, cursor.row, cursor.column); @@ -8060,7 +8060,7 @@ var BackgroundTokenizer = function(tokenizer, editor) { if (endLine == -1) endLine = currentLine; - + if (startLine <= endLine) self.fireUpdateEvent(startLine, endLine); }; @@ -11473,7 +11473,7 @@ var Search = function() { firstRange = null; return false; } - + return true; }); @@ -11633,7 +11633,7 @@ var Search = function() { var firstRow = range ? range.start.row : 0; var lastRow = range ? range.end.row : session.getLength() - 1; - + if (backwards) { var forEach = function(callback) { var row = start.row; @@ -11832,7 +11832,7 @@ MultiHashHandler.prototype = HashHandler.prototype; function getPosition(command) { return typeof command == "object" && command.bindKey - && command.bindKey.position + && command.bindKey.position || (command.isDefault ? -100 : 0); } this._addCommandToBinding = function(keyId, command, position) { @@ -11847,7 +11847,7 @@ MultiHashHandler.prototype = HashHandler.prototype; } else if ((i = ckb[keyId].indexOf(command)) != -1) { ckb[keyId].splice(i, 1); } - + if (typeof position != "number") { position = getPosition(command); } @@ -13098,7 +13098,7 @@ Editor.$uid = 0; oldSession && oldSession._signal("changeEditor", {oldEditor: this}); session && session._signal("changeEditor", {editor: this}); - + if (session && session.bgTokenizer) session.bgTokenizer.scheduleStart(); }; @@ -15102,12 +15102,12 @@ var Marker = function(parentEl) { next = row + 1 < end ? session.getScreenLastRowColumn(row + 1) : row == end ? 0 : range.end.column; clazzModified = clazz + (row == start ? " ace_start" : "") + " ace_br" + getBorderClass(row == start || row == start + 1 && range.start.column, prev < curr, curr > next, row == end); - + if (this.session.$bidiHandler.isBidiRow(row)) { - this.drawBidiSingleLineMarker(stringBuilder, lineRange, clazzModified, + this.drawBidiSingleLineMarker(stringBuilder, lineRange, clazzModified, layerConfig, row == end ? 0 : 1, extraStyle); } else { - this.drawSingleLineMarker(stringBuilder, lineRange, clazzModified, + this.drawSingleLineMarker(stringBuilder, lineRange, clazzModified, layerConfig, row == end ? 0 : 1, extraStyle); } } @@ -16040,7 +16040,7 @@ oop.inherits(VScrollBar, ScrollBar); this.setHeight = function(height) { this.element.style.height = height + "px"; }; - this.setInnerHeight = + this.setInnerHeight = this.setScrollHeight = function(height) { this.scrollHeight = height; if (height > MAX_SCROLL_H) { @@ -17238,7 +17238,7 @@ var VirtualRenderer = function(container, theme) { } this._signal("beforeRender"); - + if (this.session && this.session.$bidiHandler) this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics); @@ -17336,7 +17336,7 @@ var VirtualRenderer = function(container, theme) { this.$autosize = function() { var height = this.session.getScreenLength() * this.lineHeight; var maxHeight = this.$maxLines * this.lineHeight; - var desiredHeight = Math.min(maxHeight, + var desiredHeight = Math.min(maxHeight, Math.max((this.$minLines || 1) * this.lineHeight, height) ) + this.scrollMargin.v + (this.$extraHeight || 0); if (this.$horizScroll) @@ -17695,7 +17695,7 @@ var VirtualRenderer = function(container, theme) { this.screenToTextCoordinates = function(x, y) { var canvasPos = this.scroller.getBoundingClientRect(); var offsetX = x + this.scrollLeft - canvasPos.left - this.$padding; - + var col = Math.round(offsetX / this.characterWidth); var row = (y + this.scrollTop - canvasPos.top) / this.lineHeight; @@ -17709,7 +17709,7 @@ var VirtualRenderer = function(container, theme) { var x = this.$padding + (this.session.$bidiHandler.isBidiRow(pos.row, row) ? this.session.$bidiHandler.getPosLeft(pos.column) : Math.round(pos.column * this.characterWidth)); - + var y = pos.row * this.lineHeight; return { diff --git a/keybinding/emacs.js b/keybinding/emacs.js index f8ab872b..c569ebc9 100644 --- a/keybinding/emacs.js +++ b/keybinding/emacs.js @@ -615,7 +615,7 @@ var iSearchCommandModule = acequire("../commands/incremental_search_commands"); var screenToTextBlockCoordinates = function(x, y) { var canvasPos = this.scroller.getBoundingClientRect(); var offsetX = x + this.scrollLeft - canvasPos.left - this.$padding; - + var col = Math.floor(offsetX / this.characterWidth); var row = Math.floor( diff --git a/keybinding/vim.js b/keybinding/vim.js index 7c71e6d7..e1489b75 100644 --- a/keybinding/vim.js +++ b/keybinding/vim.js @@ -4989,7 +4989,7 @@ dom.importCssString(".normal-mode .ace_cursor{\ cm.setCursor(cm.getCursor().line, cm.getCursor().ch-1); cm.setOption('keyMap', 'vim'); cm.setOption('disableInput', true); - + lastChange.overwrite = cm.state.overwrite; cm.toggleOverwrite(false); // exit replace mode if we were in it. insertModeChangeRegister.setText(lastChange.changes.join('')); diff --git a/mode/bro.js b/mode/bro.js index 3134a649..d000a0a2 100644 --- a/mode/bro.js +++ b/mode/bro.js @@ -146,7 +146,7 @@ var BroHighlightRules = function() { regex: /%/ }] }; - + this.normalizeRules(); }; @@ -185,7 +185,7 @@ var FoldMode = exports.FoldMode = function(commentRegex) { oop.inherits(FoldMode, BaseFoldMode); (function() { - + this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; @@ -194,42 +194,42 @@ oop.inherits(FoldMode, BaseFoldMode); this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); - + if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } - + var fw = this._getFoldWidgetBase(session, foldStyle, row); - + if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart - + return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); - + if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, 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; } @@ -246,7 +246,7 @@ oop.inherits(FoldMode, BaseFoldMode); return session.getCommentFoldRange(row, i, -1); } }; - + this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); @@ -263,7 +263,7 @@ oop.inherits(FoldMode, BaseFoldMode); if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -275,14 +275,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/coldfusion.js b/mode/coldfusion.js index 2799a429..9a0912c5 100644 --- a/mode/coldfusion.js +++ b/mode/coldfusion.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && / indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -310,14 +310,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/ftl.js b/mode/ftl.js index 8fdfe40b..7f575df3 100644 --- a/mode/ftl.js +++ b/mode/ftl.js @@ -59,7 +59,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -128,7 +128,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -140,7 +140,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -178,7 +178,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); diff --git a/mode/graphqlschema.js b/mode/graphqlschema.js index 0e08355d..73c0f246 100644 --- a/mode/graphqlschema.js +++ b/mode/graphqlschema.js @@ -63,7 +63,7 @@ var FoldMode = exports.FoldMode = function(commentRegex) { oop.inherits(FoldMode, BaseFoldMode); (function() { - + this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; @@ -72,42 +72,42 @@ oop.inherits(FoldMode, BaseFoldMode); this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); - + if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } - + var fw = this._getFoldWidgetBase(session, foldStyle, row); - + if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart - + return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); - + if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, 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; } @@ -124,7 +124,7 @@ oop.inherits(FoldMode, BaseFoldMode); return session.getCommentFoldRange(row, i, -1); } }; - + this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); @@ -141,7 +141,7 @@ oop.inherits(FoldMode, BaseFoldMode); if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -153,14 +153,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/haml.js b/mode/haml.js index adf1b417..c274fa19 100644 --- a/mode/haml.js +++ b/mode/haml.js @@ -59,7 +59,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -128,7 +128,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -140,7 +140,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -178,7 +178,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); diff --git a/mode/handlebars.js b/mode/handlebars.js index 32d92ece..fbfdde1e 100644 --- a/mode/handlebars.js +++ b/mode/handlebars.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && / indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -292,14 +292,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/html.js b/mode/html.js index c7c5537e..29367ab8 100644 --- a/mode/html.js +++ b/mode/html.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && / indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -264,14 +264,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/kotlin.js b/mode/kotlin.js index 4b0414b7..3da4c672 100644 --- a/mode/kotlin.js +++ b/mode/kotlin.js @@ -608,7 +608,7 @@ var KotlinHighlightRules = function() { }] }] }; - + this.normalizeRules(); }; @@ -644,7 +644,7 @@ var FoldMode = exports.FoldMode = function(commentRegex) { oop.inherits(FoldMode, BaseFoldMode); (function() { - + this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; @@ -653,42 +653,42 @@ oop.inherits(FoldMode, BaseFoldMode); this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); - + if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } - + var fw = this._getFoldWidgetBase(session, foldStyle, row); - + if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart - + return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); - + if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, 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; } @@ -705,7 +705,7 @@ oop.inherits(FoldMode, BaseFoldMode); return session.getCommentFoldRange(row, i, -1); } }; - + this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); @@ -722,7 +722,7 @@ oop.inherits(FoldMode, BaseFoldMode); if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -734,14 +734,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/latex.js b/mode/latex.js index 61952364..0909c3b2 100644 --- a/mode/latex.js +++ b/mode/latex.js @@ -84,7 +84,7 @@ var LatexHighlightRules = function() { defaultToken : "text" }] }; - + this.normalizeRules(); }; oop.inherits(LatexHighlightRules, TextHighlightRules); @@ -187,12 +187,12 @@ oop.inherits(FoldMode, BaseFoldMode); if (stack.length) return; - + if (dir == 1) { stream.stepBackward(); stream.stepBackward(); } - + if (returnRange) return stream.getCurrentTokenRange(); @@ -266,7 +266,7 @@ oop.inherits(Mode, TextMode); this.lineCommentStart = "%"; this.$id = "ace/mode/latex"; - + this.getMatching = function(session, row, column) { if (row == undefined) row = session.selection.lead; diff --git a/mode/less.js b/mode/less.js index 5ddae259..6e0b540f 100644 --- a/mode/less.js +++ b/mode/less.js @@ -59,7 +59,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -128,7 +128,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -140,7 +140,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -178,7 +178,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); diff --git a/mode/liquid.js b/mode/liquid.js index 4ba70151..8382f2f4 100644 --- a/mode/liquid.js +++ b/mode/liquid.js @@ -59,7 +59,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -128,7 +128,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -140,7 +140,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -178,7 +178,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); diff --git a/mode/luapage.js b/mode/luapage.js index bf6483a8..460cd745 100644 --- a/mode/luapage.js +++ b/mode/luapage.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && / indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -249,14 +249,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/razor.js b/mode/razor.js index 360ce3c3..24bf819b 100644 --- a/mode/razor.js +++ b/mode/razor.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && /*]|(?:\*\*\|\/\/|==|>>>?|<>|<<|=>|<=|=\?))(\s|(?=:))/}, {token : "string.email", regex : /\w[-\w._]*\@\w[-\w._]*/}, {token : "value.time", regex : /\b\d+:\d+(:\d+)?/}, @@ -40,17 +40,17 @@ var RedHighlightRules = function() { {token : "keyword", regex : "/local|/external"}, {token : "keyword.preprocessor", regex : "#(if|either|" + "switch|case|include|do|macrolocal|reset|process|trace)"}, - {token : "constant.datatype!", regex : + {token : "constant.datatype!", regex : "(?:datatype|unset|none|logic|block|paren|string|" + "file|url|char|integer|float|word|set-word|lit-word|" + "get-word|refinement|issue|native|action|op|function|" + - "path|lit-path|set-path|get-path|routine|bitset|point|" + + "path|lit-path|set-path|get-path|routine|bitset|point|" + "object|typeset|error|vector|hash|pair|percent|tuple|" + "map|binary|time|tag|email|handle|date|image|event|" + "series|any-type|number|any-object|scalar|" + "any-string|any-word|any-function|any-block|any-list|" + "any-path|immediate|all-word|internal|external|default)!(?![-!?\\w~])"}, - {token : "keyword.function", regex : + {token : "keyword.function", regex : "\\b(?:collect|quote|on-parse-event|math|last|source|expand|" + "show|context|object|input|quit|dir|make-dir|cause-error|" + "error\\?|none\\?|block\\?|any-list\\?|word\\?|char\\?|" + @@ -91,7 +91,7 @@ var RedHighlightRules = function() { "get-scroller|insert-event-func|remove-event-func|" + "set-focus|help|fetch-help|about|ls|ll|pwd|cd|" + "red-complete-input|matrix)(?![-!?\\w~])"}, - {token : "keyword.action", regex : + {token : "keyword.action", regex : "\\b(?:to|remove|copy|insert|change|clear|move|poke|put|" + "random|reverse|sort|swap|take|trim|add|subtract|" + "divide|multiply|make|reflect|form|mold|modify|" + @@ -100,7 +100,7 @@ var RedHighlightRules = function() { "tail|head|head\\?|index\\?|length\\?|next|pick|" + "select|tail\\?|delete|read|write)(?![-_!?\\w~])" }, - {token : "keyword.native", regex : + {token : "keyword.native", regex : "\\b(?:not|any|set|uppercase|lowercase|checksum|" + "try|catch|browse|throw|all|as|" + "remove-each|func|function|does|has|do|reduce|" + @@ -116,14 +116,14 @@ var RedHighlightRules = function() { "wait|unset|new-line|new-line\\?|context\\?|set-env|" + "get-env|list-env|now|sign\\?|call|size\\?)(?![-!?\\w~])" }, - {token : "keyword", regex : + {token : "keyword", regex : "\\b(?:Red(?=\\s+\\[)|object|context|make|self|keep)(?![-!?\\w~])" }, {token: "variable.language", regex : "this"}, - {token: "keyword.control", regex : + {token: "keyword.control", regex : "(?:while|if|return|case|unless|either|until|loop|repeat|" + "forever|foreach|forall|switch|break|continue|exit)(?![-!?\\w~])"}, - {token: "constant.language", regex : + {token: "constant.language", regex : "\\b(?:true|false|on|off|yes|none|no)(?![-!?\\w~])"}, {token: "constant.numeric", regex : /\bpi(?![^-_])/}, {token: "constant.character", regex : "\\b(space|tab|newline|cr|lf)(?![-!?\\w~])"}, @@ -132,13 +132,13 @@ var RedHighlightRules = function() { {token : "variable.set-path", regex : /\w[-\w'*.?!]*(\/\w[-\w'*.?!]*)(\/\w[-\w'*.?!]*)*:/}, {token : "variable.lit-path", regex : /'\w[-\w'*.?!]*(\/\w[-\w'*.?!]*)(\/\w[-\w'*.?!]*)*/}, {token : "variable.path", regex : /\w[-\w'*.?!]*(\/\w[-\w'*.?!]*)(\/\w[-\w'*.?!]*)*/}, - {token : "variable.refinement", regex : /\/\w[-\w'*.?!]*/}, - {token : "keyword.view.style", regex : + {token : "variable.refinement", regex : /\/\w[-\w'*.?!]*/}, + {token : "keyword.view.style", regex : "\\b(?:window|base|button|text|field|area|check|" + "radio|progress|slider|camera|text-list|" + "drop-list|drop-down|panel|group-box|" + "tab-panel|h1|h2|h3|h4|h5|box|image|init)(?![-!?\\w~])"}, - {token : "keyword.view.event", regex : + {token : "keyword.view.event", regex : "\\b(?:detect|on-detect|time|on-time|drawing|on-drawing|" + "scroll|on-scroll|down|on-down|up|on-up|mid-down|" + "on-mid-down|mid-up|on-mid-up|alt-down|on-alt-down|" + @@ -153,7 +153,7 @@ var RedHighlightRules = function() { "on-moving|resizing|on-resizing|zoom|on-zoom|pan|" + "on-pan|rotate|on-rotate|two-tap|on-two-tap|" + "press-tap|on-press-tap|create|on-create|created|on-created)(?![-!?\\w~])"}, - {token : "keyword.view.option", regex : + {token : "keyword.view.option", regex : "\\b(?:all-over|center|color|default|disabled|down|" + "flags|focus|font|font-color|font-name|" + "font-size|hidden|hint|left|loose|name|" + @@ -164,8 +164,8 @@ var RedHighlightRules = function() { "magenta|maroon|mint|navy|oldrab|olive|orange|papaya|" + "pewter|pink|purple|reblue|rebolor|sienna|silver|sky|" + "snow|tanned|teal|violet|water|wheat|yello|yellow|glass)(?![-!?\\w~])"}, - {token : "variable.get-word", regex : /\:\w[-\w'*.?!]*/}, - {token : "variable.set-word", regex : /\w[-\w'*.?!]*\:/}, + {token : "variable.get-word", regex : /\:\w[-\w'*.?!]*/}, + {token : "variable.set-word", regex : /\w[-\w'*.?!]*\:/}, {token : "variable.lit-word", regex : /'\w[-\w'*.?!]*/}, {token : "variable.word", regex : /\b\w+[-\w'*.!?]*/}, {caseInsensitive: true} @@ -213,7 +213,7 @@ var FoldMode = exports.FoldMode = function(commentRegex) { oop.inherits(FoldMode, BaseFoldMode); (function() { - + this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; @@ -222,42 +222,42 @@ oop.inherits(FoldMode, BaseFoldMode); this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); - + if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } - + var fw = this._getFoldWidgetBase(session, foldStyle, row); - + if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart - + return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); - + if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, 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; } @@ -274,7 +274,7 @@ oop.inherits(FoldMode, BaseFoldMode); return session.getCommentFoldRange(row, i, -1); } }; - + this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); @@ -291,7 +291,7 @@ oop.inherits(FoldMode, BaseFoldMode); if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -303,14 +303,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/rhtml.js b/mode/rhtml.js index 6b48d1a9..1af3a171 100644 --- a/mode/rhtml.js +++ b/mode/rhtml.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && / indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -261,14 +261,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/stylus.js b/mode/stylus.js index 0ce23648..a502865a 100644 --- a/mode/stylus.js +++ b/mode/stylus.js @@ -59,7 +59,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -128,7 +128,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -140,7 +140,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -178,7 +178,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); diff --git a/mode/svg.js b/mode/svg.js index 289135a6..a91ba56f 100644 --- a/mode/svg.js +++ b/mode/svg.js @@ -418,7 +418,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && / indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -671,14 +671,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { @@ -714,7 +714,7 @@ var CStyleFoldMode = acequire("./folding/cstyle").FoldMode; var Mode = function() { this.HighlightRules = JavaScriptHighlightRules; - + this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); @@ -800,7 +800,7 @@ var TypeScriptHighlightRules = function(options) { { token: ["keyword.operator.ts", "text", "variable.parameter.function.ts", "text"], regex: "\\b(module)(\\s*)([a-zA-Z0-9_?.$][\\w?.$]*)(\\s*\\{)" - }, + }, { token: ["storage.type.variable.ts", "text", "keyword.other.ts", "text"], regex: "(super)(\\s*\\()([a-zA-Z0-9,_?.$\\s]+\\s*)(\\))" @@ -812,15 +812,15 @@ var TypeScriptHighlightRules = function(options) { { token: ["variable.parameter.function.ts", "text", "variable.parameter.function.ts"], regex: "([a-zA-Z0-9_?.$][\\w?.$]*)(\\s*:\\s*)([a-zA-Z0-9_?.$][\\w?.$]*)" - }, + }, { token: ["keyword.operator.ts"], regex: "(?:\\b(constructor|declare|interface|as|AS|public|private|class|extends|export|super)\\b)" - }, + }, { token: ["storage.type.variable.ts"], regex: "(?:\\b(this\\.|string\\b|bool\\b|number)\\b)" - }, + }, { token: ["keyword.operator.ts", "storage.type.variable.ts", "keyword.operator.ts", "storage.type.variable.ts"], regex: "(class)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)(extends)(\\s+[a-zA-Z0-9_?.$][\\w?.$]*\\s+)?" @@ -832,7 +832,7 @@ var TypeScriptHighlightRules = function(options) { ]; var JSRules = new JavaScriptHighlightRules({jsx: (options && options.jsx) == true}).getRules(); - + JSRules.start = tsRules.concat(JSRules.start); this.$rules = JSRules; }; @@ -854,7 +854,7 @@ var MatchingBraceOutdent = acequire("./matching_brace_outdent").MatchingBraceOut var Mode = function() { this.HighlightRules = TypeScriptHighlightRules; - + this.$outdent = new MatchingBraceOutdent(); this.$behaviour = new CstyleBehaviour(); this.foldingRules = new CStyleFoldMode(); diff --git a/mode/turtle.js b/mode/turtle.js index eddd42a1..236cd954 100644 --- a/mode/turtle.js +++ b/mode/turtle.js @@ -111,7 +111,7 @@ var TurtleHighlightRules = function() { regex: /xsd?:[a-z][a-zA-Z]+/ }] }; - + this.normalizeRules(); }; @@ -147,7 +147,7 @@ var FoldMode = exports.FoldMode = function(commentRegex) { oop.inherits(FoldMode, BaseFoldMode); (function() { - + this.foldingStartMarker = /([\{\[\(])[^\}\]\)]*$|^\s*(\/\*)/; this.foldingStopMarker = /^[^\[\{\(]*([\}\]\)])|^[\s\*]*(\*\/)/; this.singleLineBlockCommentRe= /^\s*(\/\*).*\*\/\s*$/; @@ -156,42 +156,42 @@ oop.inherits(FoldMode, BaseFoldMode); this._getFoldWidgetBase = this.getFoldWidget; this.getFoldWidget = function(session, foldStyle, row) { var line = session.getLine(row); - + if (this.singleLineBlockCommentRe.test(line)) { if (!this.startRegionRe.test(line) && !this.tripleStarBlockCommentRe.test(line)) return ""; } - + var fw = this._getFoldWidgetBase(session, foldStyle, row); - + if (!fw && this.startRegionRe.test(line)) return "start"; // lineCommentRegionStart - + return fw; }; this.getFoldWidgetRange = function(session, foldStyle, row, forceMultiline) { var line = session.getLine(row); - + if (this.startRegionRe.test(line)) return this.getCommentRegionBlock(session, line, 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; } @@ -208,7 +208,7 @@ oop.inherits(FoldMode, BaseFoldMode); return session.getCommentFoldRange(row, i, -1); } }; - + this.getSectionRange = function(session, row) { var line = session.getLine(row); var startIndent = line.search(/\S/); @@ -225,7 +225,7 @@ oop.inherits(FoldMode, BaseFoldMode); if (startIndent > indent) break; var subRange = this.getFoldWidgetRange(session, "all", row); - + if (subRange) { if (subRange.start.row <= startRow) { break; @@ -237,14 +237,14 @@ oop.inherits(FoldMode, BaseFoldMode); } endRow = row; } - + return new Range(startRow, startColumn, endRow, session.getLine(endRow).length); }; this.getCommentRegionBlock = 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) { diff --git a/mode/twig.js b/mode/twig.js index 5ac32678..6f3d5418 100644 --- a/mode/twig.js +++ b/mode/twig.js @@ -849,7 +849,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + "media": [{ include : ["strings", "url", "comments"] }, { @@ -918,7 +918,7 @@ var CssHighlightRules = function() { }, { caseInsensitive: true }], - + url: [{ token : "support.function", regex : "(?:url(:?-prefix)?|domain|regexp)\\(", @@ -930,7 +930,7 @@ var CssHighlightRules = function() { defaultToken: "string" }] }], - + strings: [{ token : "string.start", regex : "'", @@ -968,7 +968,7 @@ var CssHighlightRules = function() { token : "constant.language.escape", regex : /\\([a-fA-F\d]{1,6}|[^a-fA-F\d])/ }] - + }; this.normalizeRules(); @@ -1864,7 +1864,7 @@ function is(token, type) { return "start"; }; - + this.getCommentFoldWidget = function(session, row) { if (/comment/.test(session.getState(row)) && /=2.2.7 <3" + } + }, + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=", + "dev": true + }, + "acorn-dynamic-import": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-4.0.0.tgz", + "integrity": "sha512-d3OEjQV4ROpoflsnUA8HozoIR504TFxNivYEUi6uwz0IYhBkTDXGuWlNdMtybRt3nqVx/L6XqMt0FxkXuWKZhw==", + "dev": true + }, + "acorn-node": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.6.2.tgz", + "integrity": "sha512-rIhNEZuNI8ibQcL7ANm/mGyPukIaZsRNX9psFNQURyJW0nu6k8wjSDld20z6v2mDBWqX13pIEnk9gGZJHIlEXg==", + "dev": true, + "requires": { + "acorn": "^6.0.2", + "acorn-dynamic-import": "^4.0.0", + "acorn-walk": "^6.1.0", + "xtend": "^4.0.1" + }, + "dependencies": { + "acorn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.0.5.tgz", + "integrity": "sha512-i33Zgp3XWtmZBMNvCr4azvOFeWVw1Rk6p3hfi3LUDvIFraOMywb1kAtrbi+med14m4Xfpqm3zRZMT+c0FNE7kg==", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "acorn-walk": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.1.1.tgz", + "integrity": "sha512-OtUw6JUTgxA2QoqqmrmQ7F2NYqiBPi/L2jqHyFtllhOUvXYQXf0Z1CYUinIfyT4bTCGmrA7gX9FvHA81uzCoVw==", + "dev": true + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=", + "dev": true + }, + "assert": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.1.2.tgz", + "integrity": "sha1-raoExGu1jG3R8pTaPrJuYijrbkQ=", + "dev": true, + "requires": { + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "astw": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/astw/-/astw-2.2.0.tgz", + "integrity": "sha1-e9QXhNMkk5h66yOba04cV6hzuRc=", + "dev": true, + "requires": { + "acorn": "^4.0.3" + } + }, + "async": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/async/-/async-0.2.10.tgz", + "integrity": "sha1-trvgsGdLnXGXCMo43owjfLUmw9E=", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base64-js": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.7.tgz", + "integrity": "sha1-VEANyR1pbOwyqKR5AvlxUi/uj0g=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browser-pack": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/browser-pack/-/browser-pack-2.0.1.tgz", + "integrity": "sha1-XRxSf1bFgmd0EcTbKhKGSP9r8VA=", + "dev": true, + "requires": { + "JSONStream": "~0.6.4", + "combine-source-map": "~0.3.0", + "through": "~2.3.4" + }, + "dependencies": { + "JSONStream": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz", + "integrity": "sha1-SyyAY/j1Enh7I3X37p22kgj6Lcs=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + } + } + }, + "browser-resolve": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.3.tgz", + "integrity": "sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==", + "dev": true, + "requires": { + "resolve": "1.1.7" + }, + "dependencies": { + "resolve": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz", + "integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=", + "dev": true + } + } + }, + "browserify": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify/-/browserify-4.2.3.tgz", + "integrity": "sha1-Dg2PmObfamZKosBVEg84SCRu5NA=", + "dev": true, + "requires": { + "JSONStream": "~0.8.3", + "assert": "~1.1.0", + "browser-pack": "~2.0.0", + "browser-resolve": "^1.3.0", + "browserify-zlib": "~0.1.2", + "buffer": "^2.3.0", + "builtins": "~0.0.3", + "commondir": "0.0.1", + "concat-stream": "~1.4.1", + "console-browserify": "^1.1.0", + "constants-browserify": "~0.0.1", + "crypto-browserify": "^2.1.8", + "deep-equal": "~0.2.1", + "defined": "~0.0.0", + "deps-sort": "~0.1.1", + "derequire": "~0.8.0", + "domain-browser": "~1.1.0", + "duplexer": "~0.1.1", + "events": "~1.0.0", + "glob": "~3.2.8", + "http-browserify": "^1.4.0", + "https-browserify": "~0.0.0", + "inherits": "~2.0.1", + "insert-module-globals": "~6.0.0", + "module-deps": "~2.1.1", + "os-browserify": "~0.1.1", + "parents": "~0.0.1", + "path-browserify": "~0.0.0", + "process": "^0.7.0", + "punycode": "~1.2.3", + "querystring-es3": "~0.2.0", + "readable-stream": "^1.0.27-1", + "resolve": "~0.7.1", + "shallow-copy": "0.0.1", + "shell-quote": "~0.0.1", + "stream-browserify": "^1.0.0", + "stream-combiner": "~0.0.2", + "string_decoder": "~0.0.0", + "subarg": "0.0.1", + "syntax-error": "^1.1.1", + "through2": "^1.0.0", + "timers-browserify": "^1.0.1", + "tty-browserify": "~0.0.0", + "umd": "~2.1.0", + "url": "~0.10.1", + "util": "~0.10.1", + "vm-browserify": "~0.0.1", + "xtend": "^3.0.0" + } + }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha1-uzX4pRn2AOD6a4SFJByXnQFB+y0=", + "dev": true, + "requires": { + "pako": "~0.2.0" + } + }, + "buffer": { + "version": "2.8.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-2.8.2.tgz", + "integrity": "sha1-1zwhTAM0OE3CmwTuD/X1Unx5dOc=", + "dev": true, + "requires": { + "base64-js": "0.0.7", + "ieee754": "^1.1.4", + "is-array": "^1.0.1" + } + }, + "builtins": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz", + "integrity": "sha1-NVIZzWzxjb58Acx/0tznZc/cVJo=", + "dev": true + }, + "callsite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", + "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", + "dev": true + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=", + "dev": true + }, + "combine-source-map": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz", + "integrity": "sha1-2edPWT2c1DgHMSy12EbUUe+qnrc=", + "dev": true, + "requires": { + "convert-source-map": "~0.3.0", + "inline-source-map": "~0.3.0", + "source-map": "~0.1.31" + } + }, + "commondir": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz", + "integrity": "sha1-ifAP3NUbUZxXhzP+xWPmptp/W+I=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "concat-stream": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.11.tgz", + "integrity": "sha512-X3JMh8+4je3U1cQpG87+f9lXHDrqcb2MVLg9L7o8b1UZ0DzhRrUpdn65ttzu10PpJPPI3MQNkis+oha6TSA9Mw==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.9", + "typedarray": "~0.0.5" + } + }, + "console-browserify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz", + "integrity": "sha1-8CQcRXMKn8YyOyBtvzjtx0HQuxA=", + "dev": true, + "requires": { + "date-now": "^0.1.4" + } + }, + "constants-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz", + "integrity": "sha1-kld9tSe6bEzwpFaNhLwDH0QeIfI=", + "dev": true + }, + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "crypto-browserify": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-2.1.10.tgz", + "integrity": "sha1-TyymMRhDzwh83wCOQ6TzaG725rs=", + "dev": true, + "requires": { + "ripemd160": "0.2.0", + "sha.js": "2.1.6" + } + }, + "date-now": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz", + "integrity": "sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=", + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "deep-equal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", + "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=", + "dev": true + }, + "defined": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", + "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=", + "dev": true + }, + "deps-sort": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-0.1.2.tgz", + "integrity": "sha1-2qL7YUoXyWN9gB4vVTOa43DzYRo=", + "dev": true, + "requires": { + "JSONStream": "~0.6.4", + "minimist": "~0.0.1", + "through": "~2.3.4" + }, + "dependencies": { + "JSONStream": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.6.4.tgz", + "integrity": "sha1-SyyAY/j1Enh7I3X37p22kgj6Lcs=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": "~2.2.7" + }, + "dependencies": { + "through": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/through/-/through-2.2.7.tgz", + "integrity": "sha1-bo4hIAGR1OtqmfbwEN9Gqhxusr0=", + "dev": true + } + } + } + } + }, + "derequire": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/derequire/-/derequire-0.8.0.tgz", + "integrity": "sha1-wffx2izt5Ere3gRzePA/RE6cTA0=", + "dev": true, + "requires": { + "esprima-fb": "^3001.1.0-dev-harmony-fb", + "esrefactor": "~0.1.0", + "estraverse": "~1.5.0" + } + }, + "detective": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detective/-/detective-3.1.0.tgz", + "integrity": "sha1-d3gkRKt1K4jKG+Lp0KA5Xx2iXu0=", + "dev": true, + "requires": { + "escodegen": "~1.1.0", + "esprima-fb": "3001.1.0-dev-harmony-fb" + } + }, + "domain-browser": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz", + "integrity": "sha1-hnqksJP6oF8d4IwG9NeyH9+GmLw=", + "dev": true + }, + "duplexer": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", + "integrity": "sha1-rOb/gIwc5mtX0ev5eXessCM0z8E=", + "dev": true + }, + "duplexer2": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz", + "integrity": "sha1-xhTc9n4vsUmVqRcR5aYX6KYKMds=", + "dev": true, + "requires": { + "readable-stream": "~1.1.9" + } + }, + "escodegen": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.1.0.tgz", + "integrity": "sha1-xmOSP24gqtSNDA+knzHG1PSTYM8=", + "dev": true, + "requires": { + "esprima": "~1.0.4", + "estraverse": "~1.5.0", + "esutils": "~1.0.0", + "source-map": "~0.1.30" + }, + "dependencies": { + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + } + } + }, + "escope": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/escope/-/escope-0.0.16.tgz", + "integrity": "sha1-QYx6CvynIdr+ZZGT/Zhig+dGU48=", + "dev": true, + "requires": { + "estraverse": ">= 0.0.2" + } + }, + "esprima-fb": { + "version": "3001.1.0-dev-harmony-fb", + "resolved": "https://registry.npmjs.org/esprima-fb/-/esprima-fb-3001.0001.0000-dev-harmony-fb.tgz", + "integrity": "sha1-t303q8046gt3Qmu4vCkizmtCZBE=", + "dev": true + }, + "esrefactor": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/esrefactor/-/esrefactor-0.1.0.tgz", + "integrity": "sha1-0UJ5WigjOauB6Ta1t6IbEb8ZexM=", + "dev": true, + "requires": { + "escope": "~0.0.13", + "esprima": "~1.0.2", + "estraverse": "~0.0.4" + }, + "dependencies": { + "esprima": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz", + "integrity": "sha1-n1V+CPw7TSbs6d00+Pv0drYlha0=", + "dev": true + }, + "estraverse": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-0.0.4.tgz", + "integrity": "sha1-AaCTLf7ldGhKWYr1pnw7+bZCjbI=", + "dev": true + } + } + }, + "estraverse": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz", + "integrity": "sha1-hno+jlip+EYYr7bC3bzZFrfLr3E=", + "dev": true + }, + "esutils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz", + "integrity": "sha1-gVHTWOIMisx/t0XnRywAJf5JZXA=", + "dev": true + }, + "events": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/events/-/events-1.0.2.tgz", + "integrity": "sha1-dYSdz+k9EPsFfDAFWv29UdBqjiQ=", + "dev": true + }, + "glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", + "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", + "dev": true, + "requires": { + "inherits": "2", + "minimatch": "0.3" + } + }, + "http-browserify": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz", + "integrity": "sha1-M3la3nLfiKz7/TZ3PO/tp2RzWyA=", + "dev": true, + "requires": { + "Base64": "~0.2.0", + "inherits": "~2.0.1" + } + }, + "https-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz", + "integrity": "sha1-P5E2XKvmC3ftDruiS0VOPgnZWoI=", + "dev": true + }, + "ieee754": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.12.tgz", + "integrity": "sha512-GguP+DRY+pJ3soyIiGPTvdiVXjZ+DbXOxGpXn3eMvNW4x4irjqXm4wHKscC+TfxSJ0yw/S1F24tqdMNsMZTiLA==", + "dev": true + }, + "indexof": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", + "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "inline-source-map": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.1.tgz", + "integrity": "sha1-pSi1FOaJ/OkNswiehw2S9Sestes=", + "dev": true, + "requires": { + "source-map": "~0.3.0" + }, + "dependencies": { + "source-map": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz", + "integrity": "sha1-hYb7mloAXltQHiHNGLbyG0V60fk=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "insert-module-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.0.0.tgz", + "integrity": "sha1-7orrne4WgZ4zqhRYilWIJK8MFdw=", + "dev": true, + "requires": { + "JSONStream": "~0.7.1", + "concat-stream": "~1.4.1", + "lexical-scope": "~1.1.0", + "process": "~0.6.0", + "through": "~2.3.4", + "xtend": "^3.0.0" + }, + "dependencies": { + "JSONStream": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz", + "integrity": "sha1-c0KQ5BUR7qfCz+FR+/mlY6l7l4Y=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": ">=2.2.7 <3" + } + }, + "process": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/process/-/process-0.6.0.tgz", + "integrity": "sha1-fdm+gP+q7dTLYo8YJ/HLq23AkY8=", + "dev": true + } + } + }, + "is-array": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-array/-/is-array-1.0.1.tgz", + "integrity": "sha1-6YUMwsyGDDvAl36EzPDdRkWEJ5o=", + "dev": true + }, + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=", + "dev": true + }, + "jsonparse": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz", + "integrity": "sha1-MwVCrT8KZUZlt3jz6y2an6UHrGQ=", + "dev": true + }, + "lexical-scope": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.1.1.tgz", + "integrity": "sha1-3rrBBnQ18TWdkPz9npS8su5Hsr8=", + "dev": true, + "requires": { + "astw": "^2.0.0" + } + }, + "lru-cache": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", + "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=", + "dev": true + }, + "minimatch": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", + "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", + "dev": true, + "requires": { + "lru-cache": "2", + "sigmund": "~1.0.0" + } + }, + "minimist": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + }, + "module-deps": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/module-deps/-/module-deps-2.1.5.tgz", + "integrity": "sha1-N1qbyATM1kzrs8Yu5kN1Xws8zyk=", + "dev": true, + "requires": { + "JSONStream": "~0.7.1", + "browser-resolve": "~1.2.4", + "concat-stream": "~1.4.5", + "detective": "~3.1.0", + "duplexer2": "0.0.2", + "inherits": "~2.0.1", + "minimist": "~0.0.9", + "parents": "0.0.2", + "readable-stream": "^1.0.27-1", + "resolve": "~0.6.3", + "stream-combiner": "~0.1.0", + "subarg": "0.0.1", + "through2": "~0.4.1" + }, + "dependencies": { + "JSONStream": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-0.7.4.tgz", + "integrity": "sha1-c0KQ5BUR7qfCz+FR+/mlY6l7l4Y=", + "dev": true, + "requires": { + "jsonparse": "0.0.5", + "through": ">=2.2.7 <3" + } + }, + "browser-resolve": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.2.4.tgz", + "integrity": "sha1-Wa54IKgpVezTL1+3xGisIcRyOAY=", + "dev": true, + "requires": { + "resolve": "0.6.3" + } + }, + "parents": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/parents/-/parents-0.0.2.tgz", + "integrity": "sha1-ZxR4JuSX1AdZqvW6TJllm2A00wI=", + "dev": true + }, + "resolve": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.6.3.tgz", + "integrity": "sha1-3ZV5gufnNt699TtYpN2RdUV13UY=", + "dev": true + }, + "stream-combiner": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.1.0.tgz", + "integrity": "sha1-DcOJo8ID+PTVY2j5Xd5S65Jptb4=", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "through": "~2.3.4" + } + }, + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + }, + "through2": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-0.4.2.tgz", + "integrity": "sha1-2/WGYDEVHsg1K7bE22SiKSqEC5s=", + "dev": true, + "requires": { + "readable-stream": "~1.0.17", + "xtend": "~2.1.1" + }, + "dependencies": { + "readable-stream": { + "version": "1.0.34", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz", + "integrity": "sha1-Elgg40vIQtLyqq+v5MKRbuMsFXw=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + } + } + }, + "xtend": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-2.1.2.tgz", + "integrity": "sha1-bv7MKk2tjmlixJAbM3znuoe10os=", + "dev": true, + "requires": { + "object-keys": "~0.4.0" + } + } + } + }, + "object-inspect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.0.2.tgz", + "integrity": "sha1-qXiFtVPldetACevAm92psc0hl5o=", + "dev": true + }, + "object-keys": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-0.4.0.tgz", + "integrity": "sha1-KKaq50KN0sOpLz2V8hM13SBOAzY=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.3.0.tgz", + "integrity": "sha1-EwumYiE/qELttM0DYdMaFTAaQ+I=", + "dev": true + }, + "optimist": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz", + "integrity": "sha1-yQlBrVnkJzMokjB00s8ufLxuwNk=", + "dev": true, + "requires": { + "wordwrap": "~0.0.2" + } + }, + "os-browserify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz", + "integrity": "sha1-ScoCk+CxlZCl9d4Qx/JlphfY/lQ=", + "dev": true + }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "parents": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/parents/-/parents-0.0.3.tgz", + "integrity": "sha1-+iEvAk2fpjGNu2tM5nbIvkk7nEM=", + "dev": true, + "requires": { + "path-platform": "^0.0.1" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-platform": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-platform/-/path-platform-0.0.1.tgz", + "integrity": "sha1-tVhdfDxGPYmqAGDYZhHPGv1hfio=", + "dev": true + }, + "process": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/process/-/process-0.7.0.tgz", + "integrity": "sha1-xSIIFho0rfOBI0SuhdPmFQRpOJ0=", + "dev": true + }, + "punycode": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz", + "integrity": "sha1-VACKyXKux0F13vnLpt9/qdORh0A=", + "dev": true + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", + "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + }, + "dependencies": { + "string_decoder": { + "version": "0.10.31", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", + "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=", + "dev": true + } + } + }, + "resolve": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.7.4.tgz", + "integrity": "sha1-OVqe+ehz+/4SvRRAi9kbuTYAPWk=", + "dev": true + }, + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "dev": true, + "requires": { + "through": "~2.3.4" + } + }, + "rfile": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rfile/-/rfile-1.0.0.tgz", + "integrity": "sha1-WXCM+Qyh50xUw8/Fw2/bmBBDUmE=", + "dev": true, + "requires": { + "callsite": "~1.0.0", + "resolve": "~0.3.0" + }, + "dependencies": { + "resolve": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-0.3.1.tgz", + "integrity": "sha1-NMY0R8ZkxwWY0cmxJvxDsqJDEKQ=", + "dev": true + } + } + }, + "ripemd160": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-0.2.0.tgz", + "integrity": "sha1-K/GYveFnys+lHAqSjoS2i74XH84=", + "dev": true + }, + "ruglify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/ruglify/-/ruglify-1.0.0.tgz", + "integrity": "sha1-3Ikw4qlUSidDAcyZcldMDQmGtnU=", + "dev": true, + "requires": { + "rfile": "~1.0", + "uglify-js": "~2.2" + } + }, + "sha.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.1.6.tgz", + "integrity": "sha1-IObrgfPmbwgd34TdjwRkvqbAL9Q=", + "dev": true, + "requires": { + "buffer": "~2.3.2" + }, + "dependencies": { + "buffer": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-2.3.4.tgz", + "integrity": "sha1-fkr1ojwV4T/L/VxaHsl0y2Fmikw=", + "dev": true, + "requires": { + "base64-js": "~0.0.4", + "ieee754": "~1.1.1" + } + } + } + }, + "shallow-copy": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz", + "integrity": "sha1-QV9CcC1z2BAzApLMXuhurhoRoXA=", + "dev": true + }, + "shell-quote": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz", + "integrity": "sha1-GkEZbzwDM8SCMjWT1ohuzxU92YY=", + "dev": true + }, + "shelljs": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.2.6.tgz", + "integrity": "sha1-kEktcv/MgVmXa6umL7D2iE8MM3g=", + "dev": true + }, + "sigmund": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", + "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=", + "dev": true + }, + "source-map": { + "version": "0.1.43", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz", + "integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "stream-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz", + "integrity": "sha1-v5tKv7QrJ011FHnkTg/yZWtvEZM=", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^1.0.27-1" + } + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "string_decoder": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.0.1.tgz", + "integrity": "sha1-9UctCo0WUOyCN1LSTm/WJ7Ob8UE=", + "dev": true + }, + "subarg": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/subarg/-/subarg-0.0.1.tgz", + "integrity": "sha1-PVawfaz7xFu7Y/dnK0O2PkY2jjo=", + "dev": true, + "requires": { + "minimist": "~0.0.7" + } + }, + "syntax-error": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz", + "integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==", + "dev": true, + "requires": { + "acorn-node": "^1.2.0" + } + }, + "tape": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.0.3.tgz", + "integrity": "sha1-x/KQXVHFRwIyQlKubIMCRDo8srE=", + "dev": true, + "requires": { + "deep-equal": "~1.0.0", + "defined": "~0.0.0", + "glob": "~5.0.3", + "inherits": "~2.0.1", + "object-inspect": "~1.0.0", + "resumer": "~0.0.0", + "through": "~2.3.4" + }, + "dependencies": { + "deep-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz", + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=", + "dev": true + }, + "glob": { + "version": "5.0.15", + "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz", + "integrity": "sha1-G8k2ueAvSmA/zCIuz3Yz0wuLk7E=", + "dev": true, + "requires": { + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "2 || 3", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz", + "integrity": "sha1-CEfLxESfNAVXTb3M2buEG4OsNUU=", + "dev": true, + "requires": { + "readable-stream": ">=1.1.13-1 <1.2.0-0", + "xtend": ">=4.0.0 <4.1.0-0" + }, + "dependencies": { + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + } + } + }, + "timers-browserify": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz", + "integrity": "sha1-ycWLV1voQHN1y14kYtrO50NZ9B0=", + "dev": true, + "requires": { + "process": "~0.11.0" + }, + "dependencies": { + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + } + } + }, + "tty-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.1.tgz", + "integrity": "sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw==", + "dev": true + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz", + "integrity": "sha1-puAqcNg5eSuXgEiLe4sYTAlcmcc=", + "dev": true, + "requires": { + "optimist": "~0.3.5", + "source-map": "~0.1.7" + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "dev": true + }, + "umd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/umd/-/umd-2.1.0.tgz", + "integrity": "sha1-SmMHt2LxfwLSAbX6FU5nM5bCY88=", + "dev": true, + "requires": { + "rfile": "~1.0.0", + "ruglify": "~1.0.0", + "through": "~2.3.4", + "uglify-js": "~2.4.0" + }, + "dependencies": { + "source-map": { + "version": "0.1.34", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz", + "integrity": "sha1-p8/omux7FoLDsZjQrPtH19CQVms=", + "dev": true, + "requires": { + "amdefine": ">=0.0.4" + } + }, + "uglify-js": { + "version": "2.4.24", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", + "integrity": "sha1-+tV1XB4Vd2WLsG/5q25UjJW+vW4=", + "dev": true, + "requires": { + "async": "~0.2.6", + "source-map": "0.1.34", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.5.4" + } + } + } + }, + "url": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz", + "integrity": "sha1-Ah5NnHcF8hu/N9A861h2dAJ3TGQ=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", + "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", + "dev": true, + "requires": { + "inherits": "2.0.3" + } + }, + "vm-browserify": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz", + "integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=", + "dev": true, + "requires": { + "indexof": "0.0.1" + } + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=", + "dev": true + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xtend": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz", + "integrity": "sha1-XM50B7r2Qsunvs2laBEcST9ZZlo=", + "dev": true + }, + "yargs": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz", + "integrity": "sha1-2K/49mXpTDS9JZvevRv68N3TU2E=", + "dev": true, + "requires": { + "camelcase": "^1.0.2", + "decamelize": "^1.0.0", + "window-size": "0.1.0", + "wordwrap": "0.0.2" + }, + "dependencies": { + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=", + "dev": true + } + } + } + } +}