App-Mxpress-PDF
view release on metacpan or search on metacpan
public/javascripts/ace/keybinding-vim.js view on Meta::CPAN
define("ace/keyboard/vim",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/dom","ace/lib/oop","ace/lib/keys","ace/lib/event","ace/search","ace/lib/useragent","ace/search_highlight","ace/commands/multi_select_commands","ace/m...
'use strict';
function log() {
var d = "";
function format(p) {
if (typeof p != "object")
return p + "";
if ("line" in p) {
return p.line + ":" + p.ch;
}
if ("anchor" in p) {
return format(p.anchor) + "->" + format(p.head);
}
if (Array.isArray(p))
return "[" + p.map(function(x) {
return format(x);
}) + "]";
return JSON.stringify(p);
}
for (var i = 0; i < arguments.length; i++) {
var p = arguments[i];
var f = format(p);
d += f + " ";
}
console.log(d);
}
var Range = require("../range").Range;
var EventEmitter = require("../lib/event_emitter").EventEmitter;
var dom = require("../lib/dom");
var oop = require("../lib/oop");
var KEYS = require("../lib/keys");
var event = require("../lib/event");
var Search = require("../search").Search;
var useragent = require("../lib/useragent");
var SearchHighlight = require("../search_highlight").SearchHighlight;
var multiSelectCommands = require("../commands/multi_select_commands");
var TextModeTokenRe = require("../mode/text").Mode.prototype.tokenRe;
require("../multi_select");
var CodeMirror = function(ace) {
this.ace = ace;
this.state = {};
this.marks = {};
this.$uid = 0;
this.onChange = this.onChange.bind(this);
this.onSelectionChange = this.onSelectionChange.bind(this);
this.onBeforeEndOperation = this.onBeforeEndOperation.bind(this);
this.ace.on('change', this.onChange);
this.ace.on('changeSelection', this.onSelectionChange);
this.ace.on('beforeEndOperation', this.onBeforeEndOperation);
};
CodeMirror.Pos = function(line, ch) {
if (!(this instanceof Pos)) return new Pos(line, ch);
this.line = line; this.ch = ch;
};
CodeMirror.defineOption = function(name, val, setter) {};
CodeMirror.commands = {
redo: function(cm) { cm.ace.redo(); },
undo: function(cm) { cm.ace.undo(); },
newlineAndIndent: function(cm) { cm.ace.insert("\n"); }
};
CodeMirror.keyMap = {};
CodeMirror.addClass = CodeMirror.rmClass = function() {};
CodeMirror.e_stop = CodeMirror.e_preventDefault = event.stopEvent;
CodeMirror.keyName = function(e) {
var key = (KEYS[e.keyCode] || e.key || "");
if (key.length == 1) key = key.toUpperCase();
key = event.getModifierString(e).replace(/(^|-)\w/g, function(m) {
return m.toUpperCase();
}) + key;
return key;
};
CodeMirror.keyMap['default'] = function(key) {
return function(cm) {
var cmd = cm.ace.commands.commandKeyBinding[key.toLowerCase()];
return cmd && cm.ace.execCommand(cmd) !== false;
};
};
CodeMirror.lookupKey = function lookupKey(key, map, handle) {
if (!map) map = "default";
if (typeof map == "string")
map = CodeMirror.keyMap[map];
var found = typeof map == "function" ? map(key) : map[key];
if (found === false) return "nothing";
if (found === "...") return "multi";
if (found != null && handle(found)) return "handled";
if (map.fallthrough) {
if (!Array.isArray(map.fallthrough))
return lookupKey(key, map.fallthrough, handle);
for (var i = 0; i < map.fallthrough.length; i++) {
var result = lookupKey(key, map.fallthrough[i], handle);
if (result) return result;
}
}
};
( run in 0.697 second using v1.01-cache-2.11-cpan-941387dca55 )