Commit Graph

602 Commits

Author SHA1 Message Date
Baden Ashford
bba673fd79
Add env() function (#1613) 2023-06-13 12:49:46 +00:00
Patrick Jackson
19c887fded
Add descriptions to fish recipe completions (#1578) 2023-06-12 17:12:17 +00:00
fzdwx
cdb0dfae5f
Allow selecting multiple recipes with default chooser (#1547) 2023-06-12 17:06:51 +00:00
Yuri Astrakhan
a1220c63e3
Cleanup (#1566) 2023-06-12 16:53:55 +00:00
Casey Rodarmor
67b264c878
Ignore clippy::let_underscore_untyped (#1609) 2023-05-28 00:42:52 +00:00
Li Ke
5f9ac39b03
Use just --show in default chooser (#1539) 2023-01-28 08:24:54 +00:00
Greg Shuflin
687831816d
Allow multiple attributes on one line (#1537) 2023-01-27 07:54:24 +00:00
Greg Shuflin
054d6672c5
Analyze and Compiler tweaks (#1534) 2023-01-27 03:03:04 +00:00
Casey Rodarmor
a81b094441
Downgrade to TLS 1.2 in install script (#1536)
Revert "Update install script and readmes to use tls v1.3 (#1481)"

This reverts commit 9b6b0b7fac.
2023-01-27 02:49:03 +00:00
Greg Shuflin
1a5f07c672 Ignore additional search path arguments (#1528)
- Revert #1475
- Add a test that arguments with different path  prefixes are allowed
2023-01-24 21:07:22 -08:00
Greg Shuflin
6ab6588549
Borrow Ast in Analyser (#1527) 2023-01-25 04:06:33 +00:00
maiha
3d6f928e57
Add -n as a short flag for --for dry-run (#1524) 2023-01-24 07:48:30 +00:00
Casey Rodarmor
3b989ae955
Only print fallback message when verbose (#1510) 2023-01-13 21:36:52 +00:00
Casey Rodarmor
182ef134d9
Add invocation_directory_native() (#1507) 2023-01-13 19:03:14 +00:00
Casey Rodarmor
1d02f0ef80 Print format diff to stdout (#1506) 2023-01-13 10:30:38 -08:00
Greg Shuflin
912863bc1e
Add !include directives (#1470) 2023-01-13 03:25:28 +00:00
Greg Shuflin
d499227dcb
Allow matching search path arguments (#1475) 2023-01-12 07:06:17 +00:00
Casey Rodarmor
af54dafa77
Allow recipe parameters to shadow variables (#1480) 2023-01-10 00:59:02 +00:00
Casey Rodarmor
10ad32430b
Stabilize fallback (#1471) 2023-01-04 06:31:56 +00:00
Josh Soref
50f3750842
Fix spelling (#1463) 2022-12-30 20:36:08 +00:00
Casey Rodarmor
157862d398
Merge imports (#1462) 2022-12-28 04:16:18 +00:00
Casey Rodarmor
9887582497
Suppress --fmt --check diff if --quiet is passed (#1457) 2022-12-21 04:57:58 +00:00
Greg Shuflin
fbe1c4c7a3
Allow private attribute on aliases (#1434) 2022-12-20 00:44:19 -08:00
Cameron Steffen
216df31543
Eliminate lazy_static (#1442) 2022-12-15 16:53:21 -08:00
Casey Rodarmor
79dba579f7
Format exported variadic parameters correctly (#1451) 2022-12-15 21:08:53 +00:00
Mike Burns
8ef3148fa8
Use dotenvy instead of dotenv (#1443) 2022-12-15 04:32:27 +00:00
Casey Rodarmor
e0794d0dff
Change fallback setting default to false (#1425) 2022-11-25 21:02:01 +00:00
Casey Rodarmor
e7b7897ae2
Placate clippy (#1423) 2022-11-23 00:36:23 +00:00
Casey Rodarmor
2b46af1cae
Hide recipes with [private] attribute (#1422) 2022-11-23 00:25:57 +00:00
Casey Rodarmor
6ff18af48f
Make include_shebang_line clearer (#1418) 2022-11-19 20:56:26 +00:00
Casey Rodarmor
e27e12ab1a
Omit shebang lines on Windows (#1417) 2022-11-19 20:38:41 +00:00
miles
7d6483b995
Add replace_regex function (#1393) 2022-11-08 06:47:33 +00:00
Casey Rodarmor
331f61f59c
Add [no-cd] attribute (#1400) 2022-11-02 23:37:35 -07:00
Casey Rodarmor
73777f7183
Add OS Configuration Attributes (#1387) 2022-10-31 00:52:03 -07:00
Casey Rodarmor
0bbdb61ec3
Make fallback setting default to true (#1384) 2022-10-27 05:00:31 +00:00
Giancarlo França
be11a26226
Add more case-conversion functions (#1383) 2022-10-27 03:44:18 +00:00
David Matos
beeaa6ce2d Add tempdir setting (#1369) 2022-10-25 16:57:32 -07:00
Gökhan Karabulut
8b7640b633
Add [no-exit-message] recipe annotation (#1354)
When a recipe wraps cli tool and the tool exits with a non-zero code,
just adds its own extra exit error message along with the messages
from the tool. Introduce the `[no-exit-message]` attribute to suppress
this additional message.
2022-10-25 16:32:36 -07:00
Casey Rodarmor
deac684aaa
Use for loop in capitalize implementation (#1377) 2022-10-25 03:52:43 +00:00
Cihan Demirci
aaef61b908
Add capitalize(s) function (#1375)
`capitalize(s)` converts the first character of s to uppercase
and the rest to lowercase.
2022-10-24 20:39:40 -07:00
Casey Rodarmor
28be873dfc
Require set fallback := true to enable recipe fallback (#1368) 2022-10-19 19:00:09 -07:00
Casey Rodarmor
cd09d1e6d4
Don't evaluate comments (#1358) 2022-10-04 22:33:19 -07:00
Greg Shuflin
e445cfb47d
Add skip-comments setting (#1333)
Add a new setting "skip-comments", which defaults to true. If unset,
this causes lines internal to a non-shebang recipe beginning with the
character '#' (including '#!' internal to a non-shebang recipe; that is,
any such instances occurring after the first line of a recipe) to be
treated as comments of the justfile itself. They will not be echoed to
stderr when the recipe executes.
2022-10-05 00:32:30 +00:00
JP Bochi
7f7275550d
Allow bash completion to complete tasks in other directories (#1303) 2022-09-23 20:34:55 -07:00
Casey Rodarmor
76bda4cfd9
Allow fallback with search directory (#1348)
This loosens a restriction, and allows falling back to a justfile in a parent justfile
when a search directory is provide, e.g. with `just ..` or `just foo/bar/`. Looking
 at it now, I can't really think of why I enforced that restriction in the first place.
Hopefully it's not important 🤷‍♀️.
2022-09-21 05:46:53 +00:00
Casey Rodarmor
c115b3f317
Allow fewer lints (#1340) 2022-09-11 09:25:38 +00:00
Greg Shuflin
7b7efcabc2
Fix issues reported by nightly clippy (#1336) 2022-09-11 08:41:24 +00:00
Greg Shuflin
b4d6000dd2
Refactor run.rs (#1335)
Remove mutation of the color and verbosity variables and make it
slightly easier to figure out how it works.
2022-09-11 08:23:28 +00:00
Erik Krieg
154930cc8a
Allow constructing absolute paths with / operator (#1320) 2022-09-11 07:48:02 +00:00
Casey Rodarmor
baaa8cb194
Allow comments on same line as settings (#1339) 2022-09-10 15:19:49 -07:00
Casey Rodarmor
aed7ca1678
Release 1.4.0 (#1308)
* Release 1.4.0

- Bump version: 1.3.0 → 1.4.0
- Update to Edition 2021
- Update changelog
- Update dependencies
- Update man page
2022-08-08 20:17:38 -07:00
Casey Rodarmor
7c0a960555
Fix shell setting precedence (#1306) 2022-08-09 02:50:31 +00:00
Casey Rodarmor
4a4c669db9
Split Recipe::run into Recipe::{run_shebang,run_linewise} (#1270) 2022-07-21 01:46:52 +00:00
Nick Kocharhook
e1f729efbc
Improve error message if if is missing the else (#1252) 2022-06-30 10:34:11 +00:00
Casey Rodarmor
a46be41699
Add / operator (#1237) 2022-06-25 09:39:06 +00:00
Evan Richter
bfceb8f9c9
Prevent unbounded recursion when parsing expressions (#1248) 2022-06-22 15:00:13 -07:00
Evan Richter
eef0138599
Restore fuzz test harness (#1246) 2022-06-21 02:16:02 +00:00
Casey Rodarmor
c625d61abd
Fix multibyte codepoint crash (#1243)
Co-authored-by: Evan Richter <evanjrichter@gmail.com>
2022-06-21 00:24:13 +00:00
Casey Rodarmor
01fae9b1e4
Do use super::*; instead of use crate::common::*; (#1239) 2022-06-19 04:56:31 +00:00
Casey Rodarmor
c24a194602
Add windows-shell setting (#1198) 2022-05-31 13:01:59 -07:00
Casey Rodarmor
c87909c220
Fix a bunch of typos (#1204) 2022-05-29 02:07:53 +00:00
mbodmer
862d6a52ab
SHA-256 and UUID functions (#1170) 2022-05-04 23:18:31 +00:00
Casey Rodarmor
12fe9371f6
Generate book from readme (#1155) 2022-05-04 06:05:55 +00:00
Casey Rodarmor
db35a58a61
Skip duplicate recipe arguments (#1174) 2022-05-04 05:04:55 +00:00
Casey Rodarmor
52f73db33d
Search for missing recipes in parent directory justfiles (#1149) 2022-03-31 05:13:59 +00:00
Chris Hamons
7299353977
Add error() function (#1118) 2022-03-03 00:48:28 +00:00
Laura Demkowicz-Duffy
a3f61a19ff
Add absolute_path function (#1121) 2022-03-03 00:41:48 +00:00
Casey Rodarmor
3118ce7211
Make path_exists() relative to current directory (#1122) 2022-02-28 03:09:31 +00:00
Tim Byrne
63f96037c9
Format --init justfile (#1116) 2022-02-23 19:47:43 +00:00
Damian Kula
6271e94bc9
Add path_exists() function (#1106) 2022-02-21 21:45:30 +00:00
Greg Lutostanski
bcdaa95a66
Allow duplicate recipes (#1095) 2022-02-15 02:37:06 +00:00
Casey Rodarmor
5995221555
Change dotenv-load default to false (#1082)
This changes the default value of `dotenv-load` from `true` to `false`. This
is a backwards incompatible change, and will require a minor version bump.
2022-02-02 03:16:35 +00:00
Casey Rodarmor
27cd8fd554
Remove call to sed in justfile (#1078) 2022-01-30 20:16:10 +00:00
Casey Rodarmor
d7897b4510
Release 0.10.6 (#1075)
- Bump version: 0.10.5 → 0.10.6
- Remove config test
- Update changelog
- Update dependencies
- Update man page
2022-01-29 21:18:28 +00:00
Michael Lohr
6cf95a7337
Add windows-powershell setting (#1057) 2022-01-18 19:02:15 +00:00
Casey Rodarmor
edf1fbd83b
Use Context suffix for snafu error contexts (#1068) 2022-01-04 17:45:27 +00:00
Jake Goulding
c89dad9498
Upgrade snafu to 0.7 (#1067) 2022-01-04 16:55:11 +00:00
Casey Rodarmor
3372efefc3
Allow using - and @ in any order (#1063) 2022-01-03 00:51:22 +00:00
Casey Rodarmor
83edb16135
Release 0.10.5 (#1043)
- Bump version: 0.10.4 → 0.10.5
- Update changelog
- Update config test
- Update dependencies
- Update man page
2021-12-05 07:39:50 +00:00
Kurt Wolf
f70b6711a2
Make completions work with Bash alias (#1035) 2021-12-02 03:38:57 +00:00
Casey Rodarmor
1841eb16c6
Release 0.10.4 (#1031)
- Bump version: 0.10.3 → 0.10.4
- Update changelog
- Update config test
- Update dependencies
- Update man page
2021-11-22 01:08:00 +00:00
Casey Rodarmor
0ae91884e2
Add --dump-format json (#992) 2021-11-17 00:07:48 -08:00
David Ringo
53d3c7569c
Use ps1 extension for pwsh shebangs (#1027) 2021-11-17 04:24:29 +00:00
Casey Rodarmor
3ef420ccb3
Add quote(s) function for escaping strings (#1022)
Replace all single quotes with `'\''` and prepend and append single
quotes to `s`. This is sufficient to escape special characters for many
shells, including most Bourne shell descendants.
2021-11-08 19:22:58 +00:00
Casey Rodarmor
8b49c0cbd1
Ignore leading byte order mark in source files (#1021) 2021-11-05 04:35:57 +00:00
Casey Rodarmor
f3abb95c78
Add color to just --fmt --check diff (#1015) 2021-11-01 06:18:11 +00:00
Hoàng Đức Hiếu
1cf8a714e2
fmt: check formatting with --check (#1001) 2021-11-01 04:27:59 +00:00
Casey Rodarmor
9987a0b8ae
Release 0.10.3 (#1014)
- Bump version: 0.10.2 → 0.10.3
- Update changelog
- Update config test
- Update dependencies
- Update man page
2021-10-31 00:55:49 +00:00
Hoàng Đức Hiếu
8eae8c6024
Reword sh not found error messages (#1002) 2021-10-19 07:37:45 +00:00
Casey Rodarmor
58a196f434
Make join accept two or more arguments (#1000) 2021-10-15 00:00:58 +00:00
Casey Rodarmor
6786bb0953
Add trim_end(s) and trim_start(s) functions (#999) 2021-10-14 07:35:15 +00:00
Casey Rodarmor
d6d4b01af4
Add more string manipulation functions (#998) 2021-10-14 07:03:57 +00:00
Casey Rodarmor
9512eb403b
Don't skip variables in variable iterator (#991) 2021-10-09 05:04:13 +00:00
Casey Rodarmor
39301e9f8b
Remove deprecated equals error (#985) 2021-10-02 01:37:28 +00:00
Casey Rodarmor
93f88dc8cf
Release 0.10.2 (#979)
- Bump version: 0.10.1 → 0.10.2
- Update changelog
- Update config test
- Update dependencies
- Update man page
- Bump MSRV to 1.47 for libc
2021-09-29 03:04:24 +00:00
Casey Rodarmor
0db4589efe
Implement regular expression match conditionals (#970) 2021-09-16 23:45:56 +00:00
Casey Rodarmor
09af9bb5e5
Change MSRV to 1.46.0 (#968) 2021-09-16 14:51:45 +00:00
Casey Rodarmor
629c75ff04
Use stable rustfmt instead of nightly (#967) 2021-09-16 13:44:40 +00:00
Casey Rodarmor
fe0d0f46fa
Release 0.10.1 (#958)
- Bump version: 0.10.0 → 0.10.1
- Update changelog
- Update config test
- Update dependencies
- Update man page
2021-08-28 00:21:59 +00:00
Casey Rodarmor
dbf142369b
Bump target version to 2.0 (#957) 2021-08-27 23:36:41 +00:00
Matt Boulanger
e72e7dd569
Add flags for specifying name and path environment file (#941) 2021-08-08 22:37:35 -07:00
Casey Rodarmor
f5689617f4
Wrap --help text to terminal width (#940) 2021-08-05 01:03:22 +00:00
Casey Rodarmor
289accada9
Release 0.10.0 (#934)
- Bump version: 0.9.9 → 0.10.0
- Update changelog
- Update config test
- Update dependencies
- Update man page
2021-08-03 01:33:40 +00:00
Casey Rodarmor
5bb4b4a382
Add --changelog subcommand (#932) 2021-07-31 20:53:27 +00:00
Casey Rodarmor
9c3bbc9fa7
Support .justfile as an alternative to justfile (#931) 2021-07-31 19:25:49 +00:00
Casey Rodarmor
7efb82f4cb
Fix colors (#927)
- Re-enable error colors
- Color argument count mismatch usage string
2021-07-29 01:27:47 +00:00
Casey Rodarmor
27cf2b96df
Use ColorDisplay trait to print objects to the terminal (#926) 2021-07-29 01:06:57 +00:00
Casey Rodarmor
1f20ca6481
Warn if .env file is loaded in dotenv-load isn't explicitly set (#925)
If a `.env` file is found and loaded, but the `dotenv-load` setting hasn't been explicitly
set to true, print a warning to stderr. In approximately six months, `dotenv-load` will
change from defaulting to true to defaulting to false, which will be a potentially breaking
change in behavior for justfiles which elicit this warning.

See this issue for more details:

    https://github.com/casey/just/issues/469
2021-07-28 07:33:44 +00:00
Casey Rodarmor
9ee1a63e99
Deduplicate recipe parsing (#923) 2021-07-28 05:51:46 +00:00
Casey Rodarmor
ce0376cfdf
Move subcommand functions into Subcommand (#918) 2021-07-27 00:19:52 +00:00
Casey Rodarmor
1b0fafea75
Add loader and refactor errors (#917)
This commit adds a `Loader` type, which can be used to load multiple
source strings. This was done to support the work on modules, but
coincidentally enabled consolidating errors, since now `Config::run`
can take a `&Loader`, and in the event of an error, return and `Error`
that borrows from loaded strings. Multiple error types have been
consolidated, and a bunch of ad-hoc error printing was removed.
2021-07-26 01:26:06 -07:00
Casey Rodarmor
98457c05d7
Rename: Module → Ast (#915) 2021-07-24 03:26:27 +00:00
Casey Rodarmor
2a4c5ae0f0
Release 0.9.9 (#913)
- Bump version: 0.9.8 → 0.9.9
- Update changelog
- Update config test
- Update dependencies
- Update man page
2021-07-22 07:56:36 +00:00
Casey Rodarmor
77bba3ee0e
Add subsequent dependencies (#820)
Subsequents are dependencies which run after a recipe instead of prior.
Subsequents to a recipe only run if the recipe succeeds. Subsequents
will run even if a matching invocation already ran as a prior
dependencies.
2021-07-22 00:20:25 -07:00
Casey Rodarmor
c76805ab9e
Implement else if chaining (#910) 2021-07-20 01:21:46 +00:00
Casey Rodarmor
0fea73455b
Fix circular variable dependency error message (#909) 2021-07-20 01:10:35 +00:00
Casey Rodarmor
32f3132997
Release 0.9.8 (#896)
- Bump version: 0.9.7 → 0.9.8
- Update man page
- Update config test
- Update changelog
2021-07-03 23:58:58 +00:00
Casey Rodarmor
6272151551
Release 0.9.7 (#893)
- Bump version: 0.9.6 → 0.9.7
- Update dependencies
- Update man page
- Update config test
- Update changelog
2021-07-03 21:39:41 +00:00
Casey Rodarmor
d797592365
Remove test-utilities crate (#892) 2021-07-03 21:26:59 +00:00
Liam
a24c86ed5a
Add string manipulation functions (#888) 2021-07-03 19:39:45 +00:00
Casey Rodarmor
7aaa20a976
Release v0.9.6 (#884)
- Bump version: 0.9.5 → 0.9.6
- Update dependencies
- Update changelog
- Update man page
- Update config test
2021-06-24 23:56:27 -07:00
Casey Rodarmor
024f8279bc
Add clean function for simplifying paths (#883) 2021-06-25 06:41:20 +00:00
Casey Rodarmor
87e395254b
Add join function for joining paths (#882) 2021-06-24 22:55:29 +00:00
Antonio Gelameris
162d2df1ba
Add path manipulation functions (#872) 2021-06-17 07:56:09 +00:00
Casey Rodarmor
4a82c45dda
Release v0.9.5 (#870)
- Bump version: 0.9.4 → 0.9.5
- Update dependencies
- Update changelog
- Update man page
- Update config test
2021-06-12 22:49:27 +00:00
Casey Rodarmor
a6453ded99
Add --unstable flag (#869)
Add an `--unstable` flag, indicating that `just` should enable unstable
features. Make `--fmt` only run if `--unstable` is passed.
2021-06-12 22:34:41 +00:00
Oleksii Dorozhkin
8677492d56
Add --fmt subcommand (#837) 2021-06-08 01:01:27 -07:00
Casey Rodarmor
0a9ffd7a7b
Remove v prefix from version (#850) 2021-06-01 23:37:40 +00:00
Casey Rodarmor
c198099c17
Release v0.9.4 (#844)
* Release v0.9.4

- Bump version: 0.9.3 → 0.9.4
- Update dependencies
- Update changelog
- Update man page
- Update config test
2021-05-28 01:22:59 +00:00
Casey Rodarmor
a6b13a31b6
Refactor shebang handling (#833) 2021-05-18 03:44:12 +00:00
Casey Rodarmor
48f00865f9
Release v0.9.3 (#832)
- Bump version: 0.9.2 → 0.9.3
- Update dependencies
- Update changelog
- Update man page
- Update config test
2021-05-16 11:11:34 -05:00
Lynx Zhou
7be66f890f
Add shebang support for 'cmd.exe' (#828) 2021-05-16 00:33:41 -05:00
sigoden
cba52c9d65
Add .exe to powershell scripts (#826) 2021-05-11 12:21:49 -07:00
Casey Rodarmor
50cd24d37b
Add the --command subcommand (#824) 2021-05-10 03:35:35 +00:00
Casey Rodarmor
4cb82e0c1f
Remove summary feature (#823)
Remove the `summary` feature and make the `summary` module always build.
It's a small module, so it shouldn't hurt compile times, and it should
prevent accidental breakages that are only caught on CI.
2021-05-08 19:07:51 -07:00
Casey Rodarmor
7bc9d3986e
Fix bang lexing and placate clippy (#821) 2021-05-07 00:14:38 -07:00
Casey Rodarmor
cde2ce0d87
Release v0.9.2 (#811)
- Bump version: 0.9.1 → 0.9.2
- Update dependencies
- Update changelog
- Update man page
- Update config test
2021-05-02 10:35:45 +00:00
Casey Rodarmor
2abdeb386e
Pass evaluated arguments as positional arguments (#810) 2021-05-02 10:25:43 +00:00
Casey Rodarmor
7889f10a6a
Release v0.9.1 (#807)
- Bump version: 0.9.0 → 0.9.1
- Update dependencies
- Update changelog
- Update man page
- Update config test
2021-04-25 17:25:34 -07:00
Casey Rodarmor
09b370e10d
Change --eval to print variable value only (#806) 2021-04-25 17:02:57 -07:00
Casey Rodarmor
67bd318bf9
Add positional-arguments setting (#804)
Allow recipe arguments to be passed as positional arguments to commands.
2021-04-24 18:29:58 -07:00
Casey Rodarmor
d03aedd5c4
Allow filtering variables to evaluate (#795)
If variable names are passed to `--evaluate`, only print those
variables.
2021-04-05 21:50:50 -07:00
Casey Rodarmor
fec979c2c6
Reform and improve string literals (#793)
- Combine and simplify string and backtick lexing.
- Allow newlines in strings and backticks.
- Add triple-delimited indented strings and backticks. Common indented literal non-blank line leading whitespace is stripped.
- If a literal newline is escaped, it will be suppressed.
- Backticks starting with `#!` are reserved for a future upgrade.
2021-04-05 21:28:37 -07:00
Casey Rodarmor
da97f8d7dd
Allow evaluating justfiles with no recipes (#794) 2021-04-05 21:17:53 -07:00
Casey Rodarmor
dd578d141c
Unify string lexing (#790)
Unify lexing of backticks, cooked strings, and raw strings. Also allow
newlines in backticks and cooked strings, since I can't think of a reason
not to.
2021-04-04 16:41:02 -07:00
Casey Rodarmor
78b67f6cae
Test multi-line strings in interpolation (#789)
The behavior here is strange, and unintentional, but not obviously wrong.
Add a test to make sure I don't accidentally break it in the future.
2021-04-03 19:59:13 -07:00
Casey Rodarmor
a1a016b4e0
Disable .env warning for now 2021-03-30 17:59:15 -07:00
Casey Rodarmor
e4ebf6dad9
Warn if .env file loaded and dotenv-load unset (#784) 2021-03-30 17:30:32 -07:00
Casey Rodarmor
6e2e540751
Release v0.9.0 (#781)
- Bump version: 0.8.7 → 0.9.0
- Update changelog
- Update man page
- Update config test
2021-03-28 23:47:10 -07:00
Casey Rodarmor
10282bd636
Turn = deprecation warning into a hard error (#780)
It's been around two and a half years, and many versions, since this
warning was first introduced, so it feels reasonable to finally turn it
into a hard error. It will remain a special-cased error for a little
while.
2021-03-28 23:39:23 -07:00