mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-24 10:27:10 +02:00
Added command auto complete
File based autocompletion is not yet implemented. This will require knowledge of the command, and it's parameters. The autocomplete feture is pretty powerful however, so this should not be very difficult to add.
This commit is contained in:
parent
0f343bccda
commit
cda623a95c
@ -206,7 +206,10 @@ class AppGui {
|
|||||||
};
|
};
|
||||||
consoleWidget.hide();
|
consoleWidget.hide();
|
||||||
|
|
||||||
const statusBar = new StatusBarWidget();
|
const statusBar = new StatusBarWidget();
|
||||||
|
this.app().commandNames().then((names)=>{
|
||||||
|
statusBar.setAutoComplete(names);
|
||||||
|
});
|
||||||
statusBar.hStretch = true;
|
statusBar.hStretch = true;
|
||||||
|
|
||||||
const noteLayout = new VLayoutWidget();
|
const noteLayout = new VLayoutWidget();
|
||||||
@ -826,4 +829,4 @@ class AppGui {
|
|||||||
AppGui.INPUT_MODE_NORMAL = 1;
|
AppGui.INPUT_MODE_NORMAL = 1;
|
||||||
AppGui.INPUT_MODE_META = 2;
|
AppGui.INPUT_MODE_META = 2;
|
||||||
|
|
||||||
module.exports = AppGui;
|
module.exports = AppGui;
|
||||||
|
@ -5,13 +5,14 @@ const stripAnsi = require('strip-ansi');
|
|||||||
|
|
||||||
class StatusBarWidget extends BaseWidget {
|
class StatusBarWidget extends BaseWidget {
|
||||||
|
|
||||||
constructor() {
|
constructor(autoComplete = null) {
|
||||||
super();
|
super();
|
||||||
|
|
||||||
this.promptState_ = null;
|
this.promptState_ = null;
|
||||||
this.inputEventEmitter_ = null;
|
this.inputEventEmitter_ = null;
|
||||||
this.history_ = [];
|
this.history_ = [];
|
||||||
this.items_ = [];
|
this.items_ = [];
|
||||||
|
this.autoComplete = autoComplete;
|
||||||
}
|
}
|
||||||
|
|
||||||
get name() {
|
get name() {
|
||||||
@ -22,7 +23,10 @@ class StatusBarWidget extends BaseWidget {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
setItemAt(index, text) {
|
setAutoComplete(auto) {
|
||||||
|
this.autoComplete = auto;
|
||||||
|
}
|
||||||
|
setItemAt(index, text) {
|
||||||
this.items_[index] = stripAnsi(text).trim();
|
this.items_[index] = stripAnsi(text).trim();
|
||||||
this.invalidate();
|
this.invalidate();
|
||||||
}
|
}
|
||||||
@ -108,6 +112,9 @@ class StatusBarWidget extends BaseWidget {
|
|||||||
cancelable: true,
|
cancelable: true,
|
||||||
history: this.history,
|
history: this.history,
|
||||||
default: this.promptState_.initialText,
|
default: this.promptState_.initialText,
|
||||||
|
autoComplete: this.autoComplete,
|
||||||
|
autoCompleteMenu: true,
|
||||||
|
autoCompleteHint : true,
|
||||||
};
|
};
|
||||||
|
|
||||||
if ('cursorPosition' in this.promptState_) options.cursorPosition = this.promptState_.cursorPosition;
|
if ('cursorPosition' in this.promptState_) options.cursorPosition = this.promptState_.cursorPosition;
|
||||||
@ -159,4 +166,4 @@ class StatusBarWidget extends BaseWidget {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = StatusBarWidget;
|
module.exports = StatusBarWidget;
|
||||||
|
Loading…
Reference in New Issue
Block a user