Buffer completion on Clean Architecture

This commit is contained in:
Shin'ya Ueoka 2018-07-21 10:35:27 +09:00
parent bf7c125fb2
commit 890d93fe77
3 changed files with 47 additions and 15 deletions

View file

@ -22,19 +22,39 @@ export default class CompletionsInteractor {
if (items.length === 0) {
return Promise.resolve(Completions.empty());
}
return Promise.resolve(new Completions(
[new CompletionGroup('Console Command', items)]
));
return Promise.resolve(
new Completions([new CompletionGroup('Console Command', items)])
);
}
async queryBdeleteCommand(name, force, args) {
let tabs = await this.completionRepository.queryTabs(args);
queryOpen() {
return Promise.resolve(Completions.empty());
}
queryBuffer(name, keywords) {
return this.queryTabs(name, true, keywords);
}
queryBdelete(name, keywords) {
return this.queryTabs(name, true, keywords);
}
queryBdeleteForce(name, keywords) {
return this.queryTabs(name, false, keywords);
}
querySet() {
return Promise.resolve(Completions.empty());
}
async queryTabs(name, excludePinned, args) {
let tabs = await this.completionRepository.queryTabs(args, excludePinned);
let items = tabs.map(tab => new CompletionItem({
caption: tab.title,
content: name + ' ' + tab.title,
url: tab.url,
icon: tab.favIconUrl
}));
return [new CompletionGroup('Buffers', items)];
return new Completions([new CompletionGroup('Buffers', items)]);
}
}