mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-21 14:18:00 +01:00
Fix finder.
--HG-- branch : key-processing
This commit is contained in:
@@ -381,7 +381,6 @@ var CommandMode = Class("CommandMode", {
|
||||
}
|
||||
},
|
||||
|
||||
autocomplete: false,
|
||||
keepCommand: false,
|
||||
|
||||
onKeyPress: function onKeyPress(event) {
|
||||
@@ -392,9 +391,6 @@ var CommandMode = Class("CommandMode", {
|
||||
return true; /* Pass event */
|
||||
},
|
||||
|
||||
complete: function (context) {
|
||||
},
|
||||
|
||||
onCancel: function (value) {
|
||||
},
|
||||
|
||||
|
||||
@@ -818,7 +818,7 @@ memoize(Class.prototype, "closure", function () {
|
||||
iter(properties(this), properties(this, true)).forEach(function (k) {
|
||||
if (!this.__lookupGetter__(k) && callable(this[k]))
|
||||
closure[k] = closure(this[k]);
|
||||
else if (!(k in closure || k in Object.prototype))
|
||||
else if (!(k in closure))
|
||||
Object.defineProperty(closure, k, {
|
||||
get: function get_proxy() self[k],
|
||||
set: function set_proxy(val) self[k] = val,
|
||||
|
||||
@@ -22,19 +22,18 @@ var RangeFinder = Module("rangefinder", {
|
||||
|
||||
get commandline() this.modules.commandline,
|
||||
get modes() this.modules.modes,
|
||||
get options() this.modules.options(),
|
||||
get options() this.modules.options,
|
||||
|
||||
get rangeFind() modules.buffer.localStore.rangeFind,
|
||||
set rangeFind(val) modules.buffer.localStore.rangeFind = val
|
||||
}),
|
||||
|
||||
openPrompt: function (mode) {
|
||||
let backwards = mode == this.modes.FIND_BACKWARD;
|
||||
this.CommandMode(mode).open(backwards ? "?" : "/");
|
||||
this.CommandMode(mode).open();
|
||||
|
||||
if (this.rangeFind && this.rangeFind.window.get() === this.window)
|
||||
this.rangeFind.reset();
|
||||
this.find("", backwards);
|
||||
this.find("", mode === this.modes.FIND_BACKWARD);
|
||||
},
|
||||
|
||||
bootstrap: function (str, backward) {
|
||||
@@ -121,8 +120,12 @@ var RangeFinder = Module("rangefinder", {
|
||||
this.rangeFind.focus();
|
||||
},
|
||||
|
||||
// Called when the user types a key in the find dialog. Triggers a find attempt if 'incfind' is set
|
||||
onKeyPress: function (command) {
|
||||
onCancel: function () {
|
||||
if (this.rangeFind)
|
||||
this.rangeFind.cancel();
|
||||
},
|
||||
|
||||
onChange: function (command) {
|
||||
if (this.options["incfind"]) {
|
||||
command = this.bootstrap(command);
|
||||
this.rangeFind.find(command);
|
||||
@@ -140,13 +143,6 @@ var RangeFinder = Module("rangefinder", {
|
||||
this.rangeFind.focus();
|
||||
},
|
||||
|
||||
// Called when the find is canceled - for example if someone presses
|
||||
// escape while typing a find
|
||||
onCancel: function () {
|
||||
if (this.rangeFind)
|
||||
this.rangeFind.cancel();
|
||||
},
|
||||
|
||||
/**
|
||||
* Highlights all occurrences of the last sought for string in the
|
||||
* current buffer.
|
||||
@@ -165,12 +161,12 @@ var RangeFinder = Module("rangefinder", {
|
||||
}
|
||||
}, {
|
||||
}, {
|
||||
/* Must come before commandline. */
|
||||
modes: function (dactyl, modules, window) {
|
||||
const { modes } = modules;
|
||||
const { commandline, modes } = modules;
|
||||
modes.addMode("FIND", {
|
||||
extended: true,
|
||||
description: "Find mode, active when typing search input",
|
||||
bases: [modes.COMMAND_LINE],
|
||||
input: true
|
||||
});
|
||||
modes.addMode("FIND_FORWARD", {
|
||||
@@ -194,14 +190,19 @@ var RangeFinder = Module("rangefinder", {
|
||||
{ argCount: "0" });
|
||||
},
|
||||
commandline: function (dactyl, modules, window) {
|
||||
this.CommandMode = modules.CommandMode("CommandFindMode", {
|
||||
this.CommandMode = Class("CommandFindMode", modules.CommandMode, {
|
||||
init: function init(mode) {
|
||||
this.mode = mode;
|
||||
init.supercall(this);
|
||||
},
|
||||
|
||||
historyKey: "find",
|
||||
onCancel: rangefinder.closure.onCancel,
|
||||
onChange: rangefinder.closure.onKeyPress,
|
||||
onSubmit: rangefinder.closure.onSubmit
|
||||
|
||||
get prompt() this.mode === modules.modes.FIND_BACKWARD ? "?" : "/",
|
||||
|
||||
onCancel: this.closure.onCancel,
|
||||
onChange: this.closure.onChange,
|
||||
onSubmit: this.closure.onSubmit
|
||||
});
|
||||
},
|
||||
mappings: function (dactyl, modules, window) {
|
||||
|
||||
@@ -204,12 +204,14 @@ var Overlay = Module("Overlay", {
|
||||
modules.loaded = loaded;
|
||||
|
||||
function init(module) {
|
||||
let name = module.constructor.className;
|
||||
|
||||
function init(func, mod)
|
||||
function () defineModule.time(module.className || module.constructor.className, mod,
|
||||
func, module,
|
||||
func, modules[name],
|
||||
modules.dactyl, modules, window);
|
||||
|
||||
set.add(loaded, module.constructor.className);
|
||||
set.add(loaded, name);
|
||||
for (let [mod, func] in Iterator(module.INIT)) {
|
||||
if (mod in loaded)
|
||||
init(func, mod)();
|
||||
@@ -241,7 +243,7 @@ var Overlay = Module("Overlay", {
|
||||
|
||||
defineModule.loadLog.push("Load" + (isString(prereq) ? " " + prereq + " dependency: " : ": ") + module.className);
|
||||
if (frame && frame.filename)
|
||||
defineModule.loadLog.push(" from: " + frame.filename + ":" + frame.lineNumber);
|
||||
defineModule.loadLog.push(" from: " + frame.filename.replace(/.* -> /, "") + ":" + frame.lineNumber);
|
||||
|
||||
delete modules[module.className];
|
||||
modules[module.className] = defineModule.time(module.className, "init", module);
|
||||
|
||||
Reference in New Issue
Block a user