Casey Rodarmor
cef117f8bd
Report line number in recipe failure messages ( #125 )
...
The grammar now permits blank lines in recipes.
Note that inside of recipes, the token `NEWLINE` is used instead of the
non-terminal `eol`. This is because an `eol` optionally includes a
comment, whereas inside recipes bodies comments get no special
treatment.
2016-11-16 22:18:55 -08:00
Casey Rodarmor
07634d9390
Fix line numbers ( #124 )
...
Blank lines were being ignored by the parser, so lines would be reported
incorrectly in error messages from shebang recipes. Blank lines are now
included by the parser, so shebang recipes expand to have the non-blank
lines in the expected place in the file.
2016-11-16 21:37:43 -08:00
Casey Rodarmor
2f4bcc57bc
Add --verbose flag ( #123 )
...
Causes all recipe lines to be printed, regardless of --quiet or `@`.
Prints the name of each recipe before running it. Hopefully useful for
diagnosing problems.
2016-11-16 21:06:51 -08:00
Casey Rodarmor
133b4a2ada
Renames: Parser::file and just::parse ( #122 )
...
Parser::file -> Parser::justfile
just::parse -> just::compile
Also get rid of super::, super::std
2016-11-16 20:17:24 -08:00
Casey Rodarmor
e628378dbb
Avoid using panic! outside of tests ( #121 )
...
Don't panic.
2016-11-15 20:39:56 -08:00
Casey Rodarmor
d11e679e4b
Just is no longer a trival program ;_; ( #120 )
2016-11-15 19:29:41 -08:00
Casey Rodarmor
0ac2cdd124
Mention {{...}} substitution gotcha in readme ( #117 )
...
Fixes #116
2016-11-14 20:19:35 -08:00
Casey Rodarmor
91d1e59667
Fix override argument processing bug ( #115 )
...
An invocation like `just foo=bar` would lead to no recipe being run due
to the way that override arguments were being processed.
Fix that and add a test that covers that case.
2016-11-13 21:26:28 -08:00
Casey Rodarmor
aaee7341c4
Deny clippy lints by default ( #112 )
2016-11-13 15:03:33 -08:00
Casey Rodarmor
de4a299899
Make quine-text multiline string ( #111 )
2016-11-13 14:33:41 -08:00
Casey Rodarmor
1690da3e6b
Bump version to v0.2.22 ( #110 )
2016-11-13 14:28:27 -08:00
Casey Rodarmor
3d7888708c
Add multiline raw string example to readme ( #109 )
2016-11-13 14:21:34 -08:00
Casey Rodarmor
1e7a0fa63b
Fix readme typo ( #108 )
...
'rather not rust' -> 'rather not install rust'
2016-11-13 14:07:04 -08:00
Casey Rodarmor
10c377b88c
Allow '
raw strings to contain literal newlines ( #107 )
...
Fixes #8
2016-11-13 14:04:20 -08:00
Casey Rodarmor
9d9aaa91b1
Explicitly license as WTFPL or MIT or APACHE-2.0 ( #105 )
2016-11-13 00:45:32 -08:00
Casey Rodarmor
c8d8fad294
Update project justfile to take advantage of 0.2.21 ( #104 )
...
Fixed an error where certain patterns of recipe dependencies were causing a spurious circular dependency error, and added quiet recipes.
2016-11-13 00:08:14 -08:00
Casey Rodarmor
0b950db17d
Bump version to v0.2.21 ( #103 )
2016-11-13 00:04:27 -08:00
Casey Rodarmor
2b81dc2b76
Fix spurious circular dependency error ( #102 )
...
The resolver.seen() needs to be cleared between recipes.
Also add push recipe for creating branches on github without needing to
create one locally.
2016-11-13 00:01:42 -08:00
Casey Rodarmor
26bfef4a2f
Add doc comments to recipes ( #101 )
...
If a `#...` comment appears on the line immediately before a recipe, it
is considered to be a doc comment for that recipe.
Doc comments will be printed when recipes are `--list`ed or `--dump`ed.
Also adds some color to the `--list`ing.
Fixes #84
2016-11-12 23:31:19 -08:00
Casey Rodarmor
112462ec62
Toggle meaning of '@' on recipes prefixed with '@' ( #100 )
...
Fixes #65
2016-11-12 16:12:00 -08:00
Casey Rodarmor
babe97bf0d
Allow line continuations in plain recipes with '\' ( #99 )
...
Some ugly code, but not as bad as I thought.
Elected not to go with indentation based line continuations. Too many
weird edge cases and feels like a gratuitious incompatibility with make.
Fixes #9
2016-11-12 15:45:12 -08:00
Casey Rodarmor
5b2d671c1d
Get rid of mostly unused Justfile.recipes() ( #98 )
2016-11-12 14:43:47 -08:00
Casey Rodarmor
1856646a9c
Error -> CompileError ( #97 )
...
Fixes #43
2016-11-12 14:24:33 -08:00
Casey Rodarmor
caf2570bb2
Don't allow args with early exit options ( #96 )
...
Fixes #85
2016-11-12 14:04:46 -08:00
Casey Rodarmor
2f530adf48
Add -e/--edit option to open justfile in $EDITOR ( #95 )
2016-11-12 14:02:15 -08:00
Casey Rodarmor
0dcdc5dc81
Use clap::ArgGroup for early exit conflicts ( #94 )
2016-11-12 13:31:54 -08:00
Casey Rodarmor
7cfc37f647
Line up names in --evaluate ( #93 )
...
Fixes #66
2016-11-12 13:12:43 -08:00
Casey Rodarmor
edbd94d654
Test that overrides are not evaluated ( #92 )
2016-11-12 13:03:33 -08:00
Casey Rodarmor
3d8d901968
Suggest alternatives to uknown recipes ( #91 )
...
Kind of silly, but why not. Will only suggest an alternative if edit
distance is less than 3. This could probably increase if the names are
longer.
2016-11-12 12:36:12 -08:00
Casey Rodarmor
26910a9fdc
Add install
recipe ( #90 )
...
Force installs just from crates.io locally
2016-11-12 11:47:49 -08:00
Casey Rodarmor
1affac98a9
Bump version to 0.2.20 ( #89 )
2016-11-12 11:44:36 -08:00
Casey Rodarmor
6e8289c624
Make --list
print recipes with arguments ( #88 )
...
Added `--summary` which just prints recipe names, like `--list` previous
to this change.
Fixes #75
2016-11-12 11:40:52 -08:00
Casey Rodarmor
a44640b613
Add watch
and install-dev-deps
recipes ( #87 )
2016-11-12 10:28:47 -08:00
Casey Rodarmor
5a5209fb5c
Harmonize argument help text ( #86 )
...
Clap uses "Prints help information" for the help string, so change
verbs to match that.
2016-11-12 09:52:52 -08:00
Casey Rodarmor
981823cbab
Bump version to 0.2.19 ( #83 )
2016-11-12 09:35:35 -08:00
Casey Rodarmor
7e3859ef18
Fix needless borrow clippy lints ( #81 )
2016-11-12 09:33:38 -08:00
Casey Rodarmor
95edb8ac3c
Fix long lines ( #80 )
2016-11-12 09:28:30 -08:00
Casey Rodarmor
ff2ca9b30c
Improve missing parameter panic message ( #79 )
...
Returning an InternalError in a map() is hard, so just panic, but give a
decent error message.
2016-11-12 09:24:52 -08:00
Casey Rodarmor
22a97b3e86
Lint when publishing ( #78 )
2016-11-12 09:21:37 -08:00
Casey Rodarmor
886acf2f95
Let recipes take default arguments ( #77 )
...
Looks like this:
```make
recipe argument default-argument='default value':
echo argument is {{argument}}
echo default-argument is {{default-argument}}
```
Thanks @deckarep for the feature request!
Fixes #49
2016-11-12 09:15:13 -08:00
Casey Rodarmor
6c5f4eea62
Improve lint
recipe ( #76 )
...
Also check for FIXME or TODO in source
2016-11-12 07:56:13 -08:00
Casey Rodarmor
6adf2fda6c
Add BACKTICK
to expression in grammar ( #74 )
2016-11-11 23:11:10 -08:00
Casey Rodarmor
166c4bf48f
Rename grammar.md
to GRAMMAR.md
( #73 )
...
To match the `README.md` and `FAQ.md`
2016-11-11 23:09:40 -08:00
Casey Rodarmor
5663cb61a6
Use ...?
instead of try!(...)
( #72 )
...
See https://blog.rust-lang.org/2016/11/10/Rust-1.13.html for more info.
Huge diff, but all tests still pass, so yolo.
2016-11-11 21:37:16 -08:00
Casey Rodarmor
bd69f3298e
Link to justfiles here and in the wild ( #69 )
2016-11-11 20:54:50 -08:00
Casey Rodarmor
98990fe2ab
Use clap's conflicts_with
and requires
( #68 )
...
Seems better than writing it by hand.
2016-11-11 20:47:17 -08:00
Casey Rodarmor
0f9fb418a0
Add --dump option to print entire justfile ( #67 )
...
Already implemented Display for Justfile, so no reason not to expose it
to the user.
Also only allow one of --list, --dump, or --show, since they don't make
a lot of sense together.
2016-11-11 20:25:37 -08:00
Casey Rodarmor
d3c2d1acfa
Test before publishing ( #61 )
...
Add the `test` recipe as a dependency of the `publish` recipe
2016-11-11 19:44:25 -08:00
Casey Rodarmor
976c4fd979
Bump version to 0.2.18 ( #60 )
...
Skipped 0.2.17 (which was published but yanked) because publish recipe was wrong
2016-11-11 19:28:37 -08:00
Casey Rodarmor
716b4eba19
Fix publish recipe ( #59 )
...
Sed command didn't deal with variable amounts of whitespace.
2016-11-11 19:23:46 -08:00