Open aawadall opened 7 years ago
Do you want me to just come up with keywords or do you have words that you want associated with task operations? (parser add_arguments?)
We have already a json file under data named parser.json with keywords defined. We need to review such keywords and find a way to define syntax rather than hardcoding it directly in our source code
So we need to make the dictionary associate the keys with a variable which we can declare and then use variables to manipulate data. ex. verbs:{ add:'ADD'} rather then verbs:{add:'ADD'} where add= 'add' or whatever we might change it to? This would also make it possible to change values of key from default if someone wants to specify his own keys. ('is this what you mean?)
we need to define the following dictionaries:
primitives : contains a finite set of keywords, and are assigned numeric values
verbs: contains a set of commands, linked to keywords (primitives)
parameters: keywords used to complete a command, eg. create project, or create task, same verb, different parameters
decorators: (i couldn't come up with a better name), this helps us build complex commands like, add child task [task name] to task [task name]
the "to" helps us link two objects
and yes, defining verbs, parameters and decorators in a file, helps us change keywords, and hopefully allow for multi-language support
should we open a wiki page in this repo covering the syntax rules and another one for the json file?
Yes, it will make it easier to learn how to use the syntax
Done, your contribution is welcome
Parser Confg File Wiki Page CLI Sytnax Wiki Page
I am not sure what you mean by defining the dictionaries, aren't already defined in the json file?
yes, partially that was the first iteration of keywords and verbs if you can lend me a fresh eye, or maybe help document the rules, this might help us solidify syntax
What is the difference between add and create? And should planned be a "MEAN" or should it be an assigned value at beginning of task? Nvm, add would be for organisation, while create is initialization. I just pictured add doing creation. (add new task) might need clarification in wiki.
note that multiple verbs might end up with the same primitive, it is a way to make the CLI more user friendly so you can say add task or create task, you can say create project, or even create proj and the parser will figure it out
ok!
Did you want promote/demote to raise priority? (task priority lvl 1 ) or promote/demote to parent/child task
what I had in mind initially, is the promote demote of a task to be moving its rank, from being a dependent of it's prerequisite, to become a peer, then become a peer of it's prerequisite's prerequisite but that would work as well for priorities (not mentioned yet in keywords)
Define basic UI keywords to associate with basic task operations