joplin/CliClient/app/autocomplete.js

39 lines
917 B
JavaScript
Raw Normal View History

2017-07-10 20:03:46 +00:00
import { app } from './app.js';
import { Folder } from 'lib/models/folder.js';
import { Note } from 'lib/models/note.js';
// For now, to go around this issue: https://github.com/dthree/vorpal/issues/114
function quotePromptArg(s) {
if (s.indexOf(' ') >= 0) {
return '"' + s + '"';
}
return s;
}
function autocompleteFolders() {
2017-07-15 15:35:40 +00:00
return Folder.all({ includeConflictFolder: true }).then((folders) => {
2017-07-10 20:03:46 +00:00
let output = [];
for (let i = 0; i < folders.length; i++) {
output.push(quotePromptArg(folders[i].title));
}
return output;
});
}
2017-07-17 18:46:09 +00:00
async function autocompleteItems() {
let items = [];
2017-07-10 20:03:46 +00:00
if (!app().currentFolder()) {
2017-07-17 18:46:09 +00:00
items = await Folder.all();
2017-07-10 20:03:46 +00:00
} else {
2017-07-17 18:46:09 +00:00
items = await Note.previews(app().currentFolder().id);
2017-07-10 20:03:46 +00:00
}
2017-07-17 18:46:09 +00:00
let output = [];
for (let i = 0; i < items.length; i++) {
output.push(quotePromptArg(items[i].title));
}
return output;
2017-07-10 20:03:46 +00:00
}
export { autocompleteFolders, autocompleteItems };