70 lines
2.5 KiB
Plaintext
70 lines
2.5 KiB
Plaintext
notes
|
|
-----
|
|
|
|
- assignment
|
|
. export environment variables
|
|
. no barewords
|
|
. 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
|
|
. except {{ and }} are special and an be escaped \{{hello}} = "{{hello}}"
|
|
. allow concatination: "hello, " + person + "!"
|
|
. resolve dependencies between variables
|
|
. static errors when variables are missing {{}}, even if recipe isn't run
|
|
- write some tests to test the binary itself and all command line flags
|
|
- parse arguments on command line:
|
|
. 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
|
|
- change error messages to underline problem token
|
|
- 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
|
|
- this is going to be hard. should a single recipe with a slash
|
|
require that all recipes have slashes?
|
|
or should non-slash recipes still run in this directory?
|
|
will need to change things a great deal
|
|
- indentation is line continuation
|
|
- add post requirements:
|
|
# do c then a then b
|
|
a: c b~
|
|
|
|
- change name back to 'just'
|
|
. suggest j as alias
|
|
- create some kind of group feedback forum:
|
|
. email list, reddit
|
|
- 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
|
|
. 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 ~'
|
|
- 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
|