rust-just 1.35.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -35,7 +35,7 @@ inspired by `make`:
35
35
 
36
36
  You can then run them with `just RECIPE`:
37
37
 
38
- ```sh
38
+ ```console
39
39
  $ just test-all
40
40
  cc *.c -o main
41
41
  ./test --all
@@ -125,6 +125,81 @@ most Windows users.)
125
125
 
126
126
  ### Packages
127
127
 
128
+ #### Cross-platform
129
+
130
+ <table>
131
+ <thead>
132
+ <tr>
133
+ <th>Package Manager</th>
134
+ <th>Package</th>
135
+ <th>Command</th>
136
+ </tr>
137
+ </thead>
138
+ <tbody>
139
+ <tr>
140
+ <td><a href=https://asdf-vm.com>asdf</a></td>
141
+ <td><a href=https://github.com/olofvndrhr/asdf-just>just</a></td>
142
+ <td>
143
+ <code>asdf plugin add just</code><br>
144
+ <code>asdf install just &lt;version&gt;</code>
145
+ </td>
146
+ </tr>
147
+ <tr>
148
+ <td><a href=https://www.rust-lang.org>Cargo</a></td>
149
+ <td><a href=https://crates.io/crates/just>just</a></td>
150
+ <td><code>cargo install just</code></td>
151
+ </tr>
152
+ <tr>
153
+ <td><a href=https://docs.conda.io/projects/conda/en/latest/index.html>Conda</a></td>
154
+ <td><a href=https://anaconda.org/conda-forge/just>just</a></td>
155
+ <td><code>conda install -c conda-forge just</code></td>
156
+ </tr>
157
+ <tr>
158
+ <td><a href=https://brew.sh>Homebrew</a></td>
159
+ <td><a href=https://formulae.brew.sh/formula/just>just</a></td>
160
+ <td><code>brew install just</code></td>
161
+ </tr>
162
+ <tr>
163
+ <td><a href=https://nixos.org/nix/>Nix</a></td>
164
+ <td><a href=https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/just/default.nix>just</a></td>
165
+ <td><code>nix-env -iA nixpkgs.just</code></td>
166
+ </tr>
167
+ <tr>
168
+ <td><a href=https://www.npmjs.com/>npm</a></td>
169
+ <td><a href=https://www.npmjs.com/package/rust-just>rust-just</a></td>
170
+ <td><code>npm install rust-just</code></td>
171
+ </tr>
172
+ <tr>
173
+ <td><a href=https://pypi.org/>PyPI</a></td>
174
+ <td><a href=https://pypi.org/project/rust-just/>rust-just</a></td>
175
+ <td><code>pipx install rust-just</code></td>
176
+ </tr>
177
+ </tbody>
178
+ </table>
179
+
180
+ #### BSD
181
+
182
+ <table>
183
+ <thead>
184
+ <tr>
185
+ <th>Operating System</th>
186
+ <th>Package Manager</th>
187
+ <th>Package</th>
188
+ <th>Command</th>
189
+ </tr>
190
+ </thead>
191
+ <tbody>
192
+ <tr>
193
+ <td><a href=https://www.freebsd.org>FreeBSD</a></td>
194
+ <td><a href=https://www.freebsd.org/doc/handbook/pkgng-intro.html>pkg</a></td>
195
+ <td><a href=https://www.freshports.org/deskutils/just/>just</a></td>
196
+ <td><code>pkg install just</code></td>
197
+ </tr>
198
+ </tbody>
199
+ </table>
200
+
201
+ #### Linux
202
+
128
203
  <table>
129
204
  <thead>
130
205
  <tr>
@@ -136,13 +211,13 @@ most Windows users.)
136
211
  </thead>
137
212
  <tbody>
138
213
  <tr>
139
- <td><a href=https://alpinelinux.org>Alpine Linux</a></td>
214
+ <td><a href=https://alpinelinux.org>Alpine</a></td>
140
215
  <td><a href=https://wiki.alpinelinux.org/wiki/Alpine_Linux_package_management>apk-tools</a></td>
141
216
  <td><a href=https://pkgs.alpinelinux.org/package/edge/community/x86_64/just>just</a></td>
142
217
  <td><code>apk add just</code></td>
143
218
  </tr>
144
219
  <tr>
145
- <td><a href=https://www.archlinux.org>Arch Linux</a></td>
220
+ <td><a href=https://www.archlinux.org>Arch</a></td>
146
221
  <td><a href=https://wiki.archlinux.org/title/Pacman>pacman</a></td>
147
222
  <td><a href=https://archlinux.org/packages/extra/x86_64/just/>just</a></td>
148
223
  <td><code>pacman -S just</code></td>
@@ -175,19 +250,13 @@ most Windows users.)
175
250
  </td>
176
251
  </tr>
177
252
  <tr>
178
- <td><a href=https://getfedora.org>Fedora Linux</a></td>
253
+ <td><a href=https://getfedora.org>Fedora</a></td>
179
254
  <td><a href=https://dnf.readthedocs.io/en/latest/>DNF</a></td>
180
255
  <td><a href=https://src.fedoraproject.org/rpms/rust-just>just</a></td>
181
256
  <td><code>dnf install just</code></td>
182
257
  </tr>
183
258
  <tr>
184
- <td><a href=https://www.freebsd.org>FreeBSD</a></td>
185
- <td><a href=https://www.freebsd.org/doc/handbook/pkgng-intro.html>pkg</a></td>
186
- <td><a href=https://www.freshports.org/deskutils/just/>just</a></td>
187
- <td><code>pkg install just</code></td>
188
- </tr>
189
- <tr>
190
- <td><a href=https://www.gentoo.org>Gentoo Linux</a></td>
259
+ <td><a href=https://www.gentoo.org>Gentoo</a></td>
191
260
  <td><a href=https://wiki.gentoo.org/wiki/Portage>Portage</a></td>
192
261
  <td><a href=https://github.com/gentoo-mirror/guru/tree/master/dev-build/just>guru/dev-build/just</a></td>
193
262
  <td>
@@ -196,30 +265,6 @@ most Windows users.)
196
265
  <code>emerge dev-build/just</code>
197
266
  </td>
198
267
  </tr>
199
- <tr>
200
- <td><a href=https://en.wikipedia.org/wiki/MacOS>macOS</a></td>
201
- <td><a href=https://www.macports.org>MacPorts</a></td>
202
- <td><a href=https://ports.macports.org/port/just/summary>just</a></td>
203
- <td><code>port install just</code></td>
204
- </tr>
205
- <tr>
206
- <td><a href=https://en.wikipedia.org/wiki/Microsoft_Windows>Microsoft Windows</a></td>
207
- <td><a href=https://chocolatey.org>Chocolatey</a></td>
208
- <td><a href=https://github.com/michidk/just-choco>just</a></td>
209
- <td><code>choco install just</code></td>
210
- </tr>
211
- <tr>
212
- <td><a href=https://en.wikipedia.org/wiki/Microsoft_Windows>Microsoft Windows</a></td>
213
- <td><a href=https://scoop.sh>Scoop</a></td>
214
- <td><a href=https://github.com/ScoopInstaller/Main/blob/master/bucket/just.json>just</a></td>
215
- <td><code>scoop install just</code></td>
216
- </tr>
217
- <tr>
218
- <td><a href=https://en.wikipedia.org/wiki/Microsoft_Windows>Microsoft Windows</a></td>
219
- <td><a href=https://learn.microsoft.com/en-us/windows/package-manager/>Windows Package Manager</a></td>
220
- <td><a href=https://github.com/microsoft/winget-pkgs/tree/master/manifests/c/Casey/Just>Casey/Just</a></td>
221
- <td><code>winget install --id Casey.Just --exact</code></td>
222
- </tr>
223
268
  <tr>
224
269
  <td><a href=https://nixos.org/nixos/>NixOS</a></td>
225
270
  <td><a href=https://nixos.org/nix/>Nix</a></td>
@@ -239,43 +284,58 @@ most Windows users.)
239
284
  <td><code>eopkg install just</code></td>
240
285
  </tr>
241
286
  <tr>
242
- <td><a href=https://github.com/casey/just/releases>Various</a></td>
243
- <td><a href=https://asdf-vm.com>asdf</a></td>
244
- <td><a href=https://github.com/olofvndrhr/asdf-just>just</a></td>
245
- <td>
246
- <code>asdf plugin add just</code><br>
247
- <code>asdf install just &lt;version&gt;</code>
248
- </td>
287
+ <td><a href=https://voidlinux.org>Void</a></td>
288
+ <td><a href=https://wiki.voidlinux.org/XBPS>XBPS</a></td>
289
+ <td><a href=https://github.com/void-linux/void-packages/blob/master/srcpkgs/just/template>just</a></td>
290
+ <td><code>xbps-install -S just</code></td>
249
291
  </tr>
292
+ </tbody>
293
+ </table>
294
+
295
+ #### Windows
296
+
297
+ <table>
298
+ <thead>
250
299
  <tr>
251
- <td><a href=https://forge.rust-lang.org/release/platform-support.html>Various</a></td>
252
- <td><a href=https://www.rust-lang.org>Cargo</a></td>
253
- <td><a href=https://crates.io/crates/just>just</a></td>
254
- <td><code>cargo install just</code></td>
300
+ <th>Package Manager</th>
301
+ <th>Package</th>
302
+ <th>Command</th>
255
303
  </tr>
304
+ </thead>
305
+ <tbody>
256
306
  <tr>
257
- <td><a href=https://docs.conda.io/en/latest/miniconda.html#system-requirements>Various</a></td>
258
- <td><a href=https://docs.conda.io/projects/conda/en/latest/index.html>Conda</a></td>
259
- <td><a href=https://anaconda.org/conda-forge/just>just</a></td>
260
- <td><code>conda install -c conda-forge just</code></td>
307
+ <td><a href=https://chocolatey.org>Chocolatey</a></td>
308
+ <td><a href=https://github.com/michidk/just-choco>just</a></td>
309
+ <td><code>choco install just</code></td>
261
310
  </tr>
262
311
  <tr>
263
- <td><a href=https://docs.brew.sh/Installation>Various</a></td>
264
- <td><a href=https://brew.sh>Homebrew</a></td>
265
- <td><a href=https://formulae.brew.sh/formula/just>just</a></td>
266
- <td><code>brew install just</code></td>
312
+ <td><a href=https://scoop.sh>Scoop</a></td>
313
+ <td><a href=https://github.com/ScoopInstaller/Main/blob/master/bucket/just.json>just</a></td>
314
+ <td><code>scoop install just</code></td>
267
315
  </tr>
268
316
  <tr>
269
- <td><a href=https://nixos.org/download.html#download-nix>Various</a></td>
270
- <td><a href=https://nixos.org/nix/>Nix</a></td>
271
- <td><a href=https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/tools/just/default.nix>just</a></td>
272
- <td><code>nix-env -iA nixpkgs.just</code></td>
317
+ <td><a href=https://learn.microsoft.com/en-us/windows/package-manager/>Windows Package Manager</a></td>
318
+ <td><a href=https://github.com/microsoft/winget-pkgs/tree/master/manifests/c/Casey/Just>Casey/Just</a></td>
319
+ <td><code>winget install --id Casey.Just --exact</code></td>
273
320
  </tr>
321
+ </tbody>
322
+ </table>
323
+
324
+ #### macOS
325
+
326
+ <table>
327
+ <thead>
274
328
  <tr>
275
- <td><a href=https://voidlinux.org>Void Linux</a></td>
276
- <td><a href=https://wiki.voidlinux.org/XBPS>XBPS</a></td>
277
- <td><a href=https://github.com/void-linux/void-packages/blob/master/srcpkgs/just/template>just</a></td>
278
- <td><code>xbps-install -S just</code></td>
329
+ <th>Package Manager</th>
330
+ <th>Package</th>
331
+ <th>Command</th>
332
+ </tr>
333
+ </thead>
334
+ <tbody>
335
+ <tr>
336
+ <td><a href=https://www.macports.org>MacPorts</a></td>
337
+ <td><a href=https://ports.macports.org/port/just/summary>just</a></td>
338
+ <td><code>port install just</code></td>
279
339
  </tr>
280
340
  </tbody>
281
341
  </table>
@@ -293,13 +353,13 @@ You can use the following command on Linux, MacOS, or Windows to download the
293
353
  latest release, just replace `DEST` with the directory where you'd like to put
294
354
  `just`:
295
355
 
296
- ```sh
356
+ ```console
297
357
  curl --proto '=https' --tlsv1.2 -sSf https://just.systems/install.sh | bash -s -- --to DEST
298
358
  ```
299
359
 
300
360
  For example, to install `just` to `~/bin`:
301
361
 
302
- ```sh
362
+ ```console
303
363
  # create ~/bin
304
364
  mkdir -p ~/bin
305
365
 
@@ -411,7 +471,7 @@ call plug#end()
411
471
 
412
472
  Or with Vim's built-in package support:
413
473
 
414
- ```sh
474
+ ```console
415
475
  mkdir -p ~/.vim/pack/vendor/start
416
476
  cd ~/.vim/pack/vendor/start
417
477
  git clone https://github.com/NoahTheDuke/vim-just.git
@@ -533,7 +593,7 @@ name `.justfile`, in case you'd like to hide a `justfile`.
533
593
 
534
594
  Running `just` with no arguments runs the first recipe in the `justfile`:
535
595
 
536
- ```sh
596
+ ```console
537
597
  $ just
538
598
  echo 'This is a recipe!'
539
599
  This is a recipe!
@@ -541,7 +601,7 @@ This is a recipe!
541
601
 
542
602
  One or more arguments specify the recipe(s) to run:
543
603
 
544
- ```sh
604
+ ```console
545
605
  $ just another-recipe
546
606
  This is another recipe.
547
607
  ```
@@ -574,7 +634,7 @@ sloc:
574
634
  @echo "`wc -l *.c` lines of code"
575
635
  ```
576
636
 
577
- ```sh
637
+ ```console
578
638
  $ just test
579
639
  cc main.c foo.c bar.c -o main
580
640
  ./test
@@ -584,7 +644,7 @@ testing… all tests passed!
584
644
  Recipes without dependencies will run in the order they're given on the command
585
645
  line:
586
646
 
587
- ```sh
647
+ ```console
588
648
  $ just build sloc
589
649
  cc main.c foo.c bar.c -o main
590
650
  1337 lines of code
@@ -593,7 +653,7 @@ cc main.c foo.c bar.c -o main
593
653
  Dependencies will always run first, even if they are passed after a recipe that
594
654
  depends on them:
595
655
 
596
- ```sh
656
+ ```console
597
657
  $ just test build
598
658
  cc main.c foo.c bar.c -o main
599
659
  ./test
@@ -648,7 +708,7 @@ default:
648
708
 
649
709
  Recipes can be listed in alphabetical order with `just --list`:
650
710
 
651
- ```sh
711
+ ```console
652
712
  $ just --list
653
713
  Available recipes:
654
714
  build
@@ -677,7 +737,7 @@ Available recipes:
677
737
 
678
738
  `just --summary` is more concise:
679
739
 
680
- ```sh
740
+ ```console
681
741
  $ just --summary
682
742
  build test deploy lint
683
743
  ```
@@ -692,14 +752,14 @@ build:
692
752
  echo 'Building!'
693
753
  ```
694
754
 
695
- ```sh
755
+ ```console
696
756
  $ just --list --unsorted
697
757
  Available recipes:
698
758
  test
699
759
  build
700
760
  ```
701
761
 
702
- ```sh
762
+ ```console
703
763
  $ just --summary --unsorted
704
764
  test build
705
765
  ```
@@ -721,7 +781,7 @@ error.
721
781
 
722
782
  The heading text can be customized with `--list-heading`:
723
783
 
724
- ```sh
784
+ ```console
725
785
  $ just --list --list-heading $'Cool stuff…\n'
726
786
  Cool stuff…
727
787
  test
@@ -730,7 +790,7 @@ Cool stuff…
730
790
 
731
791
  And the indentation can be customized with `--list-prefix`:
732
792
 
733
- ```sh
793
+ ```console
734
794
  $ just --list --list-prefix ····
735
795
  Available recipes:
736
796
  ····test
@@ -741,12 +801,54 @@ The argument to `--list-heading` replaces both the heading and the newline
741
801
  following it, so it should contain a newline if non-empty. It works this way so
742
802
  you can suppress the heading line entirely by passing the empty string:
743
803
 
744
- ```sh
804
+ ```console
745
805
  $ just --list --list-heading ''
746
806
  test
747
807
  build
748
808
  ```
749
809
 
810
+ ### Invoking Multiple Recipes
811
+
812
+ Multiple recipes may be invoked on the command line at once:
813
+
814
+ ```just
815
+ build:
816
+ make web
817
+
818
+ serve:
819
+ python3 -m http.server -d out 8000
820
+ ```
821
+
822
+ ```console
823
+ $ just build serve
824
+ make web
825
+ python3 -m http.server -d out 8000
826
+ ```
827
+
828
+ Keep in mind that recipes with parameters will swallow arguments, even if they
829
+ match the names of other recipes:
830
+
831
+ ```just
832
+ build project:
833
+ make {{project}}
834
+
835
+ serve:
836
+ python3 -m http.server -d out 8000
837
+ ```
838
+
839
+ ```console
840
+ $ just build serve
841
+ make: *** No rule to make target `serve'. Stop.
842
+ ```
843
+
844
+ The `--one` flag can be used to restrict command-line invocations to a single
845
+ recipe:
846
+
847
+ ```console
848
+ $ just --one build serve
849
+ error: Expected 1 command-line recipe invocation but found 2.
850
+ ```
851
+
750
852
  ### Working Directory
751
853
 
752
854
  By default, recipes run with the working directory set to the directory that
@@ -764,7 +866,7 @@ directory set to directory in which `just` was invoked.
764
866
  pwd
765
867
  ```
766
868
 
767
- ```sh
869
+ ```console
768
870
  $ cd subdir
769
871
  $ just foo
770
872
  /
@@ -782,7 +884,7 @@ set working-directory := 'bar'
782
884
  pwd
783
885
  ```
784
886
 
785
- ```sh
887
+ ```console
786
888
  $ pwd
787
889
  /home/bob
788
890
  $ just foo
@@ -800,7 +902,7 @@ build:
800
902
  echo 'Building!'
801
903
  ```
802
904
 
803
- ```sh
905
+ ```console
804
906
  $ just b
805
907
  echo 'Building!'
806
908
  Building!
@@ -871,7 +973,7 @@ set allow-duplicate-recipes
871
973
  echo bar
872
974
  ```
873
975
 
874
- ```sh
976
+ ```console
875
977
  $ just foo
876
978
  bar
877
979
  ```
@@ -892,7 +994,7 @@ a := "bar"
892
994
  echo $a
893
995
  ```
894
996
 
895
- ```sh
997
+ ```console
896
998
  $ just foo
897
999
  bar
898
1000
  ```
@@ -927,7 +1029,7 @@ must be accessed using `$VARIABLE_NAME` in recipes and backticks.
927
1029
 
928
1030
  For example, if your `.env` file contains:
929
1031
 
930
- ```sh
1032
+ ```console
931
1033
  # a comment, will be ignored
932
1034
  DATABASE_ADDRESS=localhost:6379
933
1035
  SERVER_PORT=1337
@@ -945,7 +1047,7 @@ serve:
945
1047
 
946
1048
  `just serve` will output:
947
1049
 
948
- ```sh
1050
+ ```console
949
1051
  $ just serve
950
1052
  Starting server with database localhost:6379 on port 1337…
951
1053
  ./server --database $DATABASE_ADDRESS --port $SERVER_PORT
@@ -966,7 +1068,7 @@ a := "hello"
966
1068
  echo $b
967
1069
  ```
968
1070
 
969
- ```sh
1071
+ ```console
970
1072
  $ just foo goodbye
971
1073
  hello
972
1074
  goodbye
@@ -990,7 +1092,7 @@ set positional-arguments
990
1092
 
991
1093
  Will produce the following output:
992
1094
 
993
- ```sh
1095
+ ```console
994
1096
  $ just foo hello
995
1097
  foo
996
1098
  hello
@@ -1014,7 +1116,7 @@ set positional-arguments
1014
1116
 
1015
1117
  Running it with _two_ arguments:
1016
1118
 
1017
- ```sh
1119
+ ```console
1018
1120
  $ just test foo "bar baz"
1019
1121
  - foo
1020
1122
  - bar baz
@@ -1139,7 +1241,7 @@ test:
1139
1241
  ./bin/test
1140
1242
  ```
1141
1243
 
1142
- ```sh
1244
+ ```console
1143
1245
  $ just --list
1144
1246
  Available recipes:
1145
1247
  build # build stuff
@@ -1160,7 +1262,7 @@ test:
1160
1262
  ./bin/test
1161
1263
  ```
1162
1264
 
1163
- ```sh
1265
+ ```console
1164
1266
  $ just --list
1165
1267
  Available recipes:
1166
1268
  build # Build stuff
@@ -1269,7 +1371,7 @@ tab := "\t"
1269
1371
  unicode-codepoint := "\u{1F916}"
1270
1372
  ```
1271
1373
 
1272
- ```sh
1374
+ ```console
1273
1375
  $ just --evaluate
1274
1376
  "arriage-return := "
1275
1377
  double-quote := """
@@ -1281,7 +1383,7 @@ tab := " "
1281
1383
  unicode-codepoint := "🤖"
1282
1384
  ```
1283
1385
 
1284
- The unicode character escape sequence `\u{…}`<sup>master</sup> accepts up to
1386
+ The unicode character escape sequence `\u{…}`<sup>1.36.0</sup> accepts up to
1285
1387
  six hex digits.
1286
1388
 
1287
1389
  Strings may contain line breaks:
@@ -1302,7 +1404,7 @@ Single-quoted strings do not recognize escape sequences:
1302
1404
  escapes := '\t\n\r\"\\'
1303
1405
  ```
1304
1406
 
1305
- ```sh
1407
+ ```console
1306
1408
  $ just --evaluate
1307
1409
  escapes := "\t\n\r\"\\"
1308
1410
  ```
@@ -1364,7 +1466,7 @@ foo:
1364
1466
  echo 'Done!'
1365
1467
  ```
1366
1468
 
1367
- ```sh
1469
+ ```console
1368
1470
  $ just foo
1369
1471
  cat foo
1370
1472
  cat: foo: No such file or directory
@@ -1402,7 +1504,7 @@ system-info:
1402
1504
  @echo "This is an {{arch()}} machine".
1403
1505
  ```
1404
1506
 
1405
- ```sh
1507
+ ```console
1406
1508
  $ just system-info
1407
1509
  This is an x86_64 machine
1408
1510
  ```
@@ -1465,7 +1567,7 @@ test:
1465
1567
  echo "{{home_dir}}"
1466
1568
  ```
1467
1569
 
1468
- ```sh
1570
+ ```console
1469
1571
  $ just
1470
1572
  /home/user1
1471
1573
  ```
@@ -1548,7 +1650,7 @@ executable:
1548
1650
  @echo The executable is at: {{just_executable()}}
1549
1651
  ```
1550
1652
 
1551
- ```sh
1653
+ ```console
1552
1654
  $ just
1553
1655
  The executable is at: /bin/just
1554
1656
  ```
@@ -1564,7 +1666,7 @@ pid:
1564
1666
  @echo The process ID is: {{ just_pid() }}
1565
1667
  ```
1566
1668
 
1567
- ```sh
1669
+ ```console
1568
1670
  $ just
1569
1671
  The process ID is: 420
1570
1672
  ```
@@ -1725,7 +1827,7 @@ A number of constants are predefined:
1725
1827
  echo {{HEX}}
1726
1828
  ```
1727
1829
 
1728
- ```sh
1830
+ ```console
1729
1831
  $ just foo
1730
1832
  0123456789abcdef
1731
1833
  ```
@@ -1948,7 +2050,7 @@ bar:
1948
2050
  @echo "{{foo}}"
1949
2051
  ```
1950
2052
 
1951
- ```sh
2053
+ ```console
1952
2054
  $ just bar
1953
2055
  Good!
1954
2056
  ```
@@ -1962,7 +2064,7 @@ bar:
1962
2064
  @echo {{foo}}
1963
2065
  ```
1964
2066
 
1965
- ```sh
2067
+ ```console
1966
2068
  $ just bar
1967
2069
  xyz
1968
2070
  ```
@@ -1976,7 +2078,7 @@ bar:
1976
2078
  @echo {{foo}}
1977
2079
  ```
1978
2080
 
1979
- ```sh
2081
+ ```console
1980
2082
  $ just bar
1981
2083
  match
1982
2084
  ```
@@ -2020,7 +2122,7 @@ bar:
2020
2122
  @echo {{foo}}
2021
2123
  ```
2022
2124
 
2023
- ```sh
2125
+ ```console
2024
2126
  $ just bar
2025
2127
  abc
2026
2128
  ```
@@ -2061,7 +2163,7 @@ build:
2061
2163
  ./build {{os}}
2062
2164
  ```
2063
2165
 
2064
- ```sh
2166
+ ```console
2065
2167
  $ just
2066
2168
  ./build linux
2067
2169
  ./test --test linux
@@ -2069,7 +2171,7 @@ $ just
2069
2171
 
2070
2172
  Any number of arguments of the form `NAME=VALUE` can be passed before recipes:
2071
2173
 
2072
- ```sh
2174
+ ```console
2073
2175
  $ just os=plan9
2074
2176
  ./build plan9
2075
2177
  ./test --test plan9
@@ -2077,7 +2179,7 @@ $ just os=plan9
2077
2179
 
2078
2180
  Or you can use the `--set` flag:
2079
2181
 
2080
- ```sh
2182
+ ```console
2081
2183
  $ just --set os bsd
2082
2184
  ./build bsd
2083
2185
  ./test --test bsd
@@ -2150,7 +2252,7 @@ print_home_folder:
2150
2252
  echo "HOME is: '${HOME}'"
2151
2253
  ```
2152
2254
 
2153
- ```sh
2255
+ ```console
2154
2256
  $ just
2155
2257
  HOME is '/home/myuser'
2156
2258
  ```
@@ -2174,7 +2276,7 @@ build target:
2174
2276
 
2175
2277
  To pass arguments on the command line, put them after the recipe name:
2176
2278
 
2177
- ```sh
2279
+ ```console
2178
2280
  $ just build my-awesome-project
2179
2281
  Building my-awesome-project…
2180
2282
  cd my-awesome-project && make
@@ -2226,7 +2328,7 @@ test target tests=default:
2226
2328
 
2227
2329
  Parameters with default values may be omitted:
2228
2330
 
2229
- ```sh
2331
+ ```console
2230
2332
  $ just test server
2231
2333
  Testing server:all…
2232
2334
  ./test --tests all server
@@ -2234,7 +2336,7 @@ Testing server:all…
2234
2336
 
2235
2337
  Or supplied:
2236
2338
 
2237
- ```sh
2339
+ ```console
2238
2340
  $ just test server unit
2239
2341
  Testing server:unit…
2240
2342
  ./test --tests unit server
@@ -2261,7 +2363,7 @@ backup +FILES:
2261
2363
  Variadic parameters prefixed with `+` accept _one or more_ arguments and expand
2262
2364
  to a string containing those arguments separated by spaces:
2263
2365
 
2264
- ```sh
2366
+ ```console
2265
2367
  $ just backup FAQ.md GRAMMAR.md
2266
2368
  scp FAQ.md GRAMMAR.md me@server.com:
2267
2369
  FAQ.md 100% 1831 1.8KB/s 00:00
@@ -2295,7 +2397,7 @@ search QUERY:
2295
2397
 
2296
2398
  And you type:
2297
2399
 
2298
- ```sh
2400
+ ```console
2299
2401
  $ just search "cat toupee"
2300
2402
  ```
2301
2403
 
@@ -2422,7 +2524,7 @@ d:
2422
2524
 
2423
2525
  …running _b_ prints:
2424
2526
 
2425
- ```sh
2527
+ ```console
2426
2528
  $ just b
2427
2529
  echo 'A!'
2428
2530
  A!
@@ -2455,7 +2557,7 @@ c:
2455
2557
 
2456
2558
  …running _b_ prints:
2457
2559
 
2458
- ```sh
2560
+ ```console
2459
2561
  $ just b
2460
2562
  echo 'A!'
2461
2563
  A!
@@ -2507,7 +2609,7 @@ ruby:
2507
2609
  puts "Hello from ruby!"
2508
2610
  ```
2509
2611
 
2510
- ```sh
2612
+ ```console
2511
2613
  $ just polyglot
2512
2614
  Hello from python!
2513
2615
  Greetings from JavaScript!
@@ -2755,7 +2857,7 @@ conditional:
2755
2857
  The extra leading whitespace before the second line of the `conditional` recipe
2756
2858
  will produce a parse error:
2757
2859
 
2758
- ```sh
2860
+ ```console
2759
2861
  $ just conditional
2760
2862
  error: Recipe line has extra leading whitespace
2761
2863
  |
@@ -2898,7 +3000,7 @@ recipe:
2898
3000
  `just` supports a number of useful command line options for listing, dumping,
2899
3001
  and debugging recipes and variables:
2900
3002
 
2901
- ```sh
3003
+ ```console
2902
3004
  $ just --list
2903
3005
  Available recipes:
2904
3006
  js
@@ -2916,14 +3018,14 @@ polyglot: python js perl sh ruby
2916
3018
 
2917
3019
  Some command-line options can be set with environment variables. For example:
2918
3020
 
2919
- ```sh
3021
+ ```console
2920
3022
  $ export JUST_UNSTABLE=1
2921
3023
  $ just
2922
3024
  ```
2923
3025
 
2924
3026
  Is equivalent to:
2925
3027
 
2926
- ```sh
3028
+ ```console
2927
3029
  $ just --unstable
2928
3030
  ```
2929
3031
 
@@ -2942,7 +3044,7 @@ _test-helper:
2942
3044
  ./bin/super-secret-test-helper-stuff
2943
3045
  ```
2944
3046
 
2945
- ```sh
3047
+ ```console
2946
3048
  $ just --list
2947
3049
  Available recipes:
2948
3050
  test
@@ -2950,7 +3052,7 @@ Available recipes:
2950
3052
 
2951
3053
  And from `just --summary`:
2952
3054
 
2953
- ```sh
3055
+ ```console
2954
3056
  $ just --summary
2955
3057
  test
2956
3058
  ```
@@ -2968,7 +3070,7 @@ alias b := bar
2968
3070
  bar:
2969
3071
  ```
2970
3072
 
2971
- ```sh
3073
+ ```console
2972
3074
  $ just --list
2973
3075
  Available recipes:
2974
3076
  bar
@@ -2991,7 +3093,7 @@ line:
2991
3093
 
2992
3094
  Now only the lines starting with `@` will be echoed:
2993
3095
 
2994
- ```sh
3096
+ ```console
2995
3097
  $ just quiet
2996
3098
  hello
2997
3099
  goodbye
@@ -3031,7 +3133,7 @@ foo:
3031
3133
  echo 'Foo!'
3032
3134
  ```
3033
3135
 
3034
- ```sh
3136
+ ```console
3035
3137
  $ just foo
3036
3138
  Foo!
3037
3139
  ```
@@ -3045,7 +3147,7 @@ executing it:
3045
3147
  echo 'Bar!'
3046
3148
  ```
3047
3149
 
3048
- ```sh
3150
+ ```console
3049
3151
  $ just bar
3050
3152
  #!/usr/bin/env bash
3051
3153
  echo 'Bar!'
@@ -3061,7 +3163,7 @@ git *args:
3061
3163
  @git {{args}}
3062
3164
  ```
3063
3165
 
3064
- ```sh
3166
+ ```console
3065
3167
  $ just git status
3066
3168
  fatal: not a git repository (or any of the parent directories): .git
3067
3169
  error: Recipe `git` failed on line 2 with exit code 128
@@ -3076,7 +3178,7 @@ git *args:
3076
3178
  @git {{args}}
3077
3179
  ```
3078
3180
 
3079
- ```sh
3181
+ ```console
3080
3182
  $ just git status
3081
3183
  fatal: not a git repository (or any of the parent directories): .git
3082
3184
  ```
@@ -3130,7 +3232,7 @@ For example, if you are in a directory which contains a subdirectory named
3130
3232
  `foo`, which contains a `justfile` with the recipe `build`, which is also the
3131
3233
  default recipe, the following are all equivalent:
3132
3234
 
3133
- ```sh
3235
+ ```console
3134
3236
  $ (cd foo && just build)
3135
3237
  $ just foo/build
3136
3238
  $ just foo/
@@ -3139,7 +3241,7 @@ $ just foo/
3139
3241
  Additional recipes after the first are sought in the same `justfile`. For
3140
3242
  example, the following are both equivalent:
3141
3243
 
3142
- ```sh
3244
+ ```console
3143
3245
  $ just foo/a b
3144
3246
  $ (cd foo && just a b)
3145
3247
  ```
@@ -3168,7 +3270,7 @@ b:
3168
3270
 
3169
3271
  `foo/bar.just` will be included in `justfile` and recipe `b` will be defined:
3170
3272
 
3171
- ```sh
3273
+ ```console
3172
3274
  $ just b
3173
3275
  B
3174
3276
  $ just a
@@ -3228,14 +3330,14 @@ uses its own settings.
3228
3330
 
3229
3331
  Recipes in submodules can be invoked as subcommands:
3230
3332
 
3231
- ```sh
3333
+ ```console
3232
3334
  $ just bar b
3233
3335
  B
3234
3336
  ```
3235
3337
 
3236
3338
  Or with path syntax:
3237
3339
 
3238
- ```sh
3340
+ ```console
3239
3341
  $ just bar::b
3240
3342
  B
3241
3343
  ```
@@ -3293,7 +3395,7 @@ output<sup>1.30.0</sup>:
3293
3395
  mod foo
3294
3396
  ```
3295
3397
 
3296
- ```sh
3398
+ ```console
3297
3399
  $ just --list
3298
3400
  Available recipes:
3299
3401
  foo ... # foo is a great module!
@@ -3314,7 +3416,7 @@ used to keep a `justfile` hidden.
3314
3416
  By adding a shebang line to the top of a `justfile` and making it executable,
3315
3417
  `just` can be used as an interpreter for scripts:
3316
3418
 
3317
- ```sh
3419
+ ```console
3318
3420
  $ cat > script <<EOF
3319
3421
  #!/usr/bin/env just --justfile
3320
3422
 
@@ -3354,7 +3456,7 @@ newlines.
3354
3456
  You can overwrite the current justfile with a canonically-formatted version
3355
3457
  using the currently-unstable `--fmt` flag:
3356
3458
 
3357
- ```sh
3459
+ ```console
3358
3460
  $ cat justfile
3359
3461
  # A lot of blank lines
3360
3462
 
@@ -3379,7 +3481,7 @@ formatted correctly, and will exit with 1 and print a diff if it is not.
3379
3481
  You can use the `--dump` command to output a formatted version of the
3380
3482
  `justfile` to stdout:
3381
3483
 
3382
- ```sh
3484
+ ```console
3383
3485
  $ just --dump > formatted-justfile
3384
3486
  ```
3385
3487
 
@@ -3408,7 +3510,7 @@ bar:
3408
3510
  echo bar
3409
3511
  ```
3410
3512
 
3411
- ```sh
3513
+ ```console
3412
3514
  $ just bar
3413
3515
  Trying ../justfile
3414
3516
  echo bar
@@ -3426,7 +3528,7 @@ foo argument:
3426
3528
 
3427
3529
  The following command will create two files, `some` and `argument.txt`:
3428
3530
 
3429
- ```sh
3531
+ ```console
3430
3532
  $ just foo "some argument.txt"
3431
3533
  ```
3432
3534
 
@@ -3561,7 +3663,7 @@ when files change.
3561
3663
 
3562
3664
  To re-run the recipe `foo` when any file changes:
3563
3665
 
3564
- ```sh
3666
+ ```console
3565
3667
  watchexec just foo
3566
3668
  ```
3567
3669
 
@@ -3590,7 +3692,7 @@ In `bash`, the aliased command may not keep the shell completion functionality
3590
3692
  described in the next section. Add the following line to your `.bashrc` to use
3591
3693
  the same completion function as `just` for your aliased command:
3592
3694
 
3593
- ```sh
3695
+ ```console
3594
3696
  complete -F _just -o bashdefault -o default j
3595
3697
  ```
3596
3698
 
@@ -3602,7 +3704,7 @@ are available [release archives](https://github.com/casey/just/releases).
3602
3704
  The `just` binary can also generate the same completion scripts at runtime
3603
3705
  using `just --completions SHELL`:
3604
3706
 
3605
- ```sh
3707
+ ```console
3606
3708
  $ just --completions zsh > just.zsh
3607
3709
  ```
3608
3710
 
@@ -3682,7 +3784,7 @@ If you want to call the recipes in `~/.user.justfile` by name, and don't mind
3682
3784
  creating an alias for every recipe, add the following to your shell's
3683
3785
  initialization script:
3684
3786
 
3685
- ```sh
3787
+ ```console
3686
3788
  for recipe in `just --justfile ~/.user.justfile --summary`; do
3687
3789
  alias $recipe="just --justfile ~/.user.justfile --working-directory . $recipe"
3688
3790
  done
@@ -3699,7 +3801,7 @@ advance in `justfile` technology.
3699
3801
 
3700
3802
  If you'd rather not create aliases for every recipe, you can create a single alias:
3701
3803
 
3702
- ```sh
3804
+ ```console
3703
3805
  alias .j='just --justfile ~/.user.justfile --working-directory .'
3704
3806
  ```
3705
3807
 
@@ -3716,7 +3818,7 @@ You can customize the above aliases with additional options. For example, if
3716
3818
  you'd prefer to have the recipes in your `justfile` run in your home directory,
3717
3819
  instead of the current directory:
3718
3820
 
3719
- ```sh
3821
+ ```console
3720
3822
  alias .j='just --justfile ~/.user.justfile --working-directory ~'
3721
3823
  ```
3722
3824
 
@@ -3946,7 +4048,7 @@ test:
3946
4048
 
3947
4049
  `make` will refuse to run your tests:
3948
4050
 
3949
- ```sh
4051
+ ```console
3950
4052
  $ make test
3951
4053
  make: `test' is up to date.
3952
4054
  ```