Commit Graph

804 Commits

Author SHA1 Message Date
Casey Rodarmor
3643a0dff0
Add Parser::forbid () 2020-10-25 23:57:08 -07:00
Casey Rodarmor
bdf1c92251
Automatically track expected tokens while parsing ()
Remove all manual tracking of which tokens would have been accepted by
the parser in favor of having the parser add tokens that it checks for
to a set of expected tokens, clearing them when it accepts a token, and
using the current contents of the set in error messages.

This is a massive improvement, and will make the parser easier to
modify going forward.

And, this actually solves my sole issue with hand-written parsers.

Thanks to matklad on reddit for suggesting this!
2020-10-25 19:37:26 -07:00
Casey Rodarmor
d7799ebec4
Document feature flags in Cargo.toml ()
Just doesn't have any features that are likely to be useful to end users,
but it's good to document them nonetheless.
2020-10-18 23:04:00 -07:00
Zhenhui Xie
0e1af65565
Allow completing variables and recipes after --set in zsh completion script () 2020-10-17 21:58:44 -07:00
Casey Rodarmor
b64718b295
Release v0.8.1 ()
- Bump version: 0.8.0 → 0.8.1
- Update dependencies
- Update changelog
- Update man page
- Update config test
2020-10-15 20:17:38 -07:00
Casey Rodarmor
a1dec5d667
Add FreeBSD port to readme () 2020-10-12 22:50:18 -07:00
Casey Rodarmor
d1efc18174
Allow choosing multiple recipes to run ()
Modifies the `--choose` subcommand to allow a chooser to return
space-separated recipe names recipes to run.
2020-10-10 17:54:58 -07:00
Casey Rodarmor
526badbd6f
Placate clippy () 2020-10-09 15:44:17 -07:00
Chris Nantau
fbda8dd2c7
Complete recipes names in PowerShell completion script () 2020-10-05 19:12:48 -07:00
Vikesh Raj
a8361012d6
Complete recipes in bash completion script ()
Modifies the bash completion script to complete both recipes and flags.
`just <TAB>` will complete recipes, and `just -<TAB>` will complete
flags and options.
2020-10-05 17:58:30 -07:00
Quentin Nerden
601cc69028
Fix readme documentation for ignoring errors ()
The example justfile omitted the `-`.
2020-10-04 13:28:47 -07:00
Casey Rodarmor
2909614f68
Fix build fix ()
Fix the conditional that gates installing GNU Tar. This should finally
fix the build errors we've been seeing.
2020-10-04 13:23:27 -07:00
Casey Rodarmor
935f1130ac
Release v0.8.0 ()
- Bump version: 0.7.3 → 0.8.0
- Update dependencies
- Update changelog
- Update man page
- Update config test
2020-10-03 14:32:53 -07:00
Casey Rodarmor
30fee97f73
Document how to ignore errors with - in readme () 2020-10-03 14:23:51 -07:00
Will Speak
9bd0720aa1
Allow suppressing failures with - prefix ()
If a command in a linewise recipe is prefixed with `-`, then the exit
status is ignored and execution continues.
2020-10-03 13:54:19 -07:00
Casey Rodarmor
db6a9197c6
Install BSD Tar on GitHub Actions to fix CI errors () 2020-10-03 13:47:10 -07:00
Matt Boulanger
991f42d4ac
Move separate quiet config value to verbosity ()
Moves the separate quiet variable in the `Config` struct into the existing
verbosity field; the `Verbosity` enum now has a `Quiet` variant. When running, the
presence of the quiet flag will set the verbosity to `Quiet`, overriding any
number of verbosity flags in the CLI args.
2020-10-01 20:00:15 -07:00
Casey Rodarmor
d3ec3e4ce8
Release v0.7.3 ()
- Bump version: 0.7.2 → 0.7.3
- Update changelog
- Update man page
- Update config test
2020-09-17 19:51:46 -07:00
Casey Rodarmor
9d0246998d
Add the --choose subcommand ()
The `--choose` subcommand runs a chooser to select a recipe to run. The
chooser should read lines containing recipe names from standard input,
and write one of those names to standard output.

The chooser defaults to `fzf`, a popular fuzzy finder, but can be
overridden by setting $JUST_CHOOSER or passing `--chooser <CHOOSER>`.
2020-09-17 19:43:04 -07:00
Casey Rodarmor
55985aa242
Combine integration tests into single binary ()
Combine all integration test binaries into a single binary with the root
in `tests/lib.rs`. This also turns of automatic test discovery, so
when adding another set of integration tests, a mod statement will need
to be added to `tests/lib.rs`.
2020-09-17 17:59:46 -07:00
Casey Rodarmor
c62ff5a3d0
Document --unsorted flag in readme () 2020-09-01 12:44:53 -07:00
Casey Rodarmor
551a22b5fc
Release v0.7.2 ()
- Bump version: 0.7.1 → 0.7.2
- Update dependencies
- Update changelog
- Update man page
- Update config test
2020-08-23 20:21:08 -07:00
Casey Rodarmor
9ecfd2bef4
Add option to print recipes in source order ()
Add an `--unsorted` flag, which makes `--list` and `--summary` print
their entries in source order.
2020-08-21 15:13:54 -07:00
Casey Rodarmor
75898e29b6
Mention Linux, MacOS and Windows support in readme () 2020-08-19 14:05:01 -07:00
Casey Rodarmor
5e2b51e83e
Add list highlighting nice features to readme ()
This was suggested by @zaiste, to make it clearer how Just differs from
Make, and what features it has.
2020-08-05 19:20:11 -07:00
Casey Rodarmor
981465ad30
Release v0.7.1 ()
- Bump version: 0.7.0 → 0.7.1
- Update changelog
- Update man page
- Update config test
2020-07-19 05:10:38 -07:00
Casey Rodarmor
05d73a423a
Search for .env file from working directory ()
Search for a `.env` file starting in the  working directory, instead of
the invocation directory.
2020-07-19 05:01:46 -07:00
Casey Rodarmor
8fad0626f8
Move link-time optimization config into Cargo.toml ()
Passing `-C lto` is more or less unsupported and may stop working, so do
this in Cargo.toml instead.
2020-07-17 12:14:02 -07:00
Casey Rodarmor
c1a0001939
Release v0.7.0 ()
- Bump version: 0.6.1 → 0.7.0
- Update dependencies
- Update changelog
- Update man page
- Update config test
2020-07-16 21:58:49 -07:00
Casey Rodarmor
837b6e6a00
Skip .env items which are set in environment ()
If an environment variable exists with the same key as a variable from a
`.env` file, skip the variable from the `.env` file in favor fo the key
from the environment.
2020-07-16 21:37:33 -07:00
Casey Rodarmor
cea4a16081
Mark tags that start with v as releases () 2020-07-01 23:42:39 -07:00
Casey Rodarmor
7384307fdc
Release v0.6.1 ()
- Bump version: 0.6.0 → 0.6.1
- Update dependencies
- Update changelog
- Update man page
- Update config test
2020-06-28 15:07:03 -07:00
Casey Rodarmor
5533073f56
Only use cygpath on shebang if it contains / ()
On Windows, skip conversion if a shebang path does not include `/`. In
this case it is not a Unix path, and does not need to be converted to a
Windows path before running.
2020-06-27 16:38:56 -07:00
Casey Rodarmor
863fb53885
Release v0.6.0 ()
- Bump version: 0.5.11 -> 0.6.0
- Update dependencies
- Update changelog
- Update man page
- Update config test
2020-06-18 11:50:47 -07:00
Richard Berry
7615fe13a5
Clarify variadic parameter default values ()
Clarify that both `+` and `*` variadics can take default values
in readme.
2020-06-13 13:56:28 -07:00
Richard Berry
1ff619295c
Add variadic parameters that accept zero or more arguments ()
Add "star" variadic parameters that accept zero or more arguments,
distinguished with a `*` in front of the parameter name.
2020-06-13 01:49:13 -07:00
David Arnold
63f51b5b48
Add keybase example justfile () 2020-06-09 23:05:35 -07:00
Casey Rodarmor
8e6177601c
Strip trailing whitespace in examples/pre-commit.just () 2020-06-09 23:00:53 -07:00
Casey Rodarmor
d7a51e72f5
Test that example justfiles successfully parse ()
Parse all entries in `examples` as justfiles, to make sure that example
justfiles parse successfully.
2020-06-09 22:57:16 -07:00
Casey Rodarmor
97aa9251ce
Link example justfiles in readme () 2020-06-09 22:08:16 -07:00
David Arnold
3ec04f385a
Add example justfile ()
Add a `examples` directory, for holding example justfiles, along
with an example justfile, `examples/pre-commit.just`, that shows
ideas for using just with `pre-commit`.
2020-06-09 21:47:42 -07:00
Richard Berry
89ee05227b
Ignore '@' returned from interpolation evaluation ()
Only process literal `@` characters outside of interpolation evaluation.
2020-06-09 15:16:05 -07:00
Casey Rodarmor
2a9c29c18f
Strip leading spaces after line continuation ()
Make line continuations strip leading spaces on the next line.

This changes what is passed to the shell, so this is a breaking change.
However, I don't think that this will break any recipes.
2020-06-08 22:37:12 -07:00
Casey Rodarmor
4fdb771731
Document how to run recipes after another recipe ()
Add a section to the readme documenting how to shell out to Just at the
end of a recipe, to simulate dependencies that run after a recipe,
instead of before.

This is certainly not as good as having an explicit syntax for this, but
it's a common question so it would be good to document the current best
workaround.
2020-05-26 15:17:10 -07:00
Casey Rodarmor
2e6e48d8f4
Release v0.5.11 ()
- Bump version: `0.5.10` -> `0.5.11`
- Update changelog
- Update dependencies
- Update man page
- Update config test
- Publish to cargo last in release recipe
2020-05-23 20:59:11 -07:00
Casey Rodarmor
d6a1a2b568
Don't load .env file when --no-dotenv is passed ()
Add a `--no-dotenv` flag that suppresses loading `.env` files.
2020-05-23 20:41:12 -07:00
Tobin Yehle
fef69a3ec1
Complete recipe names in fish completion script () 2020-05-03 20:35:53 -07:00
Matt Boulanger
dc7210bca3
Suggest aliases for unknown recipes () 2020-04-26 14:19:21 -07:00
Casey Rodarmor
875fb41e40
Make man page manual name title case () 2020-04-08 12:54:54 -07:00
Casey Rodarmor
d04942073a
Add Discord link to readme () 2020-04-03 03:40:55 -07:00