Documentation
notes
-----

- parse arguments on command line by name:
  . j build a=hello
  . by position: j build hello
  . with marker: j a 1 : hello 2 :
  . could also allow this to override variables
    although maybe only after a '--': j build -- a=hello
- parse lines into {{fragments}} and allow argument substitution
- change error messages to underline problem token
- try clippy
- use "kind" instead of class
- should i use // comments, since that's what's used in rust?
- 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

- create some kind of group feedback forum:
  . email list, reddit
- change name back to 'just'
  . suggest j as alias
- change description to "a polyglot command runner"?
- 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
  . 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
- vim and emacs syntax hilighting (use makefile syntax hilighting for now)
- split up code into modules for easier reading
  . parsing
  . tokenizing
  . executing
- make sure there isn't any unused code

- try to get some users
  . facebook friends
  . irc
  . r/rust

later:
- indentation is line continuation
- assignment
  . export environment variables
  . no barewords
- static errors when variables are missing {{}}, even if recipe isn't run
- preludes:
  may be nice to allow all recipes in a given langauge to share
  functions, variables, etc. could have a "prelude" recipe
  which was included as a prefix to other recipes
- windows support: currently calling 'sh', which won't work on windows
  the answer will probably be to write a 'sh' clone and to only
  call binaries from cargo
- allow specifying justfile on command line with --justfile/-j
  and dir with --directory/-d, so i can do:
  alias .j='just -j ~/.justfile -d ~'
- run recipes asyncronously