diff --git a/plugins/c9.ide.keys/commands.js b/plugins/c9.ide.keys/commands.js index ad293bec..5496a327 100644 --- a/plugins/c9.ide.keys/commands.js +++ b/plugins/c9.ide.keys/commands.js @@ -12,6 +12,7 @@ define(function(require, exports, module) { var keyUtil = require("ace/lib/keys"); var KeyBinding = require("ace/keyboard/keybinding").KeyBinding; var CommandManager = require("ace/commands/command_manager").CommandManager; + CommandManager.prototype.$checkCommandState = false; /***** Initialization *****/ diff --git a/plugins/c9.ide.scm/blame.css b/plugins/c9.ide.scm/blame.css index a4fc2485..c1c9b8bb 100644 --- a/plugins/c9.ide.scm/blame.css +++ b/plugins/c9.ide.scm/blame.css @@ -28,7 +28,7 @@ text-align: left !important; top: 0; z-index: 5; - pointer-events: auto; + pointer-events: auto!important; } .ace_blame-cell{ border-top: solid 1px; diff --git a/plugins/c9.ide.scm/blame.js b/plugins/c9.ide.scm/blame.js index 15293837..0154357f 100644 --- a/plugins/c9.ide.scm/blame.js +++ b/plugins/c9.ide.scm/blame.js @@ -176,6 +176,7 @@ var BlameGutter = function(editor, blameStr) { this.onMousedown = this.onMousedown.bind(this); this.onChangeEditor = this.onChangeEditor.bind(this); + this.onChangeSelection = this.onChangeSelection.bind(this); this.onMousemove = this.onMousemove.bind(this); this.onMouseout = this.onMouseout.bind(this); @@ -212,6 +213,7 @@ var BlameGutter = function(editor, blameStr) { this.closeButton = this.resizer.firstChild; gutter.on("afterRender", this.drawGutter); + editor.on("changeSelection", this.onChangeSelection); this.element.addEventListener("mousedown", this.onMousedown); this.resizer.addEventListener("mousedown", this.onMousedown); @@ -229,6 +231,7 @@ var BlameGutter = function(editor, blameStr) { var editor = this.editor; var gutter = editor.renderer.$gutterLayer; gutter.off("afterRender", this.drawGutter); + editor.off("changeSelection", this.onChangeSelection); editor.blameGutter = gutter.blameColumn = this.editor = null; @@ -260,6 +263,20 @@ var BlameGutter = function(editor, blameStr) { this.attachToEditor(e.editor); }; + this.onChangeSelection = function() { + var renderer = this.editor.renderer; + var row = this.session.selection.cursor.row; + + var blameData = this.blameData || []; + + while (!blameData[row] && row > 0) row--; + var blameCell = blameData[row]; + if (blameCell) { + this.selectedHash = blameCell.data.hash; + renderer.$loop.schedule(renderer.CHANGE_GUTTER | renderer.CHANGE_MARKER); + } + }; + this.drawGutter = function(e, gutter) { var container = gutter.blameColumn.element; var blameData = gutter.blameColumn.blameData; @@ -268,7 +285,7 @@ var BlameGutter = function(editor, blameStr) { var cells = gutter.$lines.cells; var cache = gutter.blameColumn.$cache; var cacheIndex = 0; - var offset = - getTop(gutter.element) + gutter.config.offset; + var offset = -getTop(gutter.element); var commit; for (var i = 0; i < cells.length; i++) { @@ -280,11 +297,6 @@ var BlameGutter = function(editor, blameStr) { // find first row while (!blameData[row] && row > 0) row--; data = blameData[row] - commit = { - row: row, - cell: cell, - data: data, - }; } if (!data) @@ -299,7 +311,7 @@ var BlameGutter = function(editor, blameStr) { data: data, }; } - if (commit.cell == cell) + if (commit) add(commit.data, commit.row, commit.cell); function add(data, row, firstCell, nextCell) { @@ -310,7 +322,7 @@ var BlameGutter = function(editor, blameStr) { el.index = row; el.textContent = data.text + " " + data.title; - var top = getTop(firstCell.element) - offset; + var top = Math.max(getTop(firstCell.element) - offset, 0); var next = nextCell ? getTop(nextCell.element) - offset : gutter.config.height; el.style.top = top + "px"; el.style.height = next - top + "px"; @@ -362,6 +374,8 @@ var BlameGutter = function(editor, blameStr) { var blameCell = blameData[target.index]; if (!blameCell) return event.stopEvent(e); + var pos = this.editor.renderer.screenToTextCoordinates(e.clientX, e.clientY); + this.editor.selection.moveToPosition(pos); gutter.blameColumn.selectedHash = blameCell.data.hash; this.editor.renderer.$loop.schedule(this.editor.renderer.CHANGE_GUTTER); return event.stopEvent(e); diff --git a/plugins/node_modules/ace/lib/ace/commands/command_manager.js b/plugins/node_modules/ace/lib/ace/commands/command_manager.js index df30ef9b..a6fcb82c 100644 --- a/plugins/node_modules/ace/lib/ace/commands/command_manager.js +++ b/plugins/node_modules/ace/lib/ace/commands/command_manager.js @@ -38,7 +38,7 @@ oop.inherits(CommandManager, MultiHashHandler); } return false; } - + if (typeof command === "string") command = this.commands[command]; @@ -48,6 +48,9 @@ oop.inherits(CommandManager, MultiHashHandler); if (editor && editor.$readOnly && !command.readOnly) return false; + if (this.$checkCommandState != false && command.isAvailable && !command.isAvailable(editor)) + return false; + var e = {editor: editor, command: command, args: args}; e.returnValue = this._emit("exec", e); this._signal("afterExec", e); diff --git a/plugins/node_modules/ace/lib/ace/commands/command_manager_test.js b/plugins/node_modules/ace/lib/ace/commands/command_manager_test.js index 902600be..84ab2b87 100644 --- a/plugins/node_modules/ace/lib/ace/commands/command_manager_test.js +++ b/plugins/node_modules/ace/lib/ace/commands/command_manager_test.js @@ -3,7 +3,7 @@ * * Copyright (c) 2010, Ajax.org B.V. * All rights reserved. - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright @@ -14,7 +14,7 @@ * * Neither the name of Ajax.org B.V. nor the * names of its contributors may be used to endorse or promote products * derived from this software without specific prior written permission. - * + * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE @@ -49,7 +49,9 @@ module.exports = { win: "Ctrl-L" }, called: false, - exec: function(editor) { this.called = true; } + available: true, + exec: function(editor) { this.called = true; }, + isAvailable: function(editor) { return this.available; } }; this.cm = new CommandManager("mac", [this.command]); @@ -78,6 +80,16 @@ module.exports = { assert.equal(command, this.command); }, + "test: command isAvailable": function() { + this.command.available = false; + + this.cm.exec("gotoline"); + assert.ok(!this.command.called); + this.cm.$checkCommandState = false; + this.cm.exec("gotoline"); + assert.ok(this.command.called); + }, + "test: remove command by object": function() { this.cm.removeCommand(this.command); @@ -133,10 +145,10 @@ module.exports = { called += "2"; } }); - - + + var statusUpdateEmitted = false; - this._emit = function() {statusUpdateEmitted = true}; + this._emit = function() {statusUpdateEmitted = true;}; this.cm.exec("togglerecording", this); assert.ok(this.cm.recording); diff --git a/plugins/node_modules/ace/lib/ace/config.js b/plugins/node_modules/ace/lib/ace/config.js index 7122708d..53ce5dce 100644 --- a/plugins/node_modules/ace/lib/ace/config.js +++ b/plugins/node_modules/ace/lib/ace/config.js @@ -70,6 +70,8 @@ exports.all = function() { return lang.copyObject(options); }; +exports.$modes = {}; + // module loading exports.moduleUrl = function(name, component) { if (options.$moduleUrls[name]) diff --git a/plugins/node_modules/ace/lib/ace/edit_session.js b/plugins/node_modules/ace/lib/ace/edit_session.js index c48400ae..3d20309e 100644 --- a/plugins/node_modules/ace/lib/ace/edit_session.js +++ b/plugins/node_modules/ace/lib/ace/edit_session.js @@ -839,7 +839,7 @@ EditSession.$uid = 0; this._signal("tokenizerUpdate", e); }; - this.$modes = {}; + this.$modes = config.$modes; /** * Sets a new text mode for the `EditSession`. This method also emits the `'changeMode'` event. If a [[BackgroundTokenizer `BackgroundTokenizer`]] is set, the `'tokenizerUpdate'` event is also emitted. @@ -1817,20 +1817,13 @@ EditSession.$uid = 0; return Math.min(indentation, maxIndent); } function addSplit(screenPos) { - var displayed = tokens.slice(lastSplit, screenPos); - // The document size is the current size - the extra width for tabs // and multipleWidth characters. - var len = displayed.length; - displayed.join("") - // Get all the TAB_SPACEs. - .replace(/12/g, function() { - len -= 1; - }) - // Get all the CHAR_EXT/multipleWidth characters. - .replace(/2/g, function() { - len -= 1; - }); + var len = screenPos - lastSplit; + for (var i = lastSplit; i < screenPos; i++) { + var ch = tokens[i]; + if (ch === 12 || ch === 2) len -= 1; + } if (!splits.length) { indent = getWrapIndent(); @@ -2503,15 +2496,22 @@ config.defineOptions(EditSession.prototype, "session", { if (val != this.$wrapAsCode) { this.$wrapAsCode = val; if (this.$useWrapMode) { - this.$modified = true; - this.$resetRowCache(0); - this.$updateWrapData(0, this.getLength() - 1); + this.$useWrapMode = false; + this.setUseWrapMode(true); } } }, initialValue: "auto" }, - indentedSoftWrap: { initialValue: true }, + indentedSoftWrap: { + set: function() { + if (this.$useWrapMode) { + this.$useWrapMode = false; + this.setUseWrapMode(true); + } + }, + initialValue: true + }, firstLineNumber: { set: function() {this._signal("changeBreakpoint");}, initialValue: 1 diff --git a/plugins/node_modules/ace/lib/ace/ext/language_tools.js b/plugins/node_modules/ace/lib/ace/ext/language_tools.js index 3de3d0cb..5c942d8d 100644 --- a/plugins/node_modules/ace/lib/ace/ext/language_tools.js +++ b/plugins/node_modules/ace/lib/ace/ext/language_tools.js @@ -51,9 +51,18 @@ var keyWordCompleter = { var snippetCompleter = { getCompletions: function(editor, session, pos, prefix, callback) { + var scopes = []; + + // set scope to html-tag if we're inside an html tag + var token = session.getTokenAt(pos.row, pos.column); + if (token && token.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)) + scopes.push('html-tag'); + else + scopes = snippetManager.getActiveScopes(editor); + var snippetMap = snippetManager.snippetMap; var completions = []; - snippetManager.getActiveScopes(editor).forEach(function(scope) { + scopes.forEach(function(scope) { var snippets = snippetMap[scope] || []; for (var i = snippets.length; i--;) { var s = snippets[i]; diff --git a/plugins/node_modules/ace/lib/ace/ext/modelist.js b/plugins/node_modules/ace/lib/ace/ext/modelist.js index 08deec8f..202ddcda 100644 --- a/plugins/node_modules/ace/lib/ace/ext/modelist.js +++ b/plugins/node_modules/ace/lib/ace/ext/modelist.js @@ -81,6 +81,7 @@ var supportedModes = { Erlang: ["erl|hrl"], Forth: ["frt|fs|ldr|fth|4th"], Fortran: ["f|f90"], + FSharp: ["fsi|fs|ml|mli|fsx|fsscript"], FTL: ["ftl"], Gcode: ["gcode"], Gherkin: ["feature"], @@ -138,6 +139,7 @@ var supportedModes = { Pascal: ["pas|p"], Perl: ["pl|pm"], pgSQL: ["pgsql"], + PHP_Laravel_blade: ["blade.php"], PHP: ["php|phtml|shtml|php3|php4|php5|phps|phpt|aw|ctp|module"], Pig: ["pig"], Powershell: ["ps1"], @@ -161,6 +163,7 @@ var supportedModes = { SCSS: ["scss"], SH: ["sh|bash|^.bashrc"], SJS: ["sjs"], + Slim: ["slim|skim"], Smarty: ["smarty|tpl"], snippets: ["snippets"], Soy_Template:["soy"], @@ -202,7 +205,8 @@ var nameOverrides = { coffee: "CoffeeScript", HTML_Ruby: "HTML (Ruby)", HTML_Elixir: "HTML (Elixir)", - FTL: "FreeMarker" + FTL: "FreeMarker", + PHP_Laravel_blade: "PHP (Blade Template)" }; var modesByName = {}; for (var name in supportedModes) { diff --git a/plugins/node_modules/ace/lib/ace/ext/options.js b/plugins/node_modules/ace/lib/ace/ext/options.js index 48359643..a286a769 100644 --- a/plugins/node_modules/ace/lib/ace/ext/options.js +++ b/plugins/node_modules/ace/lib/ace/ext/options.js @@ -144,6 +144,9 @@ var optionGroups = { type: "number", path: "printMarginColumn" }], + "Indented Soft Wrap": { + path: "indentedSoftWrap" + }, "Highlight selected word": { path: "highlightSelectedWord" }, @@ -322,7 +325,7 @@ var OptionPanel = function(editor, element) { value = parseFloat(value); if (option.onchange) option.onchange(value); - else + else if (option.path) this.editor.setOption(option.path, value); this._signal("setOption", {name: option.path, value: value}); }; diff --git a/plugins/node_modules/ace/lib/ace/keyboard/textinput.js b/plugins/node_modules/ace/lib/ace/keyboard/textinput.js index 3703e4af..26af126f 100644 --- a/plugins/node_modules/ace/lib/ace/keyboard/textinput.js +++ b/plugins/node_modules/ace/lib/ace/keyboard/textinput.js @@ -85,6 +85,9 @@ var TextInput = function(parentNode, host) { this.focus = function() { if (tempStyle || HAS_FOCUS_ARGS || this.$focusScroll == "browser") return text.focus({ preventScroll: true }); + // getBoundingClientRect on IE throws error if element is not in dom tree + if (!document.documentElement.contains(text)) + return; var top = text.style.top; text.style.position = "fixed"; text.style.top = "0px"; diff --git a/plugins/node_modules/ace/lib/ace/layer/gutter.js b/plugins/node_modules/ace/lib/ace/layer/gutter.js index e4ac8376..b2295a9a 100644 --- a/plugins/node_modules/ace/lib/ace/layer/gutter.js +++ b/plugins/node_modules/ace/lib/ace/layer/gutter.js @@ -49,6 +49,7 @@ var Gutter = function(parentEl) { this.$updateAnnotations = this.$updateAnnotations.bind(this); this.$lines = new Lines(this.element); + this.$lines.$offsetCoefficient = 1; }; (function() { @@ -373,7 +374,6 @@ var Gutter = function(parentEl) { dom.setStyle(cell.element.style, "top", this.$lines.computeLineTop(row, config, session) + "px"); cell.text = text; - cell.row = row; return cell; }; diff --git a/plugins/node_modules/ace/lib/ace/layer/lines.js b/plugins/node_modules/ace/lib/ace/layer/lines.js index 96936764..c29a78d3 100644 --- a/plugins/node_modules/ace/lib/ace/layer/lines.js +++ b/plugins/node_modules/ace/lib/ace/layer/lines.js @@ -40,12 +40,13 @@ var Lines = function(element, canvasHeight) { this.cells = []; this.cellCache = []; + this.$offsetCoefficient = 0; }; (function() { this.moveContainer = function(config) { - dom.translate(this.element, 0, -((config.firstRowScreen * config.lineHeight) % this.canvasHeight)); + dom.translate(this.element, 0, -((config.firstRowScreen * config.lineHeight) % this.canvasHeight) - config.offset * this.$offsetCoefficient); }; this.pageChanged = function(oldConfig, newConfig) { @@ -143,6 +144,7 @@ var Lines = function(element, canvasHeight) { row: row }; } + cell.row = row; return cell; }; diff --git a/plugins/node_modules/ace/lib/ace/lib/dom.js b/plugins/node_modules/ace/lib/ace/lib/dom.js index ccfda22c..7a14a411 100644 --- a/plugins/node_modules/ace/lib/ace/lib/dom.js +++ b/plugins/node_modules/ace/lib/ace/lib/dom.js @@ -195,7 +195,7 @@ exports.importCssString = function importCssString(cssText, id, container) { if (root == doc) root = exports.getDocumentHead(doc); - root.appendChild(style); + root.insertBefore(style, root.firstChild); }; exports.importCssStylsheet = function(uri, doc) { diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_bro.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_bro.json deleted file mode 100644 index b0f42015..00000000 --- a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_bro.json +++ /dev/null @@ -1,106 +0,0 @@ -[[ - "start", - ["punctuation.definition.comment.bro","#"], - ["comment.line.number-sign.bro","#! Add countries for the originator and responder of a connection"] -],[ - "start", - ["punctuation.definition.comment.bro","#"], - ["comment.line.number-sign.bro","#! to the connection logs."] -],[ - "start" -],[ - "start", - ["text","module Conn;"] -],[ - "start" -],[ - "start", - ["text","export {"] -],[ - "start", - ["text","\t"], - ["storage.modifier.bro","redef"], - ["text"," "], - ["storage.type.bro","record"], - ["text"," Conn::Info += {"] -],[ - "start", - ["text","\t\t"], - ["punctuation.definition.comment.bro","#"], - ["comment.line.number-sign.bro","# Country code for the originator of the connection based "] -],[ - "start", - ["text","\t\t"], - ["punctuation.definition.comment.bro","#"], - ["comment.line.number-sign.bro","# on a GeoIP lookup."] -],[ - "start", - ["text","\t\torig_cc: "], - ["storage.type.bro","string"], - ["text"," &optional &log;"] -],[ - "start", - ["text","\t\t"], - ["punctuation.definition.comment.bro","#"], - ["comment.line.number-sign.bro","# Country code for the responser of the connection based "] -],[ - "start", - ["text","\t\t"], - ["punctuation.definition.comment.bro","#"], - ["comment.line.number-sign.bro","# on a GeoIP lookup."] -],[ - "start", - ["text","\t\tresp_cc: "], - ["storage.type.bro","string"], - ["text"," &optional &log;"] -],[ - "start", - ["text","\t};"] -],[ - "start", - ["text","}"] -],[ - "start" -],[ - "start", - ["meta.function.bro"," "], - ["storage.type.bro","connection_state_remove"], - ["meta.function.bro","("], - ["entity.name.function.bro","c: connection"], - ["meta.function.bro",") "], - "event connection_state_remove(c: connection) " -],[ - "start", - ["text","\t{"] -],[ - "start", - ["text","\t"], - ["storage.modifier.bro","local"], - ["text"," orig_loc = lookup_location(c$id$orig_h);"] -],[ - "start", - ["text","\t"], - ["keyword.control.bro","if"], - ["text"," ( orig_loc?$country_code )"] -],[ - "start", - ["text","\t\tc$conn$orig_cc = orig_loc$country_code;"] -],[ - "start" -],[ - "start", - ["text","\t"], - ["storage.modifier.bro","local"], - ["text"," resp_loc = lookup_location(c$id$resp_h);"] -],[ - "start", - ["text","\t"], - ["keyword.control.bro","if"], - ["text"," ( resp_loc?$country_code )"] -],[ - "start", - ["text","\t\tc$conn$resp_cc = resp_loc$country_code;"] -],[ - "start", - ["text","\t}"] -]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_fsharp.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_fsharp.json new file mode 100644 index 00000000..af902afe --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_fsharp.json @@ -0,0 +1,140 @@ +[[ + "start", + ["comment.start","(*"], + ["comment"," fsharp "], + ["comment.start","(*"], + ["comment"," example "], + ["comment.end","*)"], + ["comment"," "], + ["comment.end","*)"] +],[ + "start", + ["keyword","module"], + ["text"," "], + ["identifier","Test"], + ["text"," "], + ["keyword.operator","="] +],[ + "start", + ["text"," "], + ["keyword","let"], + ["text"," "], + ["identifier","func1"], + ["text"," "], + ["identifier","x"], + ["text"," "], + ["keyword.operator","="], + ["text"," "] +],[ + "start", + ["text"," "], + ["keyword","if"], + ["text"," "], + ["identifier","x"], + ["text"," "], + ["keyword.operator","<"], + ["text"," "], + ["constant.integer","100"], + ["text"," "], + ["keyword","then"] +],[ + "start", + ["text"," "], + ["identifier","x"], + ["keyword.operator","*"], + ["identifier","x"] +],[ + "start", + ["text"," "], + ["keyword","else"] +],[ + "start", + ["text"," "], + ["identifier","x"], + ["keyword.operator","*"], + ["identifier","x"], + ["text"," "], + ["keyword.operator","+"], + ["text"," "], + ["constant.integer","1"] +],[ + "start", + ["text"," "], + ["keyword","let"], + ["text"," "], + ["identifier","list"], + ["text"," "], + ["keyword.operator","="], + ["text"," "], + ["paren.lpar","("], + ["keyword.operator","-"], + ["constant.integer","1"], + ["text",", "], + ["constant.integer","42"], + ["paren.rpar",")"], + ["text"," :: "], + ["paren.lpar","["], + ["text"," "], + ["keyword","for"], + ["text"," "], + ["identifier","i"], + ["text"," "], + ["keyword","in"], + ["text"," "], + ["constant.integer","0"], + ["text"," .. "], + ["constant.integer","99"], + ["text"," "], + ["keyword.operator","->"], + ["text"," "], + ["paren.lpar","("], + ["identifier","i"], + ["text",", "], + ["identifier","func1"], + ["paren.lpar","("], + ["identifier","i"], + ["paren.rpar","))"], + ["text"," "], + ["paren.rpar","]"] +],[ + "start", + ["text"," "], + ["keyword","let"], + ["text"," "], + ["identifier","verbatim"], + ["text"," "], + ["keyword.operator","="], + ["text"," "], + ["verbatim.string","@"], + ["string","\""], + ["string","c:\\Program "], + ["constant.language.escape","\"\""], + ["string"," Files\\\""] +],[ + "start", + ["text"," "], + ["keyword","let"], + ["text"," "], + ["identifier","trippleQuote"], + ["text"," "], + ["keyword.operator","="], + ["text"," "], + ["string","\"\"\" \"hello world\" \"\"\""] +],[ + "start", + ["text"," "] +],[ + "start", + ["text"," "], + ["comment","// print"] +],[ + "start", + ["text"," "], + ["identifier","printfn"], + ["text"," "], + ["string","\"The table of squares from 0 to 99 is:"], + ["constant.language.escape","\\n"], + ["string","%A\""], + ["text"," "], + ["identifier","list"] +]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_jssm.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_jssm.json new file mode 100644 index 00000000..0651783a --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_jssm.json @@ -0,0 +1,173 @@ +[[ + "start" +],[ + "start", + ["constant.language.jssmLanguage","machine_name :"], + ["text"," "], + ["entity.name.tag.jssmLabel.doublequoted","\"Three-state traffic light, plus off and flash-red\""], + ["text",";"] +],[ + "start", + ["constant.language.jssmLanguage","machine_version :"], + ["text"," "], + ["constant.numeric","1.2.1"], + ["text",";"] +],[ + "start" +],[ + "start", + ["constant.language.jssmLanguage","jssm_version :"], + ["text"," >= "], + ["constant.numeric","5.0.0"], + ["text",";"] +],[ + "start", + ["constant.language.jssmLanguage","graph_layout :"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","dot"], + ["text",";"] +],[ + "start" +],[ + "start", + ["entity.name.tag.jssmLabel.atom","on_init"], + ["text"," : "], + ["entity.name.function","${"], + ["keyword.other","setup"], + ["entity.name.function","}"], + ["text",";"] +],[ + "start", + ["entity.name.tag.jssmLabel.atom","on_halt"], + ["text"," : "], + ["entity.name.function","${"], + ["keyword.other","finalize"], + ["entity.name.function","}"], + ["text",";"] +],[ + "start" +],[ + "start" +],[ + "start" +],[ + "start", + ["punctuation.definition.comment.mn","/*"], + ["comment.block.jssm"," turn on "], + ["punctuation.definition.comment.mn","*/"] +],[ + "start", + ["entity.name.tag.jssmLabel.atom","Off"], + ["text"," "], + ["constant.character.jssmAction","'Enable'"], + ["text"," { "], + ["entity.name.tag.jssmLabel.atom","follow"], + ["text",": "], + ["entity.name.function","${"], + ["keyword.other","turned_on"], + ["entity.name.function","}"], + ["text","; } "], + ["keyword.control.transition.jssmArrow.none_legal","->"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Red"], + ["text",";"] +],[ + "start" +],[ + "start", + ["comment.line.jssm","// main sequence"] +],[ + "start", + ["entity.name.tag.jssmLabel.atom","Red"], + ["text"," "], + ["constant.character.jssmAction","'Proceed'"], + ["text"," "], + ["keyword.control.transition.jssmArrow.none_main","=>"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Green"], + ["text"," "], + ["constant.character.jssmAction","'Proceed'"], + ["text"," "], + ["keyword.control.transition.jssmArrow.none_main","=>"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Yellow"], + ["text"," "], + ["constant.character.jssmAction","'Proceed'"], + ["text"," "], + ["keyword.control.transition.jssmArrow.none_main","=>"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Red"], + ["text",";"] +],[ + "start" +],[ + "start", + ["comment.line.jssm","// emergency flash red"] +],[ + "start", + ["text","["], + ["entity.name.tag.jssmLabel.atom","Red"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Yellow"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Green"], + ["text","] "], + ["constant.character.jssmAction","'Flash'"], + ["text"," "], + ["keyword.control.transition.jssmArrow.none_legal","->"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Flash"], + ["text",";"] +],[ + "start", + ["entity.name.tag.jssmLabel.atom","Flash"], + ["text"," "], + ["constant.character.jssmAction","'Proceed'"], + ["text"," { "], + ["entity.name.tag.jssmLabel.atom","label"], + ["text",": "], + ["constant.character.jssmAction","'no change'"], + ["text","; } "], + ["keyword.control.transition.jssmArrow.none_legal","->"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Flash"], + ["text"," "], + ["constant.character.jssmAction","'Exit'"], + ["text"," "], + ["keyword.control.transition.jssmArrow.none_legal","->"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Red"], + ["text",";"] +],[ + "start" +],[ + "start", + ["comment.line.jssm","// turn off"] +],[ + "start", + ["text","["], + ["entity.name.tag.jssmLabel.atom","Red"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Yellow"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Green"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Flash"], + ["text","] "], + ["constant.character.jssmAction","'Disable'"], + ["text"," { "], + ["entity.name.tag.jssmLabel.atom","follow"], + ["text",": "], + ["entity.name.function","${"], + ["keyword.other","turned_off"], + ["entity.name.function","}"], + ["text","; } "], + ["keyword.control.transition.jssmArrow.none_forced","~>"], + ["text"," "], + ["entity.name.tag.jssmLabel.atom","Off"], + ["text",";"] +],[ + "start" +],[ + "start" +]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_lean.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_lean.json deleted file mode 100644 index 14ea8bb8..00000000 --- a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_lean.json +++ /dev/null @@ -1,143 +0,0 @@ -[[ - "start", - ["keyword.control","import"], - ["text"," "], - ["identifier","logic"] -],[ - "start", - ["keyword.control","section"] -],[ - "start", - ["text"," "], - ["keyword.control","variables"], - ["text"," "], - ["paren.lparen","("], - ["identifier","A"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["storage.type","Type"], - ["paren.rparen",")"], - ["text"," "], - ["paren.lparen","("], - ["identifier","p"], - ["text"," "], - ["identifier","q"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["identifier","A"], - ["text"," "], - ["operator","→"], - ["text"," "], - ["storage.type","Prop"], - ["paren.rparen",")"] -],[ - "start" -],[ - "start", - ["text"," "], - ["keyword.control","example"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["paren.lparen","("], - ["operator","∀"], - ["identifier","x"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["identifier","A"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","p"], - ["text"," "], - ["identifier","x"], - ["text"," "], - ["operator","∧"], - ["text"," "], - ["identifier","q"], - ["text"," "], - ["identifier","x"], - ["paren.rparen",")"], - ["text"," "], - ["operator","→"], - ["text"," "], - ["operator","∀"], - ["identifier","y"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["identifier","A"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","p"], - ["text"," "], - ["identifier","y"], - ["text"," "], - ["operator",":="] -],[ - "start", - ["text"," "], - ["keyword.control","assume"], - ["text"," "], - ["identifier","H"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["operator","∀"], - ["identifier","x"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["identifier","A"], - ["punctuation.operator",","], - ["text"," "], - ["identifier","p"], - ["text"," "], - ["identifier","x"], - ["text"," "], - ["operator","∧"], - ["text"," "], - ["identifier","q"], - ["text"," "], - ["identifier","x"], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["keyword.control","take"], - ["text"," "], - ["identifier","y"], - ["text"," "], - ["punctuation.operator",":"], - ["text"," "], - ["identifier","A"], - ["punctuation.operator",","] -],[ - "start", - ["text"," "], - ["keyword.control","show"], - ["text"," "], - ["identifier","p"], - ["text"," "], - ["identifier","y"], - ["punctuation.operator",","], - ["text"," "], - ["keyword.control","from"], - ["text"," "], - ["identifier","and"], - ["punctuation.operator","."], - ["identifier","elim_left"], - ["text"," "], - ["paren.lparen","("], - ["identifier","H"], - ["text"," "], - ["identifier","y"], - ["paren.rparen",")"] -],[ - "start", - ["keyword.control","end"] -],[ - "start" -]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_php_laravel_blade.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_php_laravel_blade.json new file mode 100644 index 00000000..70b0ce0d --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_php_laravel_blade.json @@ -0,0 +1,474 @@ +[[ + "start", + ["comment.start.xml",""] +],[ + "start" +],[ + "start", + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","html"], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","head"], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","title"], + ["meta.tag.punctuation.tag-close.xml",">"], + ["text.xml","App Name - "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","yield"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","title"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "js-start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.script.tag-name.xml","script"], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "js-start", + ["text"," "], + ["storage.type","var"], + ["text"," "], + ["identifier","app"], + ["text"," "], + ["keyword.operator","="], + ["text"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","json"], + ["parenthesis.begin.blade","("], + ["variable.blade","$array"], + ["parenthesis.end.blade",")"], + ["punctuation.operator",";"] +],[ + "start", + ["text"," "], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","body"], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","extends"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","layouts.app"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","section"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","sidebar"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","parent"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","p"], + ["meta.tag.punctuation.tag-close.xml",">"], + ["text.xml","This is appended to the master sidebar."], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","endsection"] +],[ + "start", + ["text.xml"," "] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","if"], + ["text.xml"," "], + ["parenthesis.begin.blade","("], + ["source.blade","count"], + ["parenthesis.begin.blade","("], + ["variable.blade","$records"], + ["parenthesis.end.blade",")"], + ["source.blade"," "], + ["keyword.operator.blade","==="], + ["source.blade"," 1"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," I have one record!"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","else"], + ["text.xml","if "], + ["parenthesis.begin.blade","("], + ["source.blade","count"], + ["parenthesis.begin.blade","("], + ["variable.blade","$records"], + ["parenthesis.end.blade",")"], + ["source.blade"," "], + ["keyword.operator.blade",">"], + ["source.blade"," 1"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," I have multiple records!"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","else"] +],[ + "start", + ["text.xml"," I don't have any records!"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","endif"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","foreach"], + ["text.xml"," "], + ["parenthesis.begin.blade","("], + ["variable.blade","$users"], + ["source.blade"," "], + ["keyword.operator.blade","as"], + ["source.blade"," "], + ["variable.blade","$user"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","if"], + ["text.xml"," "], + ["parenthesis.begin.blade","("], + ["variable.blade","$user"], + ["keyword.operator.blade","->"], + ["constant.other.property.blade","type"], + ["source.blade"," "], + ["keyword.operator.blade","=="], + ["source.blade"," 1"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","continue"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","endif"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","li"], + ["meta.tag.punctuation.tag-close.xml",">"], + ["injections.begin.blade","{{"], + ["source.blade"," "], + ["variable.blade","$user"], + ["keyword.operator.blade","->"], + ["constant.other.property.blade","name"], + ["source.blade"," "], + ["injections.end.blade","}}"], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","if"], + ["text.xml"," "], + ["parenthesis.begin.blade","("], + ["variable.blade","$user"], + ["keyword.operator.blade","->"], + ["constant.other.property.blade","number"], + ["source.blade"," "], + ["keyword.operator.blade","=="], + ["source.blade"," 5"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","break"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","endif"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","endforeach"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","foreach"], + ["text.xml"," "], + ["parenthesis.begin.blade","("], + ["variable.blade","$users"], + ["source.blade"," "], + ["keyword.operator.blade","as"], + ["source.blade"," "], + ["variable.blade","$user"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","continue"], + ["parenthesis.begin.blade","("], + ["variable.blade","$user"], + ["keyword.operator.blade","->"], + ["constant.other.property.blade","type"], + ["source.blade"," "], + ["keyword.operator.blade","=="], + ["source.blade"," 1"], + ["parenthesis.end.blade",")"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","li"], + ["meta.tag.punctuation.tag-close.xml",">"], + ["injections.begin.blade","{{"], + ["source.blade"," "], + ["variable.blade","$user"], + ["keyword.operator.blade","->"], + ["constant.other.property.blade","name"], + ["source.blade"," "], + ["injections.end.blade","}}"], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","break"], + ["parenthesis.begin.blade","("], + ["variable.blade","$user"], + ["keyword.operator.blade","->"], + ["constant.other.property.blade","number"], + ["source.blade"," "], + ["keyword.operator.blade","=="], + ["source.blade"," 5"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","endforeach"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","div"], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","include"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","shared.errors"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.form.tag-name.xml","form"], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "start", + ["text.xml"," "], + ["comment.start.xml",""] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","includeIf"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","view.name"], + ["punctuation.definition.string.end.blade","'"], + ["keyword.operator.blade",","], + ["source.blade"," ["], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","some"], + ["punctuation.definition.string.end.blade","'"], + ["source.blade"," "], + ["keyword.operator.blade","=>"], + ["source.blade"," "], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","data"], + ["punctuation.definition.string.end.blade","'"], + ["source.blade","]"], + ["parenthesis.end.blade",")"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","env"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","local"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["punctuation.definition.comment.blade","// The application is in the local environment..."] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","elseenv"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","testing"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["punctuation.definition.comment.blade","// The application is in the testing environment..."] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.control.blade","else"] +],[ + "start", + ["text.xml"," "], + ["punctuation.definition.comment.blade","// The application is not in the local or testing environment..."] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","endenv"] +],[ + "start" +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.tag-open.xml","<"], + ["meta.tag.tag-name.xml","div"], + ["text.tag-whitespace.xml"," "], + ["entity.other.attribute-name.xml","class"], + ["keyword.operator.attribute-equals.xml","="], + ["string.attribute-value.xml","\"container\""], + ["meta.tag.punctuation.tag-close.xml",">"] +],[ + "start", + ["text.xml"," "], + ["directive.declaration.blade","@"], + ["keyword.directives.blade","yield"], + ["parenthesis.begin.blade","("], + ["punctuation.definition.string.begin.blade","'"], + ["string.quoted.double.blade","content"], + ["punctuation.definition.string.end.blade","'"], + ["parenthesis.end.blade",")"] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start", + ["text.xml"," "], + ["meta.tag.punctuation.end-tag-open.xml",""] +],[ + "start", + ["meta.tag.punctuation.end-tag-open.xml",""] +]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_red.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_red.json new file mode 100644 index 00000000..7013b69c --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_red.json @@ -0,0 +1,722 @@ +[[ + "start", + ["keyword","Red"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"] +],[ + "start", + ["variable.set-word","info:"], + ["text"," "], + ["keyword.native","func"], + ["text"," "], + ["paren.block-start","["], + ["variable.lit-word","'fn"], + ["text"," "], + ["variable.refinement","/name"], + ["text"," "], + ["variable.refinement","/intro"], + ["text"," "], + ["variable.refinement","/args"], + ["text"," "], + ["variable.refinement","/refinements"], + ["text"," "], + ["keyword","/local"], + ["text","s "], + ["variable.refinement","/return"], + ["text"," "], + ["variable.refinement","/spec"], + ["text"," "] +],[ + "start", + ["text","\t"], + ["variable.refinement","/arg-num"], + ["text"," "], + ["variable.refinement","/arg-names"], + ["text"," "], + ["variable.refinement","/arg-types"], + ["text"," "], + ["variable.refinement","/ref-names"], + ["text"," "], + ["variable.refinement","/ref-types"], + ["text"," "], + ["variable.refinement","/ref-num"], + ["text"," "], + ["variable.refinement","/type"] +],[ + "start", + ["text","\t"], + ["keyword","/local"], + ["text"," "], + ["variable.word","intr"], + ["text"," "], + ["variable.word","ars"], + ["text"," "], + ["variable.word","refs"], + ["text"," "], + ["variable.word","locs"], + ["text"," "], + ["variable.word","ret"], + ["text"," "], + ["variable.word","arg"], + ["text"," "], + ["variable.word","ref"], + ["text"," "], + ["variable.word","typ"] +],[ + "start", + ["paren.block-end","]"], + ["paren.block-start","["] +],[ + "start", + ["text","\t"], + ["variable.set-word","intr:"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["string","\"\""], + ["text"," "], + ["variable.set-word","ars:"], + ["text"," "], + ["keyword.action","make"], + ["text"," "], + ["constant.datatype!","map!"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"], + ["text"," "], + ["variable.set-word","refs:"], + ["text"," "], + ["keyword.action","make"], + ["text"," "], + ["constant.datatype!","map!"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"], + ["text"," "], + ["variable.set-word","locs:"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"], + ["text"," "], + ["variable.set-word","ret:"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"], + ["text"," "], + ["variable.set-word","typ:"], + ["text"," "], + ["variable.set-word","ref-arg:"], + ["text"," "], + ["variable.set-word","ref-arg-type:"], + ["text"," "], + ["constant.language","none"] +],[ + "start", + ["text","\t"], + ["keyword.control","if"], + ["text"," "], + ["keyword.function","lit-word?"], + ["text"," "], + ["variable.word","fn"], + ["text"," "], + ["paren.block-start","["], + ["variable.set-word","fn:"], + ["text"," "], + ["keyword.function","to-word"], + ["text"," "], + ["variable.word","fn"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t"], + ["keyword.control","unless"], + ["text"," "], + ["keyword.action","find"], + ["text"," "], + ["paren.block-start","["], + ["constant.datatype!","op!"], + ["text"," "], + ["constant.datatype!","native!"], + ["text"," "], + ["constant.datatype!","function!"], + ["text"," "], + ["constant.datatype!","action!"], + ["paren.block-end","]"], + ["text"," "], + ["keyword.native","type?"], + ["variable.refinement","/word"], + ["text"," "], + ["keyword.native","get"], + ["text"," "], + ["variable.word","fn"], + ["text"," "], + ["paren.block-start","["] +],[ + "start", + ["text","\t\t"], + ["keyword.function","cause-error"], + ["text"," "], + ["variable.lit-word","'user"], + ["text"," "], + ["variable.lit-word","'message"], + ["text"," "], + ["paren.block-start","["], + ["string","\"Only function types accepted!\""], + ["paren.block-end","]"] +],[ + "start", + ["text","\t"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t"], + ["variable.set-word","out:"], + ["text"," "], + ["keyword.action","make"], + ["text"," "], + ["constant.datatype!","map!"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"] +],[ + "start", + ["text","\t"], + ["variable.set-word","specs:"], + ["text"," "], + ["keyword.function","spec-of"], + ["text"," "], + ["keyword.native","get"], + ["text"," "], + ["variable.word","fn"], + ["text"," "] +],[ + "start", + ["text","\t"], + ["keyword.native","parse"], + ["text"," "], + ["variable.word","specs"], + ["text"," "], + ["paren.block-start","["] +],[ + "start", + ["text","\t\t"], + ["variable.word","opt"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","intr"], + ["text"," "], + ["constant.datatype!","string!"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t"], + ["keyword.native","any"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","arg"], + ["text"," "], + ["paren.block-start","["], + ["constant.datatype!","word!"], + ["text"," | "], + ["constant.datatype!","lit-word!"], + ["paren.block-end","]"], + ["text"," "], + ["variable.word","opt"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","typ"], + ["text"," "], + ["constant.datatype!","block!"], + ["paren.block-end","]"], + ["text"," "], + ["variable.word","opt"], + ["text"," "], + ["constant.datatype!","string!"], + ["text"," "], + ["paren.parens-start","("], + ["keyword.action","put"], + ["text"," "], + ["variable.word","ars"], + ["text"," "], + ["variable.word","arg"], + ["text"," "], + ["keyword.control","either"], + ["text"," "], + ["variable.word","typ"], + ["text"," "], + ["paren.block-start","["], + ["variable.word","typ"], + ["paren.block-end","]"], + ["paren.block-start","[["], + ["constant.datatype!","any-type!"], + ["paren.block-end","]]"], + ["paren.parens-end",")"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t"], + ["keyword.native","any"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","ref"], + ["text"," "], + ["constant.datatype!","refinement!"], + ["text"," "], + ["paren.block-start","["] +],[ + "start", + ["text","\t\t\t"], + ["keyword.control","if"], + ["text"," "], + ["paren.parens-start","("], + ["variable.word","ref"], + ["keyword.operator"," <> "], + ["keyword","/local"], + ["paren.parens-end",")"], + ["text"," "], + ["paren.parens-start","("], + ["keyword.action","put"], + ["text"," "], + ["variable.word","refs"], + ["text"," "], + ["keyword.function","to-lit-word"], + ["text"," "], + ["variable.word","ref"], + ["text"," "], + ["keyword.action","make"], + ["text"," "], + ["constant.datatype!","map!"], + ["text"," "], + ["keyword.action","copy"], + ["text"," "], + ["paren.block-start","["], + ["paren.block-end","]"], + ["paren.parens-end",")"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t"], + ["variable.word","opt"], + ["text"," "], + ["constant.datatype!","string!"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t"], + ["keyword.native","any"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","ref-arg"], + ["text"," "], + ["constant.datatype!","word!"], + ["text"," "], + ["variable.word","opt"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","ref-arg-type"], + ["text"," "], + ["constant.datatype!","block!"], + ["paren.block-end","]"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["paren.parens-start","("], + ["keyword.action","put"], + ["text"," "], + ["variable.word","refs"], + ["text","/"], + ["paren.parens-start","("], + ["keyword.function","to-word"], + ["text"," "], + ["variable.word","ref"], + ["paren.parens-end",")"], + ["text"," "], + ["keyword.function","to-lit-word"], + ["text"," "], + ["variable.word","ref-arg"], + ["text"," "], + ["keyword.control","either"], + ["text"," "], + ["variable.word","ref-arg-type"], + ["text"," "], + ["paren.block-start","["], + ["variable.word","ref-arg-type"], + ["paren.block-end","]"], + ["paren.block-start","[["], + ["constant.datatype!","any-type!"], + ["paren.block-end","]]"], + ["paren.parens-end",")"] +],[ + "start", + ["text","\t\t\t\t"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t|\t"], + ["keyword.native","any"], + ["text"," "], + ["paren.block-start","["], + ["keyword.native","set"], + ["text"," "], + ["variable.word","loc"], + ["text"," "], + ["constant.datatype!","word!"], + ["text"," "], + ["paren.parens-start","("], + ["keyword.action","append"], + ["text"," "], + ["variable.word","locs"], + ["text"," "], + ["variable.word","loc"], + ["paren.parens-end",")"], + ["text"," "], + ["variable.word","opt"], + ["text"," "], + ["constant.datatype!","string!"], + ["paren.block-end","]"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t"], + ["variable.word","opt"], + ["text"," "], + ["paren.block-start","["], + ["constant.datatype!","set-word!"], + ["text"," "], + ["keyword.native","set"], + ["text"," "], + ["variable.word","ret"], + ["text"," "], + ["constant.datatype!","block!"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t"], + ["paren.block-end","]]"] +],[ + "start", + ["text","\t\t"] +],[ + "start", + ["text","\t\t"], + ["paren.parens-start","("] +],[ + "start", + ["text","\t\t"], + ["variable.set-word","out:"], + ["text"," "], + ["keyword.control","case"], + ["text"," "], + ["paren.block-start","["] +],[ + "start", + ["text","\t\t\t"], + ["keyword.view.option","name"], + ["text","\t\t"], + ["paren.block-start","["], + ["keyword.function","to-word"], + ["text"," "], + ["variable.word","fn"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","intro"], + ["text"," \t\t"], + ["paren.block-start","["], + ["variable.word","intr"], + ["paren.block-end","]"], + ["text"," "] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","args"], + ["text","\t\t"], + ["paren.block-start","["], + ["variable.word","ars"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","arg-num"], + ["text","\t\t"], + ["paren.block-start","["], + ["keyword.action","length?"], + ["text"," "], + ["variable.word","ars"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","arg-names"], + ["text"," \t"], + ["paren.block-start","["], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","keys-of"], + ["text"," "], + ["variable.word","ars"], + ["paren.block-end","]"], + ["text"," "] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","arg-types"], + ["text","\t"], + ["paren.block-start","["], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","values-of"], + ["text"," "], + ["variable.word","ars"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","refinements"], + ["text"," "], + ["paren.block-start","["], + ["variable.word","refs"], + ["paren.block-end","]"], + ["text"," "] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","ref-names"], + ["text","\t"], + ["paren.block-start","["], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","keys-of"], + ["text"," "], + ["variable.word","refs"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","ref-types"], + ["text","\t"], + ["paren.block-start","["], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","values-of"], + ["text"," "], + ["variable.word","refs"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","ref-num"], + ["text","\t\t"], + ["paren.block-start","["], + ["keyword.action","length?"], + ["text"," "], + ["variable.word","refs"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","locals"], + ["text"," \t\t"], + ["paren.block-start","["], + ["variable.word","locs"], + ["paren.block-end","]"], + ["text"," "] +],[ + "start", + ["text","\t\t\t"], + ["keyword.control","return"], + ["text"," \t\t"], + ["paren.block-start","["], + ["variable.word","ret"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["variable.word","spec"], + ["text","\t\t"], + ["paren.block-start","["], + ["variable.word","specs"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["constant.language","true"], + ["text"," \t\t"], + ["paren.block-start","["] +],[ + "start", + ["text","\t\t\t\t"], + ["keyword.action","make"], + ["text"," "], + ["constant.datatype!","object!"], + ["text"," "], + ["paren.block-start","["] +],[ + "start", + ["text","\t\t\t\t\t"], + ["keyword.view.option","name"], + ["text",": \t\t"], + ["keyword.function","to-word"], + ["text"," "], + ["variable.word","fn"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","intro:"], + ["text"," \t\t"], + ["variable.word","intr"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","args:"], + ["text"," \t\t"], + ["variable.word","ars"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","refinements:"], + ["text"," "], + ["variable.word","refs"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","locals:"], + ["text"," \t"], + ["variable.word","locs"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["keyword.control","return"], + ["text",": \t"], + ["variable.word","ret"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","spec:"], + ["text"," \t\t"], + ["variable.word","specs"], + ["text"," "] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","type:"], + ["text"," \t\t"], + ["keyword.native","type?"], + ["text"," "], + ["keyword.native","get"], + ["text"," "], + ["variable.word","fn"] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","arg-num:"], + ["text"," \t"], + ["keyword.action","length?"], + ["text"," "], + ["variable.word","args"] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","arg-names:"], + ["text"," \t"], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","keys-of"], + ["text"," "], + ["variable.word","args"] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","arg-types:"], + ["text"," \t"], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","values-of"], + ["text"," "], + ["variable.word","args"] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","ref-names:"], + ["text"," \t"], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","keys-of"], + ["text"," "], + ["variable.word","refinements"] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","ref-types:"], + ["text"," \t"], + ["keyword.action","copy"], + ["text"," "], + ["keyword.function","values-of"], + ["text"," "], + ["variable.word","refinements"] +],[ + "start", + ["text","\t\t\t\t\t"], + ["variable.set-word","ref-num:"], + ["text","\t"], + ["keyword.action","length?"], + ["text"," "], + ["variable.word","refinements"] +],[ + "start", + ["text","\t\t\t\t"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t\t"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t\t"], + ["paren.block-end","]"], + ["paren.parens-end",")"] +],[ + "start", + ["text","\t"], + ["paren.block-end","]"] +],[ + "start", + ["text","\t"], + ["variable.word","out"] +],[ + "start", + ["paren.block-end","]"] +],[ + "start" +]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_ruby_slim.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_ruby_slim.json deleted file mode 100644 index a1fee560..00000000 --- a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_ruby_slim.json +++ /dev/null @@ -1,181 +0,0 @@ -[[ - "start", - ["entity.name.tag.slim","doctype"], - ["text"," html"] -],[ - "start", - ["entity.name.tag.slim","html"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","head"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","title"], - ["text"," Slim Examples"] -],[ - "entity.other.attribute-name.event.slim", - ["meta.tag"," "], - ["entity.name.tag.slim","meta"], - ["text"," "], - ["entity.other.attribute-name.event.slim","name"], - ["text","="], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","keywords"], - ["punctuation.definition.string.end.html","\""], - ["text"," "], - ["entity.other.attribute-name.event.slim","content"], - ["text","="], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","template language"], - ["punctuation.definition.string.end.html","\""] -],[ - ["entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim"], - ["text"," meta "], - ["entity.other.attribute-name.event.slim","name"], - ["text","="], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","author"], - ["punctuation.definition.string.end.html","\""], - ["text"," "], - ["entity.other.attribute-name.event.slim","content"], - ["text","="], - ["text","author"] -],[ - ["entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim"], - ["text"," link "], - ["entity.other.attribute-name.event.slim","rel"], - ["text","="], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","icon"], - ["punctuation.definition.string.end.html","\""], - ["text"," "], - ["entity.other.attribute-name.event.slim","type"], - ["text","="], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","image/png"], - ["punctuation.definition.string.end.html","\""], - ["text"," "], - ["entity.other.attribute-name.event.slim","href"], - ["text","="], - ["text","file_path("], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","favicon.png"], - ["punctuation.definition.string.end.html","\""], - ["text",")"] -],[ - ["entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim"], - ["text"," javascript:"] -],[ - ["entity.other.attribute-name.event.slim","entity.other.attribute-name.event.slim"], - ["text"," alert("], - ["punctuation.definition.string.begin.html","'"], - ["string.quoted.single.html","Slim supports embedded javascript!"], - ["punctuation.definition.string.end.html","'"], - ["text",")"] -],[ - "entity.other.attribute-name.event.slim" -],[ - "start", - ["text"," body"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","h1"], - ["text"," Markup examples"] -],[ - "start" -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","#"], - ["entity.other.attribute-name.event.slim","content"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","p"], - ["text"," This example shows you how a basic Slim file looks."] -],[ - "start" -],[ - "start", - ["text"," "], - ["meta.line.ruby.slim","== yield"] -],[ - "start" -],[ - "start", - ["text"," "], - ["meta.line.ruby.slim","- if items.any?"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","table"], - ["punctuation.separator.key-value.html","#"], - ["entity.other.attribute-name.html","items"] -],[ - "start", - ["text"," "], - ["meta.line.ruby.slim","- for item in items"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","tr"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","td"], - ["punctuation.separator.key-value.html","."], - ["entity.other.attribute-name.html","name"], - ["text"," "], - ["meta.line.ruby.slim","= item.name"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","td"], - ["punctuation.separator.key-value.html","."], - ["entity.other.attribute-name.html","price"], - ["text"," "], - ["meta.line.ruby.slim","= item.price"] -],[ - "start", - ["text"," "], - ["meta.line.ruby.slim","- else"] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","p"], - ["text"," No items found. Please add some inventory."] -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","Thank"], - ["text"," you!"] -],[ - "start" -],[ - "start", - ["meta.tag"," "], - ["entity.name.tag.slim","div"], - ["text"," "], - ["entity.other.attribute-name.event.slim","id"], - ["text","="], - ["punctuation.definition.string.begin.html","\""], - ["string.quoted.double.html","footer"], - ["punctuation.definition.string.end.html","\""] -],[ - "start", - ["text"," "], - ["meta.line.ruby.slim","== render 'footer'"] -],[ - "start", - ["text"," | Copyright © "], - ["punctuation.section.embedded.ruby","#{"], - ["source.ruby.embedded.html","@year"], - ["punctuation.section.embedded.ruby","}"], - ["text"," "], - ["punctuation.section.embedded.ruby","#{"], - ["source.ruby.embedded.html","@author"], - ["punctuation.section.embedded.ruby","}"] -]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/_test/tokens_slim.json b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_slim.json new file mode 100644 index 00000000..951ec471 --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/_test/tokens_slim.json @@ -0,0 +1,160 @@ +[[ + "start", + ["keyword.html.tags.slim","doctype html"] +],[ + "start", + ["keyword.html.tags.slim","html"] +],[ + "start", + ["keyword.html.tags.slim"," head"] +],[ + "start", + ["keyword.html.tags.slim"," title"], + ["text"," Slim Examples"] +],[ + "start", + ["keyword.html.tags.slim"," meta"], + ["text"," name"], + ["keyword.operator.equals.slim","="], + ["string","\"keywords\""], + ["text"," content"], + ["keyword.operator.equals.slim","="], + ["string","\"template language\""] +],[ + "start", + ["keyword.html.tags.slim"," meta"], + ["text"," name"], + ["keyword.operator.equals.slim","="], + ["string","\"author\""], + ["text"," content"], + ["keyword.operator.equals.slim","="], + ["text","author"] +],[ + "start", + ["keyword.html.tags.slim"," link"], + ["text"," rel"], + ["keyword.operator.equals.slim","="], + ["string","\"icon\""], + ["text"," type"], + ["keyword.operator.equals.slim","="], + ["string","\"image/png\""], + ["text"," href"], + ["keyword.operator.equals.slim","="], + ["text","file_path"], + ["paren","("], + ["string","\"favicon.png\""], + ["paren",")"] +],[ + ["language-embed",[],[" ","javascript"],"start"], + ["keyword"," javascript:"] +],[ + ["language-embed","no_regex",[" ","javascript"],"start"], + ["text"," "], + ["text"," "], + ["support.function","alert"], + ["paren.lparen","("], + ["string","'Slim supports embedded javascript!'"], + ["paren.rparen",")"] +],[ + "start" +],[ + "start", + ["keyword.html.tags.slim"," body"] +],[ + "start", + ["keyword.html.tags.slim"," h1"], + ["text"," Markup examples"] +],[ + "start" +],[ + "start", + ["keyword.slim"," #content"] +],[ + "start", + ["keyword.html.tags.slim"," p"], + ["text"," This example shows you how a basic Slim file looks."] +],[ + "start" +],[ + "start", + ["keyword.control.slim"," =="], + ["text"," "], + ["list.ruby.operators.slim","yield"] +],[ + "start" +],[ + "start", + ["keyword.control.slim"," -"], + ["text"," "], + ["list.ruby.operators.slim","if"], + ["text"," items.any?"] +],[ + "start", + ["keyword.html.tags.slim"," table#items"] +],[ + "start", + ["keyword.control.slim"," -"], + ["text"," "], + ["list.ruby.operators.slim","for"], + ["text"," item "], + ["list.ruby.operators.slim","in"], + ["text"," items"] +],[ + "start", + ["keyword.html.tags.slim"," tr"] +],[ + "start", + ["keyword.html.tags.slim"," td.name"], + ["text"," "], + ["keyword.operator.equals.slim","="], + ["text"," item.name"] +],[ + "start", + ["keyword.html.tags.slim"," td.price"], + ["text"," "], + ["keyword.operator.equals.slim","="], + ["text"," item.price"] +],[ + "start", + ["keyword.control.slim"," -"], + ["text"," "], + ["list.ruby.operators.slim","else"] +],[ + "start", + ["keyword.html.tags.slim"," p"], + ["text"," No items found. Please add some inventory."] +],[ + "start", + ["text"," Thank you!"] +],[ + "start" +],[ + "start", + ["keyword.html.tags.slim"," div"], + ["text"," id"], + ["keyword.operator.equals.slim","="], + ["string","\"footer\""] +],[ + "start", + ["keyword.control.slim"," =="], + ["text"," render "], + ["string","'footer'"] +],[ + ["mlString",6], + ["string"," | Copyright © #{@year} #{@author}"] +],[ + ["mlString",6], + ["indent"," "], + ["string","indenting test"] +],[ + "start" +],[ + "start", + ["keyword.control.slim"," -"], + ["text"," "], + ["class.variable.slim","@page_current"], + ["text"," "], + ["keyword.operator.ruby.embedded.slim","="], + ["text"," "], + ["list.meta.slim","true"] +]] \ No newline at end of file diff --git a/plugins/node_modules/ace/lib/ace/mode/fsharp.js b/plugins/node_modules/ace/lib/ace/mode/fsharp.js new file mode 100644 index 00000000..6fba9e55 --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/fsharp.js @@ -0,0 +1,55 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2012, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + +define(function (require, exports, module) { + "use strict"; + + var oop = require("../lib/oop"); + var TextMode = require("./text").Mode; + var FSharpHighlightRules = require("./fsharp_highlight_rules").FSharpHighlightRules; + + var Mode = function () { + TextMode.call(this); + this.HighlightRules = FSharpHighlightRules; + }; + + oop.inherits(Mode, TextMode); + + + (function () { + this.lineCommentStart = "//"; + this.blockComment = {start: "(*", end: "*)"}; + + + this.$id = "ace/mode/fsharp"; + }).call(Mode.prototype); + + exports.Mode = Mode; +}); diff --git a/plugins/node_modules/ace/lib/ace/mode/fsharp_highlight_rules.js b/plugins/node_modules/ace/lib/ace/mode/fsharp_highlight_rules.js new file mode 100644 index 00000000..9291d93a --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/fsharp_highlight_rules.js @@ -0,0 +1,168 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2012, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + +define(function (require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; +var FSharpHighlightRules = function () { + + var keywordMapper = this.createKeywordMapper({ + "variable": "this", + "keyword": 'abstract|assert|base|begin|class|default|delegate|done|downcast|downto|elif\ +|else|exception|extern|false|finally|function|global|inherit|inline|interface|internal|lazy|match\ +|member|module|mutable|namespace|open|or|override|private|public|rec|return|return!|select|static\ +|struct|then|to|true|try|typeof|upcast|use|use!|val|void|when|while|with|yield|yield!|__SOURCE_DIRECTORY__\ +|as|asr|land|lor|lsl|lsr|lxor|mod|sig|atomic|break|checked|component|const|constraint|constructor|continue\ +|eager|event|external|fixed|functor|include|method|mixin|object|parallel|process|protected|pure|sealed|tailcall\ +|trait|virtual|volatile|and|do|end|for|fun|if|in|let|let!|new|not|null|of|endif', + "constant": "true|false" + }, "identifier"); + + var floatNumber = "(?:(?:(?:(?:(?:(?:\\d+)?(?:\\.\\d+))|(?:(?:\\d+)\\.))|(?:\\d+))(?:[eE][+-]?\\d+))|(?:(?:(?:\\d+)?(?:\\.\\d+))|(?:(?:\\d+)\\.)))"; + + this.$rules = { + "start": [ + { + token: "variable.classes", + regex: '\\[\\<[.]*\\>\\]' + }, + { + token: "comment", + regex: '//.*$' + }, + { + token: "comment.start", + regex: /\(\*/, + push: "blockComment" + }, + { + token: "string", + regex: "'.'" + }, + { + token: "string", + regex: '"""', + next : [{ + token : "constant.language.escape", + regex : /\\./, + next : "qqstring" + }, { + token : "string", + regex : '"""', + next : "start" + }, { + defaultToken: "string" + }] + }, + { + token: "string", + regex: '"', + next : [{ + token : "constant.language.escape", + regex : /\\./, + next : "qqstring" + }, { + token : "string", + regex : '"', + next : "start" + }, { + defaultToken: "string" + }] + }, + { + token: ["verbatim.string", "string"], + regex: '(@?)(")', + stateName : "qqstring", + next : [{ + token : "constant.language.escape", + regex : '""' + }, { + token : "string", + regex : '"', + next : "start" + }, { + defaultToken: "string" + }] + }, + { + token: "constant.float", + regex: "(?:" + floatNumber + "|\\d+)[jJ]\\b" + }, + { + token: "constant.float", + regex: floatNumber + }, + { + token: "constant.integer", + regex: "(?:(?:(?:[1-9]\\d*)|(?:0))|(?:0[oO]?[0-7]+)|(?:0[xX][\\dA-Fa-f]+)|(?:0[bB][01]+))\\b" + }, + { + token: ["keyword.type", "variable"], + regex: "(type\\s)([a-zA-Z0-9_$\-]*\\b)" + }, + { + token: keywordMapper, + regex: "[a-zA-Z_$][a-zA-Z0-9_$]*\\b" + }, + { + token: "keyword.operator", + regex: "\\+\\.|\\-\\.|\\*\\.|\\/\\.|#|;;|\\+|\\-|\\*|\\*\\*\\/|\\/\\/|%|<<|>>|&|\\||\\^|~|<|>|<=|=>|==|!=|<>|<-|=" + }, + { + token: "paren.lpar", + regex: "[[({]" + }, + { + token: "paren.rpar", + regex: "[\\])}]" + } + ], + blockComment: [{ + regex: /\(\*/, + token: "comment.start", + push: "blockComment" + }, { + regex: /\*\)/, + token: "comment.end", + next: "pop" + }, { + defaultToken: "comment" + }] + }; + this.normalizeRules(); +}; + + +oop.inherits(FSharpHighlightRules, TextHighlightRules); + +exports.FSharpHighlightRules = FSharpHighlightRules; +}); diff --git a/plugins/node_modules/ace/lib/ace/mode/markdown.js b/plugins/node_modules/ace/lib/ace/mode/markdown.js index a6aaffa0..61a96f7e 100644 --- a/plugins/node_modules/ace/lib/ace/mode/markdown.js +++ b/plugins/node_modules/ace/lib/ace/mode/markdown.js @@ -43,9 +43,12 @@ var Mode = function() { this.HighlightRules = MarkdownHighlightRules; this.createModeDelegates({ - "js-": JavaScriptMode, - "xml-": XmlMode, - "html-": HtmlMode + javascript: require("./javascript").Mode, + html: require("./html").Mode, + bash: require("./sh").Mode, + sh: require("./sh").Mode, + xml: require("./xml").Mode, + css: require("./css").Mode }); this.foldingRules = new MarkdownFoldMode(); diff --git a/plugins/node_modules/ace/lib/ace/mode/markdown_highlight_rules.js b/plugins/node_modules/ace/lib/ace/mode/markdown_highlight_rules.js index bacf594a..8f4887f1 100644 --- a/plugins/node_modules/ace/lib/ace/mode/markdown_highlight_rules.js +++ b/plugins/node_modules/ace/lib/ace/mode/markdown_highlight_rules.js @@ -31,30 +31,62 @@ define(function(require, exports, module) { "use strict"; +var modes = require("../config").$modes; + var oop = require("../lib/oop"); var lang = require("../lib/lang"); var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; -var JavaScriptHighlightRules = require("./javascript_highlight_rules").JavaScriptHighlightRules; -var XmlHighlightRules = require("./xml_highlight_rules").XmlHighlightRules; var HtmlHighlightRules = require("./html_highlight_rules").HtmlHighlightRules; -var CssHighlightRules = require("./css_highlight_rules").CssHighlightRules; var escaped = function(ch) { return "(?:[^" + lang.escapeRegExp(ch) + "\\\\]|\\\\.)*"; }; -function github_embed(tag, prefix) { - return { // Github style block - token : "support.function", - regex : "^\\s*```" + tag + "\\s*$", - push : prefix + "start" - }; -} - var MarkdownHighlightRules = function() { HtmlHighlightRules.call(this); // regexp must not have capturing parentheses // regexps are ordered -> the first match is used + var codeBlockStartRule = { + token : "support.function", + regex : /^\s*(```+[^`]*|~~~+[^~]*)$/, + onMatch: function(value, state, stack, line) { + var m = value.match(/^(\s*)([`~]+)(.*)/); + var language = /[\w-]+|$/.exec(m[3])[0]; + // TODO lazy-load modes + if (!modes[language]) + language = ""; + stack.unshift("githubblock", [], [m[1], m[2], language], state); + return this.token; + }, + next : "githubblock" + }; + var codeBlockRules = [{ + token : "support.function", + regex : ".*", + onMatch: function(value, state, stack, line) { + var embedState = stack[1]; + var indent = stack[2][0]; + var endMarker = stack[2][1]; + var language = stack[2][2]; + + var m = /^(\s*)(`+|~+)\s*$/.exec(value); + if ( + m && m[1].length < indent.length + 3 + && m[2].length >= endMarker.length && m[2][0] == endMarker[0] + ) { + stack.splice(0, 3); + this.next = stack.shift(); + return this.token; + } + this.next = ""; + if (language && modes[language]) { + var data = modes[language].getTokenizer().getLineTokens(value, embedState.slice(0)); + stack[1] = data.state; + return data.tokens; + } + return this.token; + } + }]; this.$rules["start"].unshift({ token : "empty_line", @@ -73,15 +105,8 @@ var MarkdownHighlightRules = function() { regex : /^#{1,6}(?=\s|$)/, next : "header" }, - github_embed("(?:javascript|js)", "jscode-"), - github_embed("xml", "xmlcode-"), - github_embed("html", "htmlcode-"), - github_embed("css", "csscode-"), - { // Github style block - token : "support.function", - regex : "^\\s*```\\s*\\S*(?:{.*?\\})?\\s*$", - next : "githubblock" - }, { // block quote + codeBlockStartRule, + { // block quote token : "string.blockquote", regex : "^\\s*>\\s*(?:[*+-]|\\d+\\.)?\\s+", next : "blockquote" @@ -165,11 +190,9 @@ var MarkdownHighlightRules = function() { next : "listblock-start" }, { include : "basic", noEscape: true - }, { // Github style block - token : "support.function", - regex : "^\\s*```\\s*[a-zA-Z]*(?:{.*?\\})?\\s*$", - next : "githubblock" - }, { + }, + codeBlockStartRule, + { defaultToken : "list" //do not use markup.list to allow stling leading `*` differntly } ], @@ -187,39 +210,9 @@ var MarkdownHighlightRules = function() { defaultToken : "string.blockquote" } ], - "githubblock" : [ { - token : "support.function", - regex : "^\\s*```", - next : "start" - }, { - defaultToken : "support.function" - } ] + "githubblock" : codeBlockRules }); - this.embedRules(JavaScriptHighlightRules, "jscode-", [{ - token : "support.function", - regex : "^\\s*```", - next : "pop" - }]); - - this.embedRules(HtmlHighlightRules, "htmlcode-", [{ - token : "support.function", - regex : "^\\s*```", - next : "pop" - }]); - - this.embedRules(CssHighlightRules, "csscode-", [{ - token : "support.function", - regex : "^\\s*```", - next : "pop" - }]); - - this.embedRules(XmlHighlightRules, "xmlcode-", [{ - token : "support.function", - regex : "^\\s*```", - next : "pop" - }]); - this.normalizeRules(); }; oop.inherits(MarkdownHighlightRules, TextHighlightRules); diff --git a/plugins/node_modules/ace/lib/ace/mode/php_laravel_blade.js b/plugins/node_modules/ace/lib/ace/mode/php_laravel_blade.js new file mode 100644 index 00000000..f32f650d --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/php_laravel_blade.js @@ -0,0 +1,60 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2012, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + + +define(function(require, exports, module) { + "use strict"; + + var oop = require("../lib/oop"); + var PHPLaravelBladeHighlightRules = require("./php_laravel_blade_highlight_rules").PHPLaravelBladeHighlightRules; + var PHPMode = require("./php").Mode; + var JavaScriptMode = require("./javascript").Mode; + var CssMode = require("./css").Mode; + var HtmlMode = require("./html").Mode; + + var Mode = function() { + PHPMode.call(this); + + this.HighlightRules = PHPLaravelBladeHighlightRules; + this.createModeDelegates({ + "js-": JavaScriptMode, + "css-": CssMode, + "html-": HtmlMode + }); + }; + oop.inherits(Mode, PHPMode); + + (function() { + + this.$id = "ace/mode/php_laravel_blade"; + }).call(Mode.prototype); + + exports.Mode = Mode; +}); diff --git a/plugins/node_modules/ace/lib/ace/mode/php_laravel_blade_highlight_rules.js b/plugins/node_modules/ace/lib/ace/mode/php_laravel_blade_highlight_rules.js new file mode 100644 index 00000000..b5c6e63d --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/php_laravel_blade_highlight_rules.js @@ -0,0 +1,200 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2012, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var PhpHighlightRules = require("./php_highlight_rules").PhpHighlightRules; + +var PHPLaravelBladeHighlightRules = function() { + PhpHighlightRules.call(this); + + var bladeRules = { + start: [{ + include: "comments" + }, { + include: "directives" + }, { + include: "parenthesis" + }], + comments: [{ + token: "punctuation.definition.comment.blade", + regex: "(\\/\\/(.)*)|(\\#(.)*)", + next: "pop" + }, { + token: "punctuation.definition.comment.begin.php", + regex: "(?:\\/\\*)", + push: [{ + token: "punctuation.definition.comment.end.php", + regex: "(?:\\*\\/)", + next: "pop" + }, { + defaultToken: "comment.block.blade" + }] + }, { + token: "punctuation.definition.comment.begin.blade", + regex: "(?:\\{\\{\\-\\-)", + push: [{ + token: "punctuation.definition.comment.end.blade", + regex: "(?:\\-\\-\\}\\})", + next: "pop" + }, { + defaultToken: "comment.block.blade" + }] + }], + parenthesis: [{ + token: "parenthesis.begin.blade", + regex: "\\(", + push: [{ + token: "parenthesis.end.blade", + regex: "\\)", + next: "pop" + }, { + include: "strings" + }, { + include: "variables" + }, { + include: "lang" + }, { + include: "parenthesis" + }, { + defaultToken: "source.blade" + }] + }], + directives: [{ + token: ["directive.declaration.blade", "keyword.directives.blade"], + regex: "(@)(endunless|endisset|endempty|endauth|endguest|endcomponent|endslot|endalert|endverbatim|endsection|show|php|endphp|endpush|endprepend|endenv|endforelse|isset|empty|component|slot|alert|json|verbatim|section|auth|guest|hasSection|forelse|includeIf|includeWhen|includeFirst|each|push|stack|prepend|inject|env|elseenv|unless|yield|extends|parent|include|acfrepeater|block|can|cannot|choice|debug|elsecan|elsecannot|embed|hipchat|lang|layout|macro|macrodef|minify|partial|render|servers|set|slack|story|task|unset|wpposts|acfend|after|append|breakpoint|endafter|endcan|endcannot|endembed|endmacro|endmarkdown|endminify|endpartial|endsetup|endstory|endtask|endunless|markdown|overwrite|setup|stop|wpempty|wpend|wpquery)" + + }, { + token: ["directive.declaration.blade", "keyword.control.blade"], + regex: "(@)(if|else|elseif|endif|foreach|endforeach|switch|case|break|default|endswitch|for|endfor|while|endwhile|continue)" + }, { + token: ["directive.ignore.blade", "injections.begin.blade"], + regex: "(@?)(\\{\\{)", + push: [{ + token: "injections.end.blade", + regex: "\\}\\}", + next: "pop" + }, { + include: "strings" + }, { + include: "variables" + }, { + defaultToken: "source.blade" + }] + }, { + token: "injections.unescaped.begin.blade", + regex: "\\{\\!\\!", + push: [{ + token: "injections.unescaped.end.blade", + regex: "\\!\\!\\}", + next: "pop" + }, { + include: "strings" + }, { + include: "variables" + }, { + defaultToken: "source.blade" + }] + } + + ], + + lang: [{ + token: "keyword.operator.blade", + regex: "(?:!=|!|<=|>=|<|>|===|==|=|\\+\\+|\\;|\\,|%|&&|\\|\\|)|\\b(?:and|or|eq|neq|ne|gte|gt|ge|lte|lt|le|not|mod|as)\\b" + }, { + token: "constant.language.blade", + regex: "\\b(?:TRUE|FALSE|true|false)\\b" + }], + strings: [{ + token: "punctuation.definition.string.begin.blade", + regex: "\"", + push: [{ + token: "punctuation.definition.string.end.blade", + regex: "\"", + next: "pop" + }, { + token: "string.character.escape.blade", + regex: "\\\\." + }, { + defaultToken: "string.quoted.single.blade" + }] + }, { + token: "punctuation.definition.string.begin.blade", + regex: "'", + push: [{ + token: "punctuation.definition.string.end.blade", + regex: "'", + next: "pop" + }, { + token: "string.character.escape.blade", + regex: "\\\\." + }, { + defaultToken: "string.quoted.double.blade" + }] + }], + variables: [{ + token: "variable.blade", + regex: "\\$([a-zA-Z_][a-zA-Z0-9_]*)\\b" + }, { + token: ["keyword.operator.blade", "constant.other.property.blade"], + regex: "(->)([a-zA-Z_][a-zA-Z0-9_]*)\\b" + }, { + token: ["keyword.operator.blade", + "meta.function-call.object.blade", + "punctuation.definition.variable.blade", + "variable.blade", + "punctuation.definition.variable.blade" + ], + regex: "(->)([a-zA-Z_][a-zA-Z0-9_]*)(\\()(.*?)(\\))" + }] + }; + + var bladeStart = bladeRules.start; + + for (var rule in this.$rules) { + this.$rules[rule].unshift.apply(this.$rules[rule], bladeStart); + } + + Object.keys(bladeRules).forEach(function(x) { + if (!this.$rules[x]) + this.$rules[x] = bladeRules[x]; + }, this); + + this.normalizeRules(); +}; + + +oop.inherits(PHPLaravelBladeHighlightRules, PhpHighlightRules); + +exports.PHPLaravelBladeHighlightRules = PHPLaravelBladeHighlightRules; +}); diff --git a/plugins/node_modules/ace/lib/ace/mode/slim.js b/plugins/node_modules/ace/lib/ace/mode/slim.js new file mode 100644 index 00000000..67993140 --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/slim.js @@ -0,0 +1,61 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2012, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { +"use strict"; + +var oop = require("../lib/oop"); +var TextMode = require("./text").Mode; +var SlimHighlightRules = require("./slim_highlight_rules").SlimHighlightRules; + +var Mode = function() { + TextMode.call(this); + this.HighlightRules = SlimHighlightRules; + this.createModeDelegates({ + javascript: require("./javascript").Mode, + markdown: require("./markdown").Mode, + coffee: require("./coffee").Mode, + scss: require("./scss").Mode, + sass: require("./sass").Mode, + less: require("./less").Mode, + ruby: require("./ruby").Mode, + css: require("./css").Mode + }); +}; + +oop.inherits(Mode, TextMode); + +(function() { + + this.$id = "ace/mode/slim"; +}).call(Mode.prototype); + +exports.Mode = Mode; +}); diff --git a/plugins/node_modules/ace/lib/ace/mode/slim_highlight_rules.js b/plugins/node_modules/ace/lib/ace/mode/slim_highlight_rules.js new file mode 100644 index 00000000..89eafa02 --- /dev/null +++ b/plugins/node_modules/ace/lib/ace/mode/slim_highlight_rules.js @@ -0,0 +1,235 @@ +/* ***** BEGIN LICENSE BLOCK ***** + * Distributed under the BSD license: + * + * Copyright (c) 2012, Ajax.org B.V. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of Ajax.org B.V. nor the + * names of its contributors may be used to endorse or promote products + * derived from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL AJAX.ORG B.V. BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * ***** END LICENSE BLOCK ***** */ + +define(function(require, exports, module) { +"use strict"; + +var modes = require("../config").$modes; + +var oop = require("../lib/oop"); +var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; +var SlimHighlightRules = function() { + + this.$rules = { + "start": [ + { + token: "keyword", + regex: /^(\s*)(\w+):\s*/, + onMatch: function(value, state, stack, line) { + var indent = /^\s*/.exec(line)[0]; + var m = value.match(/^(\s*)(\w+):/); + var language = m[2]; + if (!/^(javascript|ruby|coffee|markdown|css|scss|sass|less)$/.test(language)) + language = ""; + stack.unshift("language-embed", [], [indent, language], state); + return this.token; + }, + stateName: "language-embed", + next: [{ + token: "string", + regex: /^(\s*)/, + onMatch: function(value, state, stack, line) { + var indent = stack[2][0]; + if (indent.length >= value.length) { + stack.splice(0, 3); + this.next = stack.shift(); + return this.token; + } + this.next = ""; + return [{type: "text", value: indent}]; + }, + next: "" + }, { + token: "string", + regex: /.+/, + onMatch: function(value, state, stack, line) { + var indent = stack[2][0]; + var language = stack[2][1]; + var embedState = stack[1]; + + if (modes[language]) { + var data = modes[language].getTokenizer().getLineTokens(line.slice(indent.length), embedState.slice(0)); + stack[1] = data.state; + return data.tokens; + } + return this.token; + } + }] + }, + { + token: 'constant.begin.javascript.filter.slim', + regex: '^(\\s*)():$' + }, { + token: 'constant.begin..filter.slim', + regex: '^(\\s*)(ruby):$' + }, { + token: 'constant.begin.coffeescript.filter.slim', + regex: '^(\\s*)():$' + }, { + token: 'constant.begin..filter.slim', + regex: '^(\\s*)(markdown):$' + }, { + token: 'constant.begin.css.filter.slim', + regex: '^(\\s*)():$' + }, { + token: 'constant.begin.scss.filter.slim', + regex: '^(\\s*)():$' + }, { + token: 'constant.begin..filter.slim', + regex: '^(\\s*)(sass):$' + }, { + token: 'constant.begin..filter.slim', + regex: '^(\\s*)(less):$' + }, { + token: 'constant.begin..filter.slim', + regex: '^(\\s*)(erb):$' + }, { + token: 'keyword.html.tags.slim', + regex: '^(\\s*)((:?\\*(\\w)+)|doctype html|abbr|acronym|address|applet|area|article|aside|audio|base|basefont|bdo|big|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|datalist|dd|del|details|dialog|dfn|dir|div|dl|dt|embed|fieldset|figure|font|footer|form|frame|frameset|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|img|input|ins|keygen|kbd|label|legend|link|li|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|source|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|xmp|b|u|s|em|a)(?:([.#](\\w|\\.)+)+\\s?)?\\b' + + }, { + token: 'keyword.slim', + regex: '^(\\s*)(?:([.#](\\w|\\.)+)+\\s?)' + }, { + token: "string", + regex: /^(\s*)('|\||\/|(\/!))\s*/, + onMatch: function(val, state, stack, line) { + var indent = /^\s*/.exec(line)[0]; + if (stack.length < 1) { + stack.push(this.next); + } + else { + stack[0] = "mlString"; + } + + if (stack.length < 2) { + stack.push(indent.length); + } + else { + stack[1] = indent.length; + } + return this.token; + }, + next: "mlString" + }, { + token: 'keyword.control.slim', + regex: '^(\\s*)(\\-|==|=)', + push: [{ + token: 'control.end.slim', + regex: '$', + next: "pop" + }, { + include: "rubyline" + }, { + include: "misc" + }] + + }, { + token: 'paren', + regex: '\\(', + push: [{ + token: 'paren', + regex: '\\)', + next: "pop" + }, { + include: "misc" + }] + + }, { + token: 'paren', + regex: '\\[', + push: [{ + token: 'paren', + regex: '\\]', + next: "pop" + }, { + include: "misc" + }] + }, { + include: "misc" + } + ], + "mlString": [{ + token: "indent", + regex: /^\s*/, + onMatch: function(val, state, stack) { + var curIndent = stack[1]; + + if (curIndent >= val.length) { + this.next = "start"; + stack.splice(0); + } + else { + this.next = "mlString"; + } + return this.token; + }, + next: "start" + }, { + defaultToken: "string" + }], + "rubyline": [{ + token: "keyword.operator.ruby.embedded.slim", + regex: "(==|=)(<>|><|<'|'<|<|>)?|-" + }, { + token: "list.ruby.operators.slim", + regex: "(\\b)(for|in|do|if|else|elsif|unless|while|yield|not|and|or)\\b" + }, { + token: "string", + regex: "['](.)*?[']" + }, { + token: "string", + regex: "[\"](.)*?[\"]" + }], + "misc": [{ + token: 'class.variable.slim', + regex: '\\@([a-zA-Z_][a-zA-Z0-9_]*)\\b' + }, { + token: "list.meta.slim", + regex: "(\\b)(true|false|nil)(\\b)" + }, { + token: 'keyword.operator.equals.slim', + regex: '=' + }, { + token: "string", + regex: "['](.)*?[']" + }, { + token: "string", + regex: "[\"](.)*?[\"]" + }] + }; + this.normalizeRules(); +}; + + +oop.inherits(SlimHighlightRules, TextHighlightRules); + +exports.SlimHighlightRules = SlimHighlightRules; +}); diff --git a/plugins/node_modules/ace/lib/ace/mode/text.js b/plugins/node_modules/ace/lib/ace/mode/text.js index ba86493b..ec9bdc61 100644 --- a/plugins/node_modules/ace/lib/ace/mode/text.js +++ b/plugins/node_modules/ace/lib/ace/mode/text.js @@ -30,6 +30,7 @@ define(function(require, exports, module) { "use strict"; +var config = require("../config"); var Tokenizer = require("../tokenizer").Tokenizer; var TextHighlightRules = require("./text_highlight_rules").TextHighlightRules; @@ -268,8 +269,15 @@ var Mode = function() { this.$modes = {}; for (var i in mapping) { if (mapping[i]) { + var Mode = mapping[i]; + var id = Mode.prototype.$id; + var mode = config.$modes[id]; + if (!mode) + config.$modes[id] = mode = new Mode(); + if (!config.$modes[i]) + config.$modes[i] = mode; this.$embeds.push(i); - this.$modes[i] = new mapping[i](); + this.$modes[i] = mode; } } @@ -289,8 +297,16 @@ var Mode = function() { this.$delegator = function(method, args, defaultHandler) { var state = args[0]; - if (typeof state != "string") + if (typeof state != "string") { + if (Array.isArray(state[2])) { + var language = state[2][state[2].length - 1]; + var mode = this.$modes[language]; + if (mode) + return mode[method].apply(mode, [state[1]].concat([].slice.call(args, 1))); + } state = state[0]; + } + for (var i = 0; i < this.$embeds.length; i++) { if (!this.$modes[this.$embeds[i]]) continue; diff --git a/plugins/node_modules/ace/lib/ace/snippets/php.snippets b/plugins/node_modules/ace/lib/ace/snippets/php.snippets index 8d11a281..12b6c358 100644 --- a/plugins/node_modules/ace/lib/ace/snippets/php.snippets +++ b/plugins/node_modules/ace/lib/ace/snippets/php.snippets @@ -1,14 +1,5 @@ -snippet -# this one is for php5.4 -snippet snippet ns namespace ${1:Foo\Bar\Baz}; ${2} @@ -39,7 +30,7 @@ snippet m ${7} } # setter method -snippet sm +snippet sm /** * Sets the value of ${1:foo} * @@ -92,7 +83,7 @@ snippet S $_SERVER['${1:variable}']${2} snippet SS $_SESSION['${1:variable}']${2} - + # the following are old ones snippet inc include '${1:file}';${2} @@ -193,7 +184,7 @@ snippet doc_h * @copyright ${4:$2}, `strftime('%d %B, %Y')` * @package ${5:default} */ - + # Interface snippet interface /** @@ -241,10 +232,6 @@ snippet if if (${1:/* condition */}) { ${2:// code...} } -snippet ifil - - ${2:} - snippet ife if (${1:/* condition */}) { ${2:// code...} @@ -252,13 +239,6 @@ snippet ife ${3:// code...} } ${4} -snippet ifeil - - ${2:} - - ${3:} - - ${4} snippet else else { ${1:// code...} @@ -289,18 +269,10 @@ snippet foreach foreach ($${1:variable} as $${2:value}) { ${3:// code...} } -snippet foreachil - - ${3:} - snippet foreachk foreach ($${1:variable} as $${2:key} => $${3:value}) { ${4:// code...} } -snippet foreachkil - $${3:value}): ?> - ${4:} - # $... = array (...) snippet array $${1:arrayName} = array('${2}' => ${3});${4} @@ -325,8 +297,8 @@ snippet vd snippet vdd var_dump(${1}); die(${2:}); snippet http_redirect - header ("HTTP/1.1 301 Moved Permanently"); - header ("Location: ".URL); + header ("HTTP/1.1 301 Moved Permanently"); + header ("Location: ".URL); exit(); # Getters & Setters snippet gs @@ -356,7 +328,7 @@ snippet gs snippet ags /** * ${1:description} - * + * * @${7} */ ${2:protected} $${3:foo}; @@ -375,3 +347,37 @@ snippet rett return true; snippet retf return false; +scope html +snippet +# this one is for php5.4 +snippet +snippet ifil + + ${2:} + +snippet ifeil + + ${2:} + + ${3:} + + ${4} +snippet foreachil + + ${3:} + +snippet foreachkil + $${3:value}): ?> + ${4:} + +scope html-tag +snippet ifil\n\ + ${2:code} +snippet ifeil\n\ + ${2:code}${3:code}${4} diff --git a/plugins/node_modules/ace/lib/ace/tokenizer.js b/plugins/node_modules/ace/lib/ace/tokenizer.js index 707ce44d..e984136a 100644 --- a/plugins/node_modules/ace/lib/ace/tokenizer.js +++ b/plugins/node_modules/ace/lib/ace/tokenizer.js @@ -176,7 +176,7 @@ var Tokenizer = function(rules) { this.removeCapturingGroups = function(src) { var r = src.replace( - /\[(?:\\.|[^\]])*?\]|\\.|\(\?[:=!]|(\()/g, + /\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!]|(\()/g, function(x, y) {return y ? "(?:" : x;} ); return r; diff --git a/plugins/node_modules/ace/lib/ace/virtual_renderer.js b/plugins/node_modules/ace/lib/ace/virtual_renderer.js index 0d3e2f3d..b989c0fb 100644 --- a/plugins/node_modules/ace/lib/ace/virtual_renderer.js +++ b/plugins/node_modules/ace/lib/ace/virtual_renderer.js @@ -418,6 +418,7 @@ var VirtualRenderer = function(container, theme) { dom.setStyle(this.scrollBarH.element.style, "left", gutterWidth + "px"); dom.setStyle(this.scroller.style, "left", gutterWidth + this.margin.left + "px"); size.scrollerWidth = Math.max(0, width - gutterWidth - this.scrollBarV.getWidth() - this.margin.h); + dom.setStyle(this.$gutter.style, "left", this.margin.left + "px"); var right = this.scrollBarV.getWidth() + "px"; dom.setStyle(this.scrollBarH.element.style, "right", right); @@ -848,7 +849,7 @@ var VirtualRenderer = function(container, theme) { if (changes & this.CHANGE_H_SCROLL) this.$updateScrollBarH(); - dom.translate(this.$gutter, this.margin.left, -config.offset); + // dom.translate(this.$gutter, this.margin.left, -config.offset); dom.translate(this.content, -this.scrollLeft, -config.offset); var width = config.width + 2 * this.$padding + "px"; diff --git a/plugins/node_modules/ace/static.js b/plugins/node_modules/ace/static.js index f3235649..96228b46 100755 --- a/plugins/node_modules/ace/static.js +++ b/plugins/node_modules/ace/static.js @@ -2,22 +2,42 @@ var http = require("http") , path = require("path") - , mime = require("mime") , url = require("url") , fs = require("fs") , port = process.env.PORT || 8888 , ip = process.env.IP || "0.0.0.0"; +function lookupMime(filename) { + var ext = /[^\/\\.]*$/.exec(filename)[0]; + return { + js: "application/javascript", + ico: "image/x-icon", + css: "text/css", + svg: "image/svg+xml", + png: "image/png", + jpg: "image/jpg", + html: "text/html", + jpeg: "image/jpeg" + }[ext]; +} + // compatibility with node 0.6 if (!fs.exists) fs.exists = path.exists; var allowSave = process.argv.indexOf("--allow-save") != -1; +if (allowSave) + console.warn("writing files from browser is enabled"); http.createServer(function(req, res) { - var uri = unescape(url.parse(req.url).pathname) - , filename = path.join(process.cwd(), uri); + var uri = unescape(url.parse(req.url).pathname); + var filename = path.join(process.cwd(), uri); + if (req.method == "OPTIONS") { + writeHead(res, 200); + return res.end(); + } + if (req.method == "PUT") { if (!allowSave) return error(res, 404, "Saving not allowed pass --allow-save to enable"); @@ -28,46 +48,71 @@ http.createServer(function(req, res) { if (!exists) return error(res, 404, "404 Not Found\n" + filename); - if (fs.statSync(filename).isDirectory()) { - var files = fs.readdirSync(filename); - res.writeHead(200, {"Content-Type": "text/html"}); - - files.push(".", ".."); - var html = files.map(function(name) { - var href = uri + "/" + name; - href = href.replace(/[\/\\]+/g, "/").replace(/\/$/g, ""); - try { - var stat = fs.statSync(filename + "/" + name); - if (stat.isDirectory()) - href += "/"; - return "" + name + "
"; - } catch(e) {} - }).filter(Boolean); - - res._hasBody && res.write(html.join("")); - res.end(); - return; - } + if (fs.statSync(filename).isDirectory()) + return serveDirectory(filename, uri, req, res); fs.readFile(filename, "binary", function(err, file) { if (err) { - res.writeHead(500, { "Content-Type": "text/plain" }); + writeHead(res, 500, "text/plain"); res.write(err + "\n"); res.end(); return; } - var contentType = mime.lookup(filename) || "text/plain"; - res.writeHead(200, { "Content-Type": contentType }); + var contentType = lookupMime(filename); + writeHead(res, 200, contentType); res.write(file, "binary"); res.end(); }); }); }).listen(port, ip); +function writeHead(res, code, contentType) { + var headers = { + "Access-Control-Allow-Origin": "file://", + "Access-Control-Allow-Methods": "PUT, GET, OPTIONS, HEAD" + }; + headers["Content-Type"] = contentType || "text/plain"; + res.writeHead(code, headers); +} + +function serveDirectory(filename, uri, req, res) { + var files = fs.readdirSync(filename); + writeHead(res, 200, "text/html"); + + files.push("..", "."); + var html = files.map(function(name) { + try { + var stat = fs.statSync(filename + "/" + name); + } catch(e) {} + var index = name == "." ? 2 : name == ".." ? 3 : stat.isDirectory() ? 1 : 0; + return { name: name, index: index, size: stat.size }; + }).filter(Boolean).sort(function(a, b) { + if (a.index == b.index) + return a.name.localeCompare(b.name); + return b.index - a.index; + }).map(function(stat) { + var name = stat.name; + if (stat.index) name += "/"; + var size = "" + if (!stat.size) size = "" + else if (stat.size < 1024) size = stat.size + "b"; + else if (stat.size < 1024 * 1024) size = (stat.size / 1024).toFixed(2) + "kb"; + else size = (stat.size / 1024 / 1024).toFixed(2) + "mb"; + return "" + + "  " + size + "  " + + "" + name + "" + + ""; + }).join(""); + html = "" + html + "
" + + res._hasBody && res.write(html); + res.end(); +} + function error(res, status, message, error) { console.error(error || message); - res.writeHead(status, { "Content-Type": "text/plain" }); + writeHead(res, status, "text/plain"); res.write(message); res.end(); } @@ -87,7 +132,7 @@ function save(req, res, filePath) { catch (e) { return error(res, 404, "Could't save file", e); } - res.statusCode = 200; + writeHead(res, 200); res.end("OK"); console.log("saved ", filePath); }); diff --git a/plugins/node_modules/ace/tool/tmlanguage.js b/plugins/node_modules/ace/tool/tmlanguage.js index b5d8b851..3f16f106 100644 --- a/plugins/node_modules/ace/tool/tmlanguage.js +++ b/plugins/node_modules/ace/tool/tmlanguage.js @@ -491,7 +491,7 @@ function transformRegExp(str, rule) { str = str.replace(/(\\[xu]){([a-fA-F\d]+)}/g, '$1$2'); - str = convertCharacterTypes(str, rule); + str = convertCharacterTypes(str); checkForNamedCaptures(str);