just/notes
Casey Rodarmor dd824ef364 Test that evaluated recipe lines are correct
Saves the value in each expression fragment when that fragment is
evaluated so that we can print the value in Display. This allows
us to check fragment values in tests.
2016-10-27 18:01:07 -07:00

81 lines
2.6 KiB
Plaintext

notes
-----
- properly handle state stack at EOF
- implement string parsing
. use the same rules as rust: https://doc.rust-lang.org/reference.html#string-literals
. \xHH, \u{HHHHHH}, \n, \r, \t, \0, \\, \{ no other escapes
. '' strings with no escapes
- integration testing
. run app with command line options and test output
. exercise all features and all command line options
. test that first recipe runs by default
- underline problem token in error messages
- add context to unexpected_token error
"while parsing a recipe"
"while parsing an expression"
- 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
- 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
- try to get some users
. facebook friends
. irc
. r/rust
enhancements:
- add post requirements:
# do c then a then b
a: c b~
- 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
. get all directories, if more than one, fork just for each
- allow setting and exporting environment variables
- indentation or slash for line continuation