File: bindkey

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 (225 lines) | stat: -rw-r--r-- 15,467 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
# (C) 2010 magicant

# Completion script for the "bindkey" built-in command.

function completion/bindkey {

        typeset OPTIONS ARGOPT PREFIX
        OPTIONS=( #>#
        "a --vi-command; change or print vi-command-mode key bindings"
        "e --emacs; change or print emacs-mode key bindings"
        "l --list; print all key binding command names"
        "v --vi-insert; change or print vi-insert-mode key bindings"
        "--help"
        ) #<#

        command -f completion//parseoptions -es
        case $ARGOPT in
        (-)
                command -f completion//completeoptions
                ;;
        (*)
                command -f completion//getoperands
                if [ ${WORDS[#]} -le 0 ]; then
                        # complete a key sequence
                        TARGETWORD=${TARGETWORD//\\\\/}
                        case $TARGETWORD in (*\\*)
                                PREFIX=${TARGETWORD%\\*}
                                #>>#
                                complete -T -P "$PREFIX" '\\' -D "backslash"
                                complete -T -P "$PREFIX" '\B' -D "backspace"
                                complete -T -P "$PREFIX" '\D' -D "down arrow"
                                complete -T -P "$PREFIX" '\E' -D "end"
                                complete -T -P "$PREFIX" '\H' -D "home"
                                complete -T -P "$PREFIX" '\I' -D "insert"
                                complete -T -P "$PREFIX" '\L' -D "left arrow"
                                complete -T -P "$PREFIX" '\N' -D "page-down"
                                complete -T -P "$PREFIX" '\P' -D "page-up"
                                complete -T -P "$PREFIX" '\R' -D "right arrow"
                                complete -T -P "$PREFIX" '\U' -D "up arrow"
                                complete -T -P "$PREFIX" '\X' -D "delete"
                                complete -T -P "$PREFIX" '\!' -D "INTR (normally Ctrl-C)"
                                complete -T -P "$PREFIX" '\#' -D "EOF (normally Ctrl-D)"
                                complete -T -P "$PREFIX" '\$' -D "KILL (normally Ctrl-U)"
                                complete -T -P "$PREFIX" '\?' -D "ERASE (normally Ctrl-H)"
                                complete -T -P "$PREFIX" '\^@' -D "Ctrl-@"
                                complete -T -P "$PREFIX" '\^A' -D "Ctrl-A"
                                complete -T -P "$PREFIX" '\^B' -D "Ctrl-B"
                                complete -T -P "$PREFIX" '\^C' -D "Ctrl-C"
                                complete -T -P "$PREFIX" '\^D' -D "Ctrl-D"
                                complete -T -P "$PREFIX" '\^E' -D "Ctrl-E"
                                complete -T -P "$PREFIX" '\^F' -D "Ctrl-F"
                                complete -T -P "$PREFIX" '\^G' -D "Ctrl-G"
                                complete -T -P "$PREFIX" '\^H' -D "Ctrl-H"
                                complete -T -P "$PREFIX" '\^I' -D "Ctrl-I (tab)"
                                complete -T -P "$PREFIX" '\^J' -D "Ctrl-J (newline)"
                                complete -T -P "$PREFIX" '\^K' -D "Ctrl-K"
                                complete -T -P "$PREFIX" '\^L' -D "Ctrl-L"
                                complete -T -P "$PREFIX" '\^M' -D "Ctrl-M (carriage return)"
                                complete -T -P "$PREFIX" '\^N' -D "Ctrl-N"
                                complete -T -P "$PREFIX" '\^O' -D "Ctrl-O"
                                complete -T -P "$PREFIX" '\^P' -D "Ctrl-P"
                                complete -T -P "$PREFIX" '\^Q' -D "Ctrl-Q"
                                complete -T -P "$PREFIX" '\^R' -D "Ctrl-R"
                                complete -T -P "$PREFIX" '\^S' -D "Ctrl-S"
                                complete -T -P "$PREFIX" '\^T' -D "Ctrl-T"
                                complete -T -P "$PREFIX" '\^U' -D "Ctrl-U"
                                complete -T -P "$PREFIX" '\^V' -D "Ctrl-V"
                                complete -T -P "$PREFIX" '\^W' -D "Ctrl-W"
                                complete -T -P "$PREFIX" '\^X' -D "Ctrl-X"
                                complete -T -P "$PREFIX" '\^Y' -D "Ctrl-Y"
                                complete -T -P "$PREFIX" '\^Z' -D "Ctrl-Z"
                                complete -T -P "$PREFIX" '\^[' -D "Ctrl-[ (escape)"
                                complete -T -P "$PREFIX" '\^\' -D 'Ctrl-\'
                                complete -T -P "$PREFIX" '\^]' -D "Ctrl-]"
                                complete -T -P "$PREFIX" '\^^' -D "Ctrl-^"
                                complete -T -P "$PREFIX" '\^_' -D "Ctrl-_"
                                complete -T -P "$PREFIX" '\^?' -D "Ctrl-?"
                                complete -T -P "$PREFIX" '\F00' -D "F0"
                                complete -T -P "$PREFIX" '\F01' -D "F1"
                                complete -T -P "$PREFIX" '\F02' -D "F2"
                                complete -T -P "$PREFIX" '\F03' -D "F3"
                                complete -T -P "$PREFIX" '\F04' -D "F4"
                                complete -T -P "$PREFIX" '\F05' -D "F5"
                                complete -T -P "$PREFIX" '\F06' -D "F6"
                                complete -T -P "$PREFIX" '\F07' -D "F7"
                                complete -T -P "$PREFIX" '\F08' -D "F8"
                                complete -T -P "$PREFIX" '\F09' -D "F9"
                                complete -T -P "$PREFIX" '\F10' -D "F10"
                                complete -T -P "$PREFIX" '\F11' -D "F11"
                                complete -T -P "$PREFIX" '\F12' -D "F12"
                                complete -T -P "$PREFIX" '\F13' -D "F13"
                                complete -T -P "$PREFIX" '\F14' -D "F14"
                                complete -T -P "$PREFIX" '\F15' -D "F15"
                                complete -T -P "$PREFIX" '\F16' -D "F16"
                                complete -T -P "$PREFIX" '\F17' -D "F17"
                                complete -T -P "$PREFIX" '\F18' -D "F18"
                                complete -T -P "$PREFIX" '\F19' -D "F19"
                                complete -T -P "$PREFIX" '\F20' -D "F20"
                                complete -T -P "$PREFIX" '\F21' -D "F21"
                                complete -T -P "$PREFIX" '\F22' -D "F22"
                                complete -T -P "$PREFIX" '\F23' -D "F23"
                                complete -T -P "$PREFIX" '\F24' -D "F24"
                                complete -T -P "$PREFIX" '\F25' -D "F25"
                                complete -T -P "$PREFIX" '\F26' -D "F26"
                                complete -T -P "$PREFIX" '\F27' -D "F27"
                                complete -T -P "$PREFIX" '\F28' -D "F28"
                                complete -T -P "$PREFIX" '\F29' -D "F29"
                                complete -T -P "$PREFIX" '\F30' -D "F30"
                                complete -T -P "$PREFIX" '\F31' -D "F31"
                                complete -T -P "$PREFIX" '\F32' -D "F32"
                                complete -T -P "$PREFIX" '\F33' -D "F33"
                                complete -T -P "$PREFIX" '\F34' -D "F34"
                                complete -T -P "$PREFIX" '\F35' -D "F35"
                                complete -T -P "$PREFIX" '\F36' -D "F36"
                                complete -T -P "$PREFIX" '\F37' -D "F37"
                                complete -T -P "$PREFIX" '\F38' -D "F38"
                                complete -T -P "$PREFIX" '\F39' -D "F39"
                                complete -T -P "$PREFIX" '\F40' -D "F40"
                                complete -T -P "$PREFIX" '\F41' -D "F41"
                                complete -T -P "$PREFIX" '\F42' -D "F42"
                                complete -T -P "$PREFIX" '\F43' -D "F43"
                                complete -T -P "$PREFIX" '\F44' -D "F44"
                                complete -T -P "$PREFIX" '\F45' -D "F45"
                                complete -T -P "$PREFIX" '\F46' -D "F46"
                                complete -T -P "$PREFIX" '\F47' -D "F47"
                                complete -T -P "$PREFIX" '\F48' -D "F48"
                                complete -T -P "$PREFIX" '\F49' -D "F49"
                                complete -T -P "$PREFIX" '\F50' -D "F50"
                                complete -T -P "$PREFIX" '\F51' -D "F51"
                                complete -T -P "$PREFIX" '\F52' -D "F52"
                                complete -T -P "$PREFIX" '\F53' -D "F53"
                                complete -T -P "$PREFIX" '\F54' -D "F54"
                                complete -T -P "$PREFIX" '\F55' -D "F55"
                                complete -T -P "$PREFIX" '\F56' -D "F56"
                                complete -T -P "$PREFIX" '\F57' -D "F57"
                                complete -T -P "$PREFIX" '\F58' -D "F58"
                                complete -T -P "$PREFIX" '\F59' -D "F59"
                                complete -T -P "$PREFIX" '\F60' -D "F60"
                                complete -T -P "$PREFIX" '\F61' -D "F61"
                                complete -T -P "$PREFIX" '\F62' -D "F62"
                                complete -T -P "$PREFIX" '\F63' -D "F63"
                                complete -T -P "$PREFIX" '\a1' -D "keypad upper-left"
                                complete -T -P "$PREFIX" '\a3' -D "keypad upper-right"
                                complete -T -P "$PREFIX" '\b2' -D "keypad center"
                                complete -T -P "$PREFIX" '\c1' -D "keypad lower-left"
                                complete -T -P "$PREFIX" '\c3' -D "keypad lower-right"
                                complete -T -P "$PREFIX" '\ca' -D "clear all tabs"
                                complete -T -P "$PREFIX" '\cl' -D "close"
                                complete -T -P "$PREFIX" '\cn' -D "cancel"
                                complete -T -P "$PREFIX" '\co' -D "command"
                                complete -T -P "$PREFIX" '\cp' -D "copy"
                                complete -T -P "$PREFIX" '\cr' -D "create"
                                complete -T -P "$PREFIX" '\cs' -D "clear screen"
                                complete -T -P "$PREFIX" '\ct' -D "clear tab"
                                complete -T -P "$PREFIX" '\dl' -D "delete line"
                                complete -T -P "$PREFIX" '\ei' -D "exit insert mode"
                                complete -T -P "$PREFIX" '\el' -D "clear to end of line"
                                complete -T -P "$PREFIX" '\es' -D "clear to end of screen"
                                complete -T -P "$PREFIX" '\et' -D "enter (send)"
                                complete -T -P "$PREFIX" '\fd' -D "find"
                                complete -T -P "$PREFIX" '\hp' -D "help"
                                complete -T -P "$PREFIX" '\il' -D "insert line"
                                complete -T -P "$PREFIX" '\ll' -D "home down"
                                complete -T -P "$PREFIX" '\me' -D "message"
                                complete -T -P "$PREFIX" '\mk' -D "mark"
                                complete -T -P "$PREFIX" '\ms' -D "mouse event"
                                complete -T -P "$PREFIX" '\mv' -D "move"
                                complete -T -P "$PREFIX" '\nx' -D "next object"
                                complete -T -P "$PREFIX" '\on' -D "open"
                                complete -T -P "$PREFIX" '\op' -D "options"
                                complete -T -P "$PREFIX" '\pr' -D "print (copy)"
                                complete -T -P "$PREFIX" '\pv' -D "previous object"
                                complete -T -P "$PREFIX" '\rd' -D "redo"
                                complete -T -P "$PREFIX" '\re' -D "resume"
                                complete -T -P "$PREFIX" '\rf' -D "reference"
                                complete -T -P "$PREFIX" '\rh' -D "refresh"
                                complete -T -P "$PREFIX" '\rp' -D "replace"
                                complete -T -P "$PREFIX" '\rs' -D "restart"
                                complete -T -P "$PREFIX" '\sf' -D "scroll forward"
                                complete -T -P "$PREFIX" '\sl' -D "select"
                                complete -T -P "$PREFIX" '\sr' -D "scroll backward"
                                complete -T -P "$PREFIX" '\st' -D "set tab"
                                complete -T -P "$PREFIX" '\su' -D "suspend"
                                complete -T -P "$PREFIX" '\sv' -D "save"
                                complete -T -P "$PREFIX" '\ud' -D "undo"
                                complete -T -P "$PREFIX" '\SE' -D "shift + end"
                                complete -T -P "$PREFIX" '\SH' -D "shift + home"
                                complete -T -P "$PREFIX" '\SI' -D "shift + insert"
                                complete -T -P "$PREFIX" '\SL' -D "shift + left arrow"
                                complete -T -P "$PREFIX" '\SR' -D "shift + right arrow"
                                complete -T -P "$PREFIX" '\SX' -D "shift + delete"
                                complete -T -P "$PREFIX" '\Sbg' -D "shift + beginning"
                                complete -T -P "$PREFIX" '\Scn' -D "shift + cancel"
                                complete -T -P "$PREFIX" '\Sco' -D "shift + command"
                                complete -T -P "$PREFIX" '\Scp' -D "shift + copy"
                                complete -T -P "$PREFIX" '\Scr' -D "shift + create"
                                complete -T -P "$PREFIX" '\Sdl' -D "shift + delete line"
                                complete -T -P "$PREFIX" '\Sel' -D "shift + end of line"
                                complete -T -P "$PREFIX" '\Sex' -D "shift + exit"
                                complete -T -P "$PREFIX" '\Sfd' -D "shift + find"
                                complete -T -P "$PREFIX" '\Shp' -D "shift + help"
                                complete -T -P "$PREFIX" '\Smg' -D "shift + message"
                                complete -T -P "$PREFIX" '\Smv' -D "shift + move"
                                complete -T -P "$PREFIX" '\Snx' -D "shift + next"
                                complete -T -P "$PREFIX" '\Sop' -D "shift + options"
                                complete -T -P "$PREFIX" '\Spr' -D "shift + print"
                                complete -T -P "$PREFIX" '\Spv' -D "shift + previous"
                                complete -T -P "$PREFIX" '\Srd' -D "shift + redo"
                                complete -T -P "$PREFIX" '\Sre' -D "shift + resume"
                                complete -T -P "$PREFIX" '\Srp' -D "shift + replace"
                                complete -T -P "$PREFIX" '\Ssu' -D "shift + suspend"
                                complete -T -P "$PREFIX" '\Ssv' -D "shift + save"
                                complete -T -P "$PREFIX" '\Sud' -D "shift + undo"
                                #<<#
                        esac
                else
                        complete --bindkey -- -
                fi
                ;;
        esac

}


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