forked from mlndz28/time-tracker-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathautocomplete.js
More file actions
30 lines (22 loc) · 901 Bytes
/
Copy pathautocomplete.js
File metadata and controls
30 lines (22 loc) · 901 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import omelette from 'omelette'
import { configElements } from './core/constants'
const autocomplete = function(config){
let taskKeys = Object.keys(config.all.tasks)
const complete = omelette('timer <action> <tasks>')
complete.on("action",({ reply }) => {
reply(["start", "pause", "unpause", "finish", "description", "add", "subtract", "report", "log", "export", "delete", "configuration", "configure"]);
});
complete.on("tasks", ({ reply, before }) =>{
let keyTasks = ['start', 'pause', 'unpause', 'finish', 'log', 'description', 'add', 'remove']
if (keyTasks.indexOf(before) > -1){
reply(taskKeys)
} else if (before === 'configure' ){
reply(configElements)
}
})
complete.init()
if (~process.argv.indexOf('--setupCLI')) {
complete.setupShellInitFile()
}
}
export default autocomplete