87 lines
3.0 KiB
Plaintext
87 lines
3.0 KiB
Plaintext
notes
|
|
-----
|
|
|
|
- actually run backticks
|
|
. test all error types, errors should underline backtick token
|
|
. test success in assignment
|
|
. test success in recipe interpolations
|
|
|
|
- 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
|
|
. 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
|