notes
-----

- integration testing
  . get value of variable --evaluate --variable
  . --info that prints whole justfile
  . run app with command line options and test full output (stderr and stdout)
  . exercise all features and all command line options
  . underline problem token in error messages

- figure out argument passing:
  . flag:        j build --set a=hello
  . by export:   A=HELLO j build
  . by export 2: BUILD.A=HELLO j build
  . by name:     j build a=hello
  . by position: j build hello
  . with marker: j build hello : clean hello :
  . after --   : j build -- foo baz
  . fast errors when arguments are missing
  . could also allow this to override variables
    although maybe only after a '--': j build -- a=hello
  . sub arguments into recipes

- before release:

- rewrite grammar.txt
- make it clear it's beta, mention that, as a command runner
  there is probably a higher than normal chance of disaster
- change name back to 'just', suggest j as alias
- change description to "a polyglot command runner"?
- update readme
- document all code, including private stuff
  (can this be enforced with a lint?)
  #![deny(missing_docs)]
- note that shell is invoked with -cu, explain -c and -u
- document all features with example justfiles
  (also make them runnable as tests)
  . update tarball dep
  . check version string
  . clean
  . update logs (repetitive git flow)
- full documentation
  . talk about why the syntax is so unforgiving
    easier to accept a program that you once rejected than to
    no longer accept a program or change its meaning
  . habit of using clever commands and writing little scripts
  . very low friction to write a script (no new file, chmod, add to rcs)
  . make list of contributors, include travis
  . alias .j='just --justfile ~/.justfile --working-directory ~'
  . lay out the structure of the code, mention tests, give tips
    for contributing
- vim and emacs syntax hilighting (use makefile syntax hilighting for now)
- make sure there isn't any unused code
- ask users to contribute their justfiles as tests
- try to get some users
  . facebook friends
  . irc
  . r/rust

enhancements:

- save result of commands in variables
- multi line strings
- raw strings
- iteration: {{x for x in y}}
- allow calling recipes in a justfile in a different directory:
  . just ../foo  # ../justfile:foo
  . just xyz/foo # xyz/justfile:foo
  . just xyz/    # xyz/justfile:DEFAULT
- allow setting and exporting environment variables
- indentation or slash for line continuation
- figure out some way to allow changing directories in
  plain recipes