mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-20 18:47:58 +01:00
Merge branch 'master' into xulmus
This commit is contained in:
@@ -1032,6 +1032,11 @@ function Buffer() //{{{
|
||||
elem.contentWindow.focus();
|
||||
return;
|
||||
}
|
||||
else if (elemTagName == "input" && elem.getAttribute('type').toLowerCase() == "file")
|
||||
{
|
||||
commandline.input("Upload file: ", function (file) elem.value = file, {completer: completion.file, default: elem.value});
|
||||
return;
|
||||
}
|
||||
|
||||
elem.focus();
|
||||
|
||||
@@ -1137,6 +1142,11 @@ function Buffer() //{{{
|
||||
offsetX = Number(coords[0]) + 1;
|
||||
offsetY = Number(coords[1]) + 1;
|
||||
}
|
||||
else if (localName == "input" && elem.getAttribute('type').toLowerCase() == "file")
|
||||
{
|
||||
commandline.input("Upload file: ", function (file) elem.value = file, {completer: completion.file, default: elem.value});
|
||||
return;
|
||||
}
|
||||
|
||||
let ctrlKey = false, shiftKey = false;
|
||||
switch (where)
|
||||
|
||||
@@ -1445,15 +1445,17 @@ function Completion() //{{{
|
||||
|
||||
colorScheme: function colorScheme(context)
|
||||
{
|
||||
// TODO: use path for the description?
|
||||
let colors = [];
|
||||
|
||||
io.getRuntimeDirectories("colors").forEach(function (dir) {
|
||||
context.fork(dir.path, 0, null, function (context) {
|
||||
context.filter = dir.path + io.pathSeparator + context.filter;
|
||||
completion.file(context);
|
||||
context.title = ["Color Scheme"];
|
||||
context.quote = ["", function (text) text.replace(/\.vimp$/, ""), ""];
|
||||
io.readDirectory(dir).forEach(function (file) {
|
||||
if (/\.vimp$/.test(file.leafName) && !colors.some(function (c) c.leafName == file.leafName))
|
||||
colors.push(file);
|
||||
});
|
||||
});
|
||||
|
||||
context.title = ["Color Scheme", "Runtime Path"];
|
||||
context.completions = [[c.leafName.replace(/\.vimp$/, ""), c.parent.path] for ([,c] in Iterator(colors))]
|
||||
},
|
||||
|
||||
command: function command(context)
|
||||
|
||||
@@ -1201,6 +1201,8 @@ function CommandLine() //{{{
|
||||
* for the user's input.
|
||||
* @... {string} promptHighlight - The HighlightGroup used for the
|
||||
* prompt. @default "Question"
|
||||
* @... {string} default - The initial value that will be returned
|
||||
* if the user presses <CR> straightaway. @default ""
|
||||
*/
|
||||
input: function _input(prompt, callback, extra)
|
||||
{
|
||||
@@ -1296,8 +1298,15 @@ function CommandLine() //{{{
|
||||
// user pressed ENTER to carry out a command
|
||||
// user pressing ESCAPE is handled in the global onEscape
|
||||
// FIXME: <Esc> should trigger "cancel" event
|
||||
// FIXME: This should not be waiting, some kind of callback mechanism on completion would be better.
|
||||
if (events.isAcceptKey(key))
|
||||
{
|
||||
while (completions.context.incomplete)
|
||||
{
|
||||
liberator.threadYield(true);
|
||||
command = this.command;
|
||||
}
|
||||
|
||||
let mode = currentExtendedMode; // save it here, as modes.pop() resets it
|
||||
keepCommand = true;
|
||||
currentExtendedMode = null; // Don't let modes.pop trigger "cancel"
|
||||
|
||||
Reference in New Issue
Block a user