Commit Graph

119 Commits

Author SHA1 Message Date
Casey Rodarmor
6e3b43ac9e Overhaul README (#231)
- Switch to asciidoc, since it supports an auto-generated table of contents
- Re-organize into sections
- Document private recipes
- Document windows dependencies
- Document doc comments
2017-10-12 16:12:23 -07:00
Casey Rodarmor
5bed607fb2 Remove old recipes (#205) 2017-06-01 18:05:19 -07:00
Casey Rodarmor
5af2e4ae5e Build, test, and release on fewer os/arch combinations (#201)
Build, test, and release for:

- x86-64 MacOS
- x86-64 Linux
- x86-64 FreeBSD
- x86-64 Windows
2017-05-13 18:34:26 -04:00
Casey Rodarmor
62a0d7de05 Bump version: 0.2.31 -> 0.2.32 2017-05-13 00:14:20 -04:00
Casey Rodarmor
dca8cffde4 Update release recipe 2017-05-13 00:06:48 -04:00
Casey Rodarmor
1cb7be2351 Bump version: 0.2.27 -> 0.2.28 (#200) 2017-05-12 23:02:35 -04:00
Casey Rodarmor
98fe09f26b Fix lints and things that make clippy sad (#199) 2017-05-12 22:09:47 -04:00
Casey Rodarmor
d68f7867ca Set emacs and vim filetype in justfile for syntax highlighting (#163) 2017-03-12 19:17:52 -07:00
Casey Rodarmor
f47e69ceae mkdir -p tmp/... (#134)
This is needed in case we're on a branch which didn't have a ./tmp
2016-11-23 20:32:03 -08:00
Casey Rodarmor
efb4d5e908 Checkout master when building linux binaries (#133) 2016-11-23 20:28:40 -08:00
Casey Rodarmor
6b9922fc2c Build Linux binaries using Vagrant (#132)
Adds a Vagrantfile to provision a Debian VM, and recipes to build for
linux on the VM.
2016-11-23 20:20:32 -08:00
Casey Rodarmor
da8108f19d Add recipes to build binaries for release (#131) 2016-11-23 19:40:06 -08:00
Casey Rodarmor
0195a15e68 Add FLAGS to push recipe, get rid of push-f recipe (#130) 2016-11-18 07:14:48 -08:00
Casey Rodarmor
9ece0b9a6b Add comment to push-f recipe (#126) 2016-11-16 22:20:26 -08:00
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
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
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
10c377b88c Allow ' raw strings to contain literal newlines (#107)
Fixes #8
2016-11-13 14:04:20 -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
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
26910a9fdc Add install recipe (#90)
Force installs just from crates.io locally
2016-11-12 11:47:49 -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
22a97b3e86 Lint when publishing (#78) 2016-11-12 09:21:37 -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
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
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
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
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
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
ef39637c00 Add examples of comments to readme (#40)
Thanks @vitiral for suggesting this.
2016-11-11 13:04:47 -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
Casey Rodarmor
6861a346c3 Create a unique branch when bumping version (#20) 2016-11-05 01:51:56 -07:00
Casey Rodarmor
416f3b3d59 Add a 'filter' pattern to justfile (#15)
Useful for filtering tests
2016-11-04 23:56:15 -07:00
Casey Rodarmor
ac996f8940 Push code before publishing 2016-11-02 00:28:33 -07:00
Casey Rodarmor
f9abb72887 New publish recipe, bump version to 0.2.14 to test. 2016-11-02 00:19:07 -07:00
Casey Rodarmor
ca9a0b7bff Update readme. 2016-10-31 21:27:10 -07:00
Casey Rodarmor
9a368fb351 variable=value overrides done 2016-10-30 03:08:28 -07:00
Casey Rodarmor
70e9d4e653 Refactoring. Checkpoint commit. 2016-10-29 21:51:39 -07:00
Casey Rodarmor
ac5433248e Arguments working but still ugly 2016-10-29 00:14:41 -07:00
Casey Rodarmor
b956ce2397 Bump version in lock file. Make sure repo is clean before publishing 2016-10-28 20:48:53 -07:00
Casey Rodarmor
011876baff Bump version to 0.2.6, build before publishing 2016-10-28 20:45:05 -07:00
Casey Rodarmor
383754d2fb More tests 2016-10-28 19:38:32 -07:00
Casey Rodarmor
01df3d5e4a Add {:#} format printing to justfile for --show 2016-10-28 16:32:13 -07:00
Casey Rodarmor
a8a5c342e7 More integration tests 2016-10-28 15:59:50 -07:00
Casey Rodarmor
a1722fe241 Add integration tests 2016-10-28 15:25:59 -07:00
Casey Rodarmor
ec41eaf0e7 Bump version, use variable for quine text 2016-10-28 00:10:19 -07:00
Casey Rodarmor
4dd09a6e63 Add sloc recipe 2016-10-27 09:50:06 -07:00
Casey Rodarmor
ab2e19d409 Add comment to polyglot recipe in justfile 2016-10-23 21:25:23 -07:00
Casey Rodarmor
f74ece6629 Ran clippy and fixed issues. I <3 clippy! 2016-10-23 20:39:50 -07:00
Casey Rodarmor
90078b5956 Make sure version in app.rs and Cargo.toml match before publishing 2016-10-23 16:45:46 -07:00
Casey Rodarmor
3b92e00ee7 Comment out everything to rewrite parser 2016-10-22 19:36:54 -07:00
Casey Rodarmor
4c44096718 Giant fucking mess. 2016-10-16 18:59:49 -07:00
Casey Rodarmor
e5efa3f7d5 Make dependencies execute in order they appear
It doesn't seem particularly valuable for dependencies to execute in any
order, so make Recipe.dependencies a vec so they execute in order.
2016-10-09 00:30:33 -07:00
Casey Rodarmor
c476afb951 Add git push github master to publish recipe
So that github always reflect version in cargo.
2016-10-08 17:56:28 -07:00
Casey Rodarmor
c3bfb44917 Add publish recipe 2016-10-08 17:55:17 -07:00
Casey Rodarmor
fc351fccc8 Add polyglot recipes to justfile 2016-10-08 17:29:45 -07:00
Casey Rodarmor
c4f87b7e77 Remove list and args from justfile 2016-10-08 17:29:45 -07:00
Casey Rodarmor
c957165f4c Actually run recipes, add a bunch of tests 2016-10-08 17:29:45 -07:00
Casey Rodarmor
823b7a5181 Only test lib to avoid duplicate error messages 2016-10-06 16:27:44 -07:00
Casey Rodarmor
c0f58eefe8 Lots of work. 2016-10-03 23:55:55 -07:00
Casey Rodarmor
1a7a61acbc Update justfile, notes 2016-10-02 22:31:15 -07:00
Casey Rodarmor
2d8e3d9abe Basic parsing and circular dependency detection working 2016-09-30 23:48:23 -07:00
Casey Rodarmor
114f6b7bdc Working 2016-09-27 22:49:17 -07:00
Casey Rodarmor
a0d5b83a80 Initial commit. Broken. 2016-06-16 17:13:43 -07:00