In the case of opening the notes but then backing out again without
actually writing a notes file we should also not annotate the task with
anything, since it technically still does not have a note.
Since the precedence now goes (from lowest to highest):
defaults -> conf_file -> env -> cli
existing EDITOR or VISUAL variables would overwrite those
explicitly set in the conf file. While we do want the general
precedence of env over conf file, this is a special case where
we get the value of the _DEFAULT_ variable from the env, and
only then start parsing our own options. So now, for these vars
we do:
default -> env (EDITOR/VISUAL) -> conf_file -> env (TOPEN_EDITOR) -> cli
In preparation for reading the config also from a taskrc file I want to
simplify the configuration management beforehand. There should be one
place where we grab it from the environment, one place to grab from CLI
and then one place from conf file. This helps with simplifying a little
by not again injecting defaults at the mid-point.
Ultimately, we should create one 'config' data structure, probably dict
or NameSpace which we pass around and each function receives it.