Commit graph

239 commits

Author SHA1 Message Date
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
Casey Rodarmor 510a269d00 Remove unnecessary lifetimes (#58)
Thanks clippy!
2016-11-11 19:12:44 -08:00
Casey Rodarmor b038490061 Add done recipe that cleans up a merged branch (#57)
Rebases BRANCH on github master and deletes if merged.
2016-11-11 18:52:27 -08:00
Casey Rodarmor 2882b78de5 Don't ignore --color=never (#56)
Fixes a bug where `--color=never` was ignored.
2016-11-11 18:46:04 -08:00
Casey Rodarmor ac7634000e Fix error messages with wide character
Input may contain tabs and other characters whose byte widths do not
correspond to their display widths. This causes error context
underlining to be off when lines contain those characters

Fixed by properly accounting for the display width of characters, as
well as replacing tabs with spaces when printing error messages.
2016-11-11 17:32:35 -08:00
Casey Rodarmor 4d20ffeac4 Use colors in output
This is a pretty gross commit, since it also includes a lot of
unrelated refactoring, especially of how error messages are printed.

Also adds a lint recipe that prints lines over 100 characters

To test, I added a `--color=[auto|always|never]` option that defaults to
auto in normal use, but can be forced to `always` for testing. In `auto`
mode it defers to `atty` to figure out if the current stream is a
terminal and uses color if so.

Color printing is controlled by the `alternate` formatting flag.

When printing an error message, using `{:#}` will print it with colors
and `{}` will print it normally.
2016-11-11 17:32:35 -08:00
Casey Rodarmor 6b888bbfe4 Fix off by one error in backtick error message (#52)
I was using the width of the index of the line, not the displayed line
number, which is the index + 1, which could cause the error message to
be misaligned.

Fixed it, and added a test that checks for this.
2016-11-11 17:15:16 -08:00
Casey Rodarmor 74fa6d4962 Include line in all error messages (#51)
I had previously not included the line for some error messages, but I
don't think that I had a good reason why, and they look pretty good,
so adding them back for consistency.
2016-11-11 17:09:51 -08:00
Casey Rodarmor 59136a1145 Add no-op recipe to justfile for testing (#50)
Useful for testing using `cargo run -- nop` to make sure that things aren't horribly broken.
2016-11-11 17:05:14 -08:00
Casey Rodarmor 2bc55ba815 Improve a few error messages (#47)
Surround variables with backticks, capitalize first letter of error
message, inflect properly depending on number of unknown overrides, and
improve wording.

Also added build dependency to `filter` recipe.
2016-11-11 14:33:17 -08:00
Casey Rodarmor e3aa13e5dd Add integration tests for arguments (#42)
There were unit tests, but it seems like a good idea to test this end to end.
2016-11-11 13:34:28 -08:00
Casey Rodarmor f071f75c67 Improve recipes with parameters section of readme (#41) 2016-11-11 13:31:26 -08:00
Casey Rodarmor ef39637c00 Add examples of comments to readme (#40)
Thanks @vitiral for suggesting this.
2016-11-11 13:04:47 -08:00
Jason Grlicky 1aebe92199 Fixed typo in Readme (#38)
`not.` -> `not`
2016-11-11 12:30:17 -08:00
Casey Rodarmor c775828d3c Use version from env! macro (#37)
This saves us from having to manually keep the version string in app.rs
up to date, so we can also drop that check from the publish recipe.

Fixes #36
2016-11-10 23:09:02 -08:00