Commit Graph

637 Commits

Author SHA1 Message Date
Casey Rodarmor
5c3b72a121
Recipes can be invoked with path syntax (#1809) 2023-12-31 22:03:49 +00:00
Casey Rodarmor
fc25a78826
Add --format and --initialize as aliases for --fmt and --init (#1802) 2023-12-29 23:56:20 +00:00
Casey Rodarmor
b188882ed0
Use box-drawing characters in error messages (#1798) 2023-12-29 21:25:30 +00:00
Casey Rodarmor
e2c0d86bdd
Optional modules and imports (#1797) 2023-12-29 12:16:31 -08:00
Casey Rodarmor
177bb682b8
Use Self (#1795) 2023-12-29 03:16:46 +00:00
Casey Rodarmor
3461a7f291
Print submodule recipes in --summary (#1794) 2023-12-29 03:06:48 +00:00
Casey Rodarmor
f039701f71
Expand tilde in import and module paths (#1792) 2023-12-29 02:08:02 +00:00
Casey Rodarmor
8ea278c58b
Override imported recipes (#1790) 2023-12-28 17:34:37 -08:00
Casey Rodarmor
a1bd70a030
Run recipes with working directory set to submodule directory (#1788) 2023-12-29 00:55:36 +00:00
Casey Rodarmor
94b3af6cb7
Allow mod statements with path to source file (#1786) 2023-12-28 12:23:58 +00:00
Casey Rodarmor
316ea01295
Add modules (#1782) 2023-12-28 04:27:15 +00:00
Casey Rodarmor
86dbed7445
Display a descriptive error for !include directives (#1779) 2023-12-24 17:14:17 +00:00
Casey Rodarmor
e9bec8d398
Stabilize !include path as import 'path' (#1771) 2023-12-20 12:31:51 +08:00
Qeole
3dbbb2ed70
Pass justfile path to default chooser (#1759) 2023-12-14 00:48:40 +00:00
Qeole
e6e1823359
Pass --unstable and --color always to default chooser (#1758) 2023-12-11 23:46:28 +00:00
Casey Rodarmor
92bae080ab
List included recipes in load order (#1745) 2023-11-25 07:15:41 +00:00
Casey Rodarmor
09a39055ba
Rename Justfile::first → Justfile::default (#1741) 2023-11-22 18:33:55 +00:00
Casey Rodarmor
ab16c0493f
Don't default to included recipes (#1740) 2023-11-22 18:27:49 +00:00
Casey Rodarmor
7337447d42
Add file paths to error messages (#1737) 2023-11-22 04:17:38 +00:00
Greg Shuflin
f745316e88
Move !include processing into compiler (#1618) 2023-11-21 11:28:59 -08:00
Casey Rodarmor
bfea1ae5f1
Remove VALID_ALIAS_ATTRIBUTES array (#1731) 2023-11-20 23:35:29 +00:00
Hwatwasthat
9415bee16b
Add [confirm] attribute (#1723) 2023-11-16 23:51:34 +00:00
Casey Rodarmor
53fec7b449
Fix CI (#1728) 2023-11-16 21:51:57 +00:00
l4zygreed
e585ed9c74
Fix Fish completion script (#1710) 2023-10-30 17:29:33 +00:00
Victor Adossi ("vados")
64d7d07185
Add semver_matches function (#1713) 2023-10-27 20:07:46 +00:00
Yuri Astrakhan
e01dbda156
Clean up error display (#1699) 2023-10-16 20:18:25 -07:00
Yuri Astrakhan
be7f161554
Misc fixes (#1700) 2023-10-17 03:07:09 +00:00
Laurent Fourrier
812e1ea3cc
Add dotenv-filename and dotenv-path settings (#1692) 2023-10-12 05:04:46 +00:00
N
22e103361f
Allow setting echoed recipe line color (#1670) 2023-10-11 00:04:34 +00:00
Greg Shuflin
992c6943da
Allow unstable features to be enabled with environment variable (#1588) 2023-10-09 03:47:20 +00:00
Casey Rodarmor
72e5b17242
Placate clippy (#1689) 2023-10-09 02:34:05 +00:00
Matt Schulte
63ed00ff78
Add num_cpus() function (#1568) 2023-08-02 23:52:21 +00:00
Ian Douglas Scott
30bcf28fde
Allow escaping newlines (#1551) 2023-07-25 09:05:47 +00:00
Casey Rodarmor
f04de75609
Stabilize JSON dump format (#1633) 2023-06-29 21:12:55 +00:00
Bojan Stipic
f44abdf024
Avoid grep aliases in bash completions (#1622) 2023-06-18 00:05:49 +00:00
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