about summary refs log tree commit diff
path: root/Completion/Unix/Type/_date_formats
blob: 3dd2fa5071e789f926270ae89cc2100506c45171 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#autoload

local -a specs
local exps bs

if [[ -z $compstate[quote] ]]; then
  bs='\'
fi

false
if [[ $PREFIX == *%(|[-EO]|<->) ]]; then
  specs=()
  if [[ $PREFIX != *<-> ]]; then
    specs+=(
      'a:abbreviated day name'
      'A:full day name'
      'b:abbreviated month name'
      'B:full month name'
      'c:preferred locale date and time'
      'C:2-digit century'
      'd:day of month (01-31)'
      'D:american format month/day/year (%m/%d/%y)'
      'e:day of month ( 1-31)'
      'E:alternate representation'
      'F:ISO 8601 year-month-date (%Y-%m-%d)'
      'G:4-digit ISO 8601 week-based year'
      'g:2-digit ISO 8601 week-based year'
      'h:abbreviated month name'
      'H:hour (00-23)'
      'I:hour (01-12)'
      'j:day of year (001-366)'
      'k:hour ( 1-23)'
      'l:hour ( 1-12)'
      'm:month (01-12)'
      'M:minute (00-59)'
      'n:newline'
      'O:alternative format modifier'
      'p:locale dependent AM/PM'
      'P:lower case locale dependent am/pm'
      'r:locale dependent a.m. or p.m. time (%I:%M:%S %p)'
      'R:24-hour notation time (%H:%M)'
      's:seconds since the epoch'
      'S:seconds (00-60)'
      't:tab'
      'T:24-hour notation with seconds (%H:%M:%S)'
      'u:day of week (1-7, 1=monday)'
      'U:week number of current year, sunday based (00-53)'
      'V:ISO 8601 week number of current year, week 1 has 4 days in current year (01-53)'
      'w:day of week (0-6, 0=sunday)'
      'W:week number of current year, monday based (00-53)'
      'x:locale dependent date representation without time'
      'X:locale dependent time representation without date'
      'y:2-digit year (00-99)'
      'Y:full year'
      'z:UTC offset'
      'Z:timezone name'
      '%:A %'
      '-:strip leading space or zero (gnu extension)'
    )
    if [[ $1 == zsh ]]; then
      specs+=(
        'f:day of month (1-31)'
        'K:hour (0-23)'
        'L:hour (0-12)'
      )
    fi
  fi
  if [[ $1 == zsh ]]; then
    specs+=(
      '.:fractional part of seconds since epoch'
    )
  fi
  compset -P "*"
  _describe -t date-format-specifier 'date format specifier' specs -S ''
  _message -e date-format-precision 'precision for %%. (1-6)'
else
  _default "$@"
  compset -P "*"
  _describe -t date-format-specifier 'date format specifier' '(%)' -S ''
fi