File: locale

package info (click to toggle)
yash 2.60-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,152 kB
  • sloc: ansic: 34,578; makefile: 851; sh: 808; sed: 16
file content (61 lines) | stat: -rw-r--r-- 1,923 bytes parent folder | download
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
# (C) 2010 magicant

# Completion script for the "locale" command.
# Supports POSIX 2008, GNU libc 2.12.1

function completion/locale {

        case $("${WORDS[1]}" --version 2>/dev/null) in
                (*'GNU libc'*) typeset type=glibc ;;
                (*)            typeset type="$(uname 2>/dev/null)" ;;
        esac
        case $type in
                (glibc) typeset long=true ;;
                (*)     typeset long= ;;
        esac

        typeset OPTIONS ARGOPT PREFIX
        OPTIONS=( #>#
        "a ${long:+--all-locales}; print all available locale names"
        "c ${long:+--category-name}; print names of the selected categories"
        "k ${long:+--keyword-name}; print names of the selected keywords"
        "m ${long:+--charmaps}; print all available charmaps"
        ) #<#

        case $type in (glibc)
                OPTIONS=("$OPTIONS" #>#
                "v --verbose; print more information"
                "? --help; print help"
                "--usage"
                "V --version; print version info"
                ) #<#
        esac

        command -f completion//parseoptions ${long:+-es}
        case $ARGOPT in
        (-)
                command -f completion//completeoptions
                ;;
        (*)
                IFS="
"
                typeset category keywords
                for category in $(locale 2>/dev/null); do
                        category=${category%%=*}
                        case $category in
                        (LANG|LC_ALL)
                                ;;
                        (*)
                                keywords=($(locale -k "$category" 2>/dev/null))
                                complete -- "$category" "${keywords%%=*}"
                                ;;
                        esac
                done
                complete charmap
                ;;
        esac

}


# vim: set ft=sh ts=8 sts=8 sw=8 et: