just/notes

84 lines
3.0 KiB
Plaintext

notes
-----
- unit tests for as many error types as possible
- integration tests for as many error types as possible, errors should underline backtick token
- test shebang recipe `` evaluation order
make sure that nothing happens if a `` fails on a later line
- test command recipe `` evaluation order
do some stuff, then have a line with a `` that fails
make sure that stuff before that actually happened
make sure that result error code is correct
- --debug tests that:
- should consider renaming it to --evaluate if it actually evaluates stuff
- test values of assignments
- test values of interpolations
- test results of concatination
- test string escape parsing
- --debug mode will evaluate everything and print values after assignments and interpolation expressions
. should it evaluate `` in recipes?
- set variables from the command line:
. j --set build linux
. j build=linux
- before release:
- where can users get help?
- irc, email, github, mailing list
- rewrite grammar.txt
- start with an example justfile
- then installation instructions
- then a long guide
- 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, maybe, at least parse them)
. 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
. debugging with --debug or --evaluate
. `` strips a single newline
. 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:
- lazy assignment: don't evaluate unused assignments
- use cow strings where we currently use String
- colored error messages
- multi line strings (maybe not in recipe interpolations)
- raw strings with ''
- 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 in plain recipes