contextMenu: Class.Memoize(function () {
["copy", "copylink", "selectall"].forEach(function (tail) {
// some host apps use "hostPrefixContext-copy" ids
- let xpath = "//xul:menuitem[contains(@id, '" + "ontext-" + tail + "') and not(starts-with(@id, 'dactyl-'))]";
- document.getElementById("dactyl-context-" + tail).style.listStyleImage =
- DOM(DOM.XPath(xpath, document).snapshotItem(0)).style.listStyleImage;
+ let css = "menuitem[id$='ontext-" + tail + "']:not([id^=dactyl-])";
+ let style = DOM(css, document).style;
+ DOM("#dactyl-context-" + tail, document).css({
+ listStyleImage: style.listStyleImage,
+ MozImageRegion: style.MozImageRegion
+ });
});
return document.getElementById("dactyl-contextmenu");
}),
data = message.message;
}
- if ((flags & this.ACTIVE_WINDOW) &&
- window != services.windowWatcher.activeWindow &&
- services.windowWatcher.activeWindow.dactyl)
+ if ((flags & this.ACTIVE_WINDOW) && window != overlay.activeWindow)
return;
if ((flags & this.DISALLOW_MULTILINE) && !this.widgets.mowContainer.collapsed)
complete: function complete(show, tabPressed) {
this.session.ignoredCount = 0;
+ this.waiting = null;
this.context.reset();
this.context.tabPressed = tabPressed;
this.wildIndex = this.wildtypes.length - 1;
if (idx && idx[1] >= idx[0].items.length) {
- this.waiting = idx;
- statusline.progress = _("completion.waitingForResults");
+ if (!idx[0].incomplete)
+ this.waiting = null;
+ else {
+ this.waiting = idx;
+ statusline.progress = _("completion.waitingForResults");
+ }
return;
}
});
modes.addMode("INPUT_MULTILINE", {
+ description: "Active when the command line's multiline input buffer is open",
bases: [modes.INSERT]
});
},
// Check if we've passed any incomplete contexts
let i = groups.indexOf(group);
+ util.assert(i >= 0, undefined, false);
for (; i < groups.length; i++) {
let end = groups[i].offsets.start + groups[i].itemCount;
if (start >= end && groups[i].context.incomplete)