mirror of
https://github.com/gryf/pentadactyl-pm.git
synced 2025-12-23 11:48:00 +01:00
Quick hack to show the longest-substring preview on the commandline.
This commit is contained in:
@@ -1183,7 +1183,6 @@ function Completion() //{{{
|
|||||||
|
|
||||||
// dynamically get completions as specified with the command's completer function
|
// dynamically get completions as specified with the command's completer function
|
||||||
let command = commands.get(cmd);
|
let command = commands.get(cmd);
|
||||||
let compObject = { start: 0, items: [] };
|
|
||||||
if (!command)
|
if (!command)
|
||||||
{
|
{
|
||||||
context.highlight(0, cmd.length, "SPELLCHECK");
|
context.highlight(0, cmd.length, "SPELLCHECK");
|
||||||
@@ -1204,7 +1203,7 @@ function Completion() //{{{
|
|||||||
cmdContext.advance(args.completeStart);
|
cmdContext.advance(args.completeStart);
|
||||||
cmdContext.quote = args.quote;
|
cmdContext.quote = args.quote;
|
||||||
cmdContext.filter = args.completeFilter;
|
cmdContext.filter = args.completeFilter;
|
||||||
compObject = command.completer.call(command, cmdContext, args);
|
let compObject = command.completer.call(command, cmdContext, args);
|
||||||
if (compObject instanceof Array) // for now at least, let completion functions return arrays instead of objects
|
if (compObject instanceof Array) // for now at least, let completion functions return arrays instead of objects
|
||||||
compObject = { start: compObject[0], items: compObject[1] };
|
compObject = { start: compObject[0], items: compObject[1] };
|
||||||
if (compObject != null)
|
if (compObject != null)
|
||||||
|
|||||||
@@ -792,7 +792,14 @@ function CommandLine() //{{{
|
|||||||
|
|
||||||
onEvent: function onEvent(event)
|
onEvent: function onEvent(event)
|
||||||
{
|
{
|
||||||
var command = this.getCommand();
|
let command = this.getCommand();
|
||||||
|
let editor = commandWidget.inputField.editor;
|
||||||
|
try
|
||||||
|
{
|
||||||
|
let node = editor.rootElement;
|
||||||
|
node.removeChild(node.firstChild.nextSibling);
|
||||||
|
}
|
||||||
|
catch (e) {}
|
||||||
|
|
||||||
if (event.type == "blur")
|
if (event.type == "blur")
|
||||||
{
|
{
|
||||||
@@ -818,6 +825,16 @@ function CommandLine() //{{{
|
|||||||
else if (event.type == "input")
|
else if (event.type == "input")
|
||||||
{
|
{
|
||||||
liberator.triggerCallback("change", currentExtendedMode, command);
|
liberator.triggerCallback("change", currentExtendedMode, command);
|
||||||
|
// Kludge. Major kludge.
|
||||||
|
let wildmode = options.get("wildmode");
|
||||||
|
let wildType = wildmode.values[Math.min(wildIndex, wildmode.values.length - 1)];
|
||||||
|
if (wildmode.checkHas(wildType, "longest"))
|
||||||
|
{
|
||||||
|
let start = commandWidget.selectionStart;
|
||||||
|
let substring = completionContext.longestAllSubstring.substr(start - completionContext.allItems.start);
|
||||||
|
editor.insertNode(util.xmlToDom(<span style="color: gray">{substring}</span>, document), editor.rootElement, 1);
|
||||||
|
commandWidget.selectionStart = commandWidget.selectionEnd = start;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (event.type == "keypress")
|
else if (event.type == "keypress")
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user