just/notes

54 lines
1.8 KiB
Plaintext
Raw Normal View History

2016-09-29 21:45:53 -07:00
notes
-----
- look through all justfiles for features of make that I use. so far:
. phony
. SHELL := zsh
. quiet
. make variables
2016-10-02 22:31:15 -07:00
- ask travis for his justfiles
2016-10-03 23:55:55 -07:00
- comment code
2016-10-02 22:31:15 -07:00
command line arguments:
- --show recipe: print recipe information
2016-10-03 23:55:55 -07:00
- --list recipes if a bad recipe given
2016-10-02 22:31:15 -07:00
execution:
- indent for line continuation
- use sh -c to execute lines
polyglot:
- recipes can have shebangs
- extract and run script
- preserve line numbers
- whole file can have shebang
. allow launching binaries from cargo
. script until --
. all recipes are then in that language?
extras:
- args
2016-10-05 14:00:51 -07:00
- use launch recipes asyncronously
2016-10-02 22:31:15 -07:00
- ~/.justfile:
2016-09-29 21:45:53 -07:00
. is this for non-project specific commands, so that when you
type .j in any directory, it uses it as a justfile?
. or is it for commands which are useful across projects?
2016-10-02 22:31:15 -07:00
- super complex recipe lines:
a: b c # run b and c, then a
b | a: c # run c, then b, and pipe output of b into a
a >> a.log: # run a and append output to a.log
a B C: # a takes B and C as command line args, like j a HELLO BOB
# can enforce at command line
2016-09-29 21:45:53 -07:00
- what is the story for allowing justfiles in subdirectories?
use a different name, like 'subjustfile' or 'jfile'.
recurse up to the justfile, but add recipes in any jfile
that you find along the way. recipes in justfile are accessible,
and run from the justfile dir. recipes in jfile are run from jfile
dir. refuse to run if a recipe in justfile and jfile conflict
- rust is a given, so one option is to write a very simple shell
2016-10-02 22:31:15 -07:00
command parser and use that instead of the system shell. this
would make recipes work across systems with incompatible shells.
additionally, we could also define a mode where it will only call
commands from cargo, which would make recipes work across systems
with incompatible userlands 'rc' or 'cargo cult' is a great name