nushell/docs/commands/cal.md
Joseph T. Lyons f5e03aaf1c
Add cal command (#1739)
* Add cal command

* Fix docmentation to show commands on two lines

* Use bullet points on flag documentation for cal

* Dereference day before calling string method

* Silence Clippy warning regarding a function with too many arguments

* Update cal flag descriptions and documentation

* Add some tests for the cal command
2020-05-10 11:05:48 +12:00

188 lines
19 KiB
Markdown

# cal
Use `cal` to display a calendar.
## Flags
* `-m`, `--month-names`: Display the month names instead of integers
* `-y`, `--year`: Display a year-long calendar for the specified year
## Examples
```shell
> cal
───┬──────┬───────┬────────┬────────┬─────────┬───────────┬─────────┬────────┬──────────
# │ year │ month │ sunday │ monday │ tuesday │ wednesday │ thurday │ friday │ saturday
───┼──────┼───────┼────────┼────────┼─────────┼───────────┼─────────┼────────┼──────────
020205 │ │ │ │ │ │ 12
1202053456789
22020510111213141516
32020517181920212223
42020524252627282930
52020531 │ │ │ │ │ │
───┴──────┴───────┴────────┴────────┴─────────┴───────────┴─────────┴────────┴──────────
```
```shell
> cal -y 2020
────┬──────┬───────┬────────┬────────┬─────────┬───────────┬─────────┬────────┬──────────
# │ year │ month │ sunday │ monday │ tuesday │ wednesday │ thurday │ friday │ saturday
────┼──────┼───────┼────────┼────────┼─────────┼───────────┼─────────┼────────┼──────────
020201 │ │ │ │ 1234
120201567891011
22020112131415161718
32020119202122232425
420201262728293031
520202 │ │ │ │ │ │ │ 1
6202022345678
7202029101112131415
82020216171819202122
92020223242526272829
10202031234567
1120203891011121314
122020315161718192021
132020322232425262728
1420203293031 │ │ │ │
1520204 │ │ │ │ 1234
1620204567891011
172020412131415161718
182020419202122232425
19202042627282930 │ │
2020205 │ │ │ │ │ │ 12
21202053456789
222020510111213141516
232020517181920212223
242020524252627282930
252020531 │ │ │ │ │ │
2620206 │ │ 123456
272020678910111213
282020614151617181920
292020621222324252627
3020206282930 │ │ │ │
3120207 │ │ │ │ 1234
3220207567891011
332020712131415161718
342020719202122232425
3520207262728293031
3620208 │ │ │ │ │ │ │ 1
37202082345678
38202089101112131415
392020816171819202122
402020823242526272829
41202083031 │ │ │ │ │
4220209 │ │ │ 12345
43202096789101112
442020913141516171819
452020920212223242526
462020927282930 │ │ │
47202010 │ │ │ │ │ 123
4820201045678910
4920201011121314151617
5020201018192021222324
5120201025262728293031
522020111234567
53202011891011121314
5420201115161718192021
5520201122232425262728
562020112930 │ │ │ │ │
57202012 │ │ │ 12345
582020126789101112
5920201213141516171819
6020201220212223242526
612020122728293031 │ │
────┴──────┴───────┴────────┴────────┴─────────┴───────────┴─────────┴────────┴──────────
```
```shell
> cal -my 2020
────┬──────┬───────────┬────────┬────────┬─────────┬───────────┬─────────┬────────┬──────────
# │ year │ month │ sunday │ monday │ tuesday │ wednesday │ thurday │ friday │ saturday
────┼──────┼───────────┼────────┼────────┼─────────┼───────────┼─────────┼────────┼──────────
02020 │ january │ │ │ │ 1234
12020 │ january │ 567891011
22020 │ january │ 12131415161718
32020 │ january │ 19202122232425
42020 │ january │ 262728293031
52020 │ february │ │ │ │ │ │ │ 1
62020 │ february │ 2345678
72020 │ february │ 9101112131415
82020 │ february │ 16171819202122
92020 │ february │ 23242526272829
102020 │ march │ 1234567
112020 │ march │ 891011121314
122020 │ march │ 15161718192021
132020 │ march │ 22232425262728
142020 │ march │ 293031 │ │ │ │
152020 │ april │ │ │ │ 1234
162020 │ april │ 567891011
172020 │ april │ 12131415161718
182020 │ april │ 19202122232425
192020 │ april │ 2627282930 │ │
202020 │ may │ │ │ │ │ │ 12
212020 │ may │ 3456789
222020 │ may │ 10111213141516
232020 │ may │ 17181920212223
242020 │ may │ 24252627282930
252020 │ may │ 31 │ │ │ │ │ │
262020 │ june │ │ 123456
272020 │ june │ 78910111213
282020 │ june │ 14151617181920
292020 │ june │ 21222324252627
302020 │ june │ 282930 │ │ │ │
312020 │ july │ │ │ │ 1234
322020 │ july │ 567891011
332020 │ july │ 12131415161718
342020 │ july │ 19202122232425
352020 │ july │ 262728293031
362020 │ august │ │ │ │ │ │ │ 1
372020 │ august │ 2345678
382020 │ august │ 9101112131415
392020 │ august │ 16171819202122
402020 │ august │ 23242526272829
412020 │ august │ 3031 │ │ │ │ │
422020 │ september │ │ │ 12345
432020 │ september │ 6789101112
442020 │ september │ 13141516171819
452020 │ september │ 20212223242526
462020 │ september │ 27282930 │ │ │
472020 │ october │ │ │ │ │ 123
482020 │ october │ 45678910
492020 │ october │ 11121314151617
502020 │ october │ 18192021222324
512020 │ october │ 25262728293031
522020 │ november │ 1234567
532020 │ november │ 891011121314
542020 │ november │ 15161718192021
552020 │ november │ 22232425262728
562020 │ november │ 2930 │ │ │ │ │
572020 │ december │ │ │ 12345
582020 │ december │ 6789101112
592020 │ december │ 13141516171819
602020 │ december │ 20212223242526
612020 │ december │ 2728293031 │ │
────┴──────┴───────────┴────────┴────────┴─────────┴───────────┴─────────┴────────┴──────────
```
```shell
> cal -my 2303 | where month == "june"
───┬──────┬───────┬────────┬────────┬─────────┬───────────┬─────────┬────────┬──────────
# │ year │ month │ sunday │ monday │ tuesday │ wednesday │ thurday │ friday │ saturday
───┼──────┼───────┼────────┼────────┼─────────┼───────────┼─────────┼────────┼──────────
02303 │ june │ │ 123456
12303 │ june │ 78910111213
22303 │ june │ 14151617181920
32303 │ june │ 21222324252627
42303 │ june │ 282930 │ │ │ │
───┴──────┴───────┴────────┴────────┴─────────┴───────────┴─────────┴────────┴──────────
```
```shell
> cal -my 2020 | where friday == 13
───┬──────┬──────────┬────────┬────────┬─────────┬───────────┬─────────┬────────┬──────────
# │ year │ month │ sunday │ monday │ tuesday │ wednesday │ thurday │ friday │ saturday
───┼──────┼──────────┼────────┼────────┼─────────┼───────────┼─────────┼────────┼──────────
02020 │ march │ 891011121314
12020 │ november │ 891011121314
───┴──────┴──────────┴────────┴────────┴─────────┴───────────┴─────────┴────────┴──────────
```