Commit Graph

95 Commits

Author SHA1 Message Date
Casey Rodarmor
b2285ce0e0
Reform Parser (#509)
Just's first parser performed both parsing, i.e the transformation of a
token stream according to the language grammar, and a number of consistency
checks and analysis passes.

This made parsing and analysis quite complex, so this diff introduces a
new, much cleaner `Parser`, and moves existing analysis into a dedicated
`Analyzer`.
2019-11-07 10:55:15 -08:00
Casey Rodarmor
8e084a7042
Note need to publish with nightly cargo (#506)
Until github.com/rust-lang/cargo/pull/7333 makes it into stable rust,
we'll be forced to publish using nightly, due to our unpublished dev
dependency on `test-utilities`.
2019-10-31 20:10:18 -07:00
Casey Rodarmor
f3b8030070
Bump version: v0.4.4 -> v0.4.5 (#505) 2019-10-31 19:19:01 -07:00
Casey Rodarmor
5da0079ad9
Check minimal version compatibility before publishing (#487)
Checks that we build and pass tests with the minimal dependency versions
declared declared in Cargo.toml, as part of the `publish-check` recipe
run before publishing a new version of Just.
2019-10-08 22:17:22 -07:00
Casey Rodarmor
04a2b6461e
Generate man page with help2man (#463)
The generated man page doesn't look great by default, so this also adds the
help4help2man feature, which makes Just print a help message that produces
a better man page.
2019-07-18 21:58:06 -07:00
Casey Rodarmor
24311b7c0b
Pass all arguments to just watch (#441) 2019-05-15 17:30:47 -04:00
Casey Rodarmor
d9986a393c
Improve done recipe (#444)
The old version often failed due to rebase conflicts if the feature branch to delete had multiple commits and was squash-merged into master.

This version just checks that the up-to-date master branch matches the feature branch and uses -D to delete the feature branch. This guarantees that we don't lose any work, and avoids bad rebases from squash merges to master.
2019-05-15 16:07:41 -04:00
Casey Rodarmor
d46e6d86a6
Update justfile to use := instead of = (#432) 2019-05-07 20:15:22 -07:00
Casey Rodarmor
0ad5574ecc
Deprecate = in assignments, aliases, and exports in favor of := (#413) 2019-04-18 11:48:02 -07:00
Casey Rodarmor
85336f09b0
Bump version: v0.4.1 -> v0.4.2 (#407) 2019-04-15 23:39:18 -07:00
Casey Rodarmor
596ea34460
Replace regex-based lexer with character-at-a-time lexer (#406) 2019-04-15 22:40:02 -07:00
Casey Rodarmor
1d5fa6d29b
Clean up justfile and fix version extraction (#402) 2019-04-12 01:42:05 -07:00
Casey Rodarmor
3a287b864a
Housekeeping (#394)
- Upgrade to rust 2018
- Update dependencies
- Use BTree{Map,Set} instead of Map and Set
2019-04-11 15:23:14 -07:00
Casey Rodarmor
37639d68d7
Allow shebang lines so justfiles can be used as scripts (#393) 2019-04-08 14:28:17 -07:00
Casey Rodarmor
1ad3f99636
Add changelog for v0.3.13 (#372)
Also add check that current version appears in CHANGELOG in `publish` recipe, so hopefully I remember to update the CHANGELOG for the current release when bumping versions, not afterward :P
2018-11-06 01:00:34 -08:00
Geoff Shannon
6b0fc174d8 Fuzz test compiler (#362) 2018-10-13 19:12:35 +09:00
Casey Rodarmor
b14d1ec97c
Wait for child processes to finish (#345)
Thanks to @bheisler for the feature request and initial implementation.

Fixes #302
2018-08-27 16:03:52 -07:00
Joshua Warner
cf3fde442f Implement invocation_directory function (#312) 2018-06-19 13:13:21 -04:00
Casey Rodarmor
c0f8dfbc89
Remove unused recipes (#314) 2018-04-29 02:27:35 -04:00
Casey Rodarmor
b7a126742f
Use .adoc for asciidoctor files instead of .asc (#300) 2018-02-03 20:27:07 -08:00
Casey Rodarmor
26098ba609
Bump version: 0.3.4 -> 0.3.5 (#286) 2017-12-11 21:44:45 +01:00
Casey Rodarmor
88afe90630
Bump version: 0.3.3 -> 0.3.4 (#269) 2017-11-30 18:13:13 +01:00
Casey Rodarmor
def1bda9ff
Miscellaneous cleanup (#261) 2017-11-19 23:16:55 -08:00
Casey Rodarmor
13a124d659
Refactor some other stuff (#252) 2017-11-17 17:28:06 -08:00
Casey Rodarmor
2b6b715528
Refactor Everything (#250) 2017-11-16 23:30:08 -08:00
Casey Rodarmor
a4bf6c3a4e
Add rename recipe to justfile (#248) 2017-11-16 13:25:24 -08:00
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