forked from lastpass/lastpass-cli
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompletions-lpass.fish
218 lines (182 loc) · 5.88 KB
/
completions-lpass.fish
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
# fish-shell completion for lastpass-cli
#
# for single-user installation, copy this file to
# ~/.config/fish/completions/lpass.fish
function __lpass_entries
lpass ls --sync auto --color never \
| string replace -r '^(\(none\)/)?(.*)' '$2' \
| string replace -r '^ \[id: (\d+)\]$' '$1' \
| string replace -r '^(.*) \[id: \d+\]$' '$1'
end
function __lpass_needs_command
set cmd (commandline -opc)
test (count $cmd) -eq 1
end
function __lpass_using_command
set cmd (commandline -opc)
test (count $cmd) -gt 1
and contains -- $cmd[2] $argv
end
complete -f -c lpass -l help -n '__lpass_needs_command' -d 'Print usage'
complete -f -c lpass -l version -n '__lpass_needs_command' -d 'Print version'
# Commands
complete -f -c lpass -n '__lpass_needs_command' -a add \
-d 'Add entry'
complete -f -c lpass -n '__lpass_needs_command' -a duplicate \
-d 'Duplicate password'
complete -f -c lpass -n '__lpass_needs_command' -a edit \
-d 'Edit entry'
complete -f -c lpass -n '__lpass_needs_command' -a export \
-d 'Export passwords as CSV'
complete -f -c lpass -n '__lpass_needs_command' -a generate \
-d 'Create a new entry with a generated password'
complete -f -c lpass -n '__lpass_needs_command' -a import \
-d 'Import CSV as passwords'
complete -f -c lpass -n '__lpass_needs_command' -a login \
-d 'Login to LastPass'
complete -f -c lpass -n '__lpass_needs_command' -a logout \
-d 'Logout from LastPass'
complete -f -c lpass -n '__lpass_needs_command' -a ls \
-d 'List entries'
complete -f -c lpass -n '__lpass_needs_command' -a mv \
-d 'Move entry to group'
complete -f -c lpass -n '__lpass_needs_command' -a passwd \
-d 'Change your LastPass master password'
complete -f -c lpass -n '__lpass_needs_command' -a rm \
-d 'Remove entry'
complete -f -c lpass -n '__lpass_needs_command' -a share \
-d 'Perform operations on a share'
complete -f -c lpass -n '__lpass_needs_command' -a show \
-d 'Show entry details'
complete -f -c lpass -n '__lpass_needs_command' -a status \
-d 'Show status'
complete -f -c lpass -n '__lpass_needs_command' -a sync \
-d 'Synchronize local cache with server'
# {UNIQUENAME|UNIQUEID}
complete -f -c lpass \
-n '__lpass_using_command show mv edit generate duplicate rm' \
-a '(__lpass_entries)'
# --all
complete -f -c lpass -n '__lpass_using_command show' \
-l all \
-d 'All fields'
# --attach=ATTACHID
complete -f -c lpass -n '__lpass_using_command show' \
-l attach \
-d 'Attach'
# --background -b
complete -f -c lpass -n '__lpass_using_command sync' \
-s b -l background \
-d 'Synchronize in background'
# --basic-regexp -G
complete -f -c lpass -n '__lpass_using_command show' \
-s G -l basic-regexp \
-d 'Search with regular expression'
# --clip -c
complete -f -c lpass -n '__lpass_using_command show generate' \
-s c -l clip \
-d 'Copy output to clipboard'
# --color=COLOR
complete -f -c lpass \
-n '__lpass_using_command login logout show ls mv add edit duplicate rm sync export status' \
-r -l color \
-a 'auto never always' \
-d 'When to use colors'
# --expand-multi
complete -f -c lpass -n '__lpass_using_command show' \
-s x -l expand-multi \
-d 'Expand multi'
# --field=FIELD
complete -f -c lpass -n '__lpass_using_command show add edit' \
-r -l field \
-d 'Custom field'
# --fields=FIELDLIST
complete -f -c lpass -n '__lpass_using_command export' \
-r -l fields \
-d 'Field list'
# --fixed-strings -F
complete -f -c lpass -n '__lpass_using_command show' \
-s F -l fixed-strings \
-d 'Search substrings'
# --force -f
complete -f -c lpass -n '__lpass_using_command login logout' \
-s f -l force \
-d 'Do not ask for confirmation'
# --format=FMTSTR
complete -f -c lpass -n '__lpass_using_command show ls' \
-l format \
-d 'Format string'
# --id
complete -f -c lpass -n '__lpass_using_command show' \
-l id \
-d 'ID'
# --long -l
complete -f -c lpass -n '__lpass_using_command ls' \
-s l -l long \
-d 'More info'
# -m
complete -f -c lpass -n '__lpass_using_command ls' \
-s m \
-d 'Modified time'
# --name
complete -f -c lpass -n '__lpass_using_command edit show' \
-l name \
-d 'Name'
# --non-interactive
complete -f -c lpass -n '__lpass_using_command add edit' \
-l non-interactive \
-d 'Use standard input instead of $EDITOR'
# --no-symbols
complete -f -c lpass -n '__lpass_using_command generate' \
-l no-symbols \
-d 'No symbols'
# --note-type=NOTETYPE
complete -f -c lpass -n '__lpass_using_command add' \
-r -l note-type \
-d 'Note type'
# --notes
complete -f -c lpass -n '__lpass_using_command show add edit' \
-l notes \
-d 'Notes'
# --password
complete -f -c lpass -n '__lpass_using_command show add edit' \
-l password \
-d 'Password'
# --plaintext-key
complete -f -c lpass -n '__lpass_using_command login' \
-l plaintext-key \
-d 'Store key in plain text'
# --quiet -q
complete -f -c lpass -n '__lpass_using_command status' \
-s q -l quiet \
-d 'No output'
# --sync=SYNC
complete -f -c lpass \
-n '__lpass_using_command show ls add edit generate duplicate rm export import' \
-r -l sync \
-a 'auto now no' \
-d 'Synchronize local cache with server'
# --trust
complete -f -c lpass -n '__lpass_using_command login' \
-l trust \
-d 'Do not require multifactor authentication for next logins'
# -u
complete -f -c lpass -n '__lpass_using_command ls' \
-s u \
-d 'Last used time'
# --url=URL
complete -f -c lpass -n '__lpass_using_command generate' \
-r -l url \
-d 'URL'
# --url
complete -f -c lpass -n '__lpass_using_command show add edit' \
-l url \
-d 'URL'
# --username
complete -f -c lpass -n '__lpass_using_command show add edit' \
-l username \
-d 'Username'
# --username=USERNAME
complete -f -c lpass -n '__lpass_using_command generate' \
-r -l username \
-d 'Username'