-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy path_treehouses
524 lines (520 loc) · 13.6 KB
/
_treehouses
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
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
#!/bin/bash
_treehouses_complete()
{
local idx subcmds
every_command=""
read -r -d '' every_command <<EOF || true
treehouses ap internet
treehouses ap local
treehouses apchannel
treehouses aphidden internet
treehouses aphidden local
treehouses blocker
treehouses blocker 0
treehouses blocker 1
treehouses blocker 2
treehouses blocker 3
treehouses blocker 4
treehouses blocker max
treehouses bluetooth button
treehouses bluetooth id
treehouses bluetooth id number
treehouses bluetooth log
treehouses bluetooth log follow
treehouses bluetooth mac
treehouses bluetooth off
treehouses bluetooth on
treehouses bluetooth pause
treehouses bluetooth restart
treehouses bluetooth status
treehouses bootoption console
treehouses bootoption console autologin
treehouses bootoption desktop
treehouses bootoption desktop autologin
treehouses bootoption modules
treehouses bootoption params
treehouses bridge
treehouses burn
treehouses button bluetooth
treehouses button off
treehouses camera
treehouses camera capture
treehouses camera detect
treehouses camera off
treehouses camera on
treehouses changelog
treehouses changelog compare
treehouses changelog view
treehouses clone
treehouses clone detect
treehouses config
treehouses config add
treehouses config clear
treehouses config delete
treehouses config update
treehouses container
treehouses container balena
treehouses container docker
treehouses container none
treehouses convert
treehouses coralenv demo-always-on
treehouses coralenv demo-off
treehouses coralenv demo-on
treehouses coralenv install
treehouses cron
treehouses cron 0W
treehouses cron add
treehouses cron delete
treehouses cron deleteall
treehouses cron list
treehouses cron timestamp
treehouses cron tor
treehouses default
treehouses default network
treehouses default notice
treehouses default tunnel
treehouses detect
treehouses detect arch
treehouses detect arm
treehouses detect bluetooth
treehouses detect rpi
treehouses detect rpi full
treehouses detect rpi model
treehouses detect wifi
treehouses discover gateway
treehouses discover gateway list
treehouses discover interface
treehouses discover mac
treehouses discover ping
treehouses discover ports
treehouses discover rpi
treehouses discover scan
treehouses discover self
treehouses discover wifi
treehouses ethernet
treehouses expandfs
treehouses feedback
treehouses gpio
treehouses help
treehouses help ap
treehouses help apchannel
treehouses help aphidden
treehouses help blocker
treehouses help bluetooth
treehouses help bootoption
treehouses help bridge
treehouses help burn
treehouses help button
treehouses help camera
treehouses help changelog
treehouses help clone
treehouses help container
treehouses help coralenv
treehouses help cron
treehouses help default
treehouses help detect
treehouses help discover
treehouses help ethernet
treehouses help expandfs
treehouses help feedback
treehouses help image
treehouses help internet
treehouses help led
treehouses help locale
treehouses help log
treehouses help magazine
treehouses help memory
treehouses help networkmode
treehouses help ntp
treehouses help openvpn
treehouses help password
treehouses help rebootneeded
treehouses help reboots
treehouses help redirect
treehouses help remote
treehouses help rename
treehouses help restore
treehouses help rtc
treehouses help sdbench
treehouses help services
treehouses help speedtest
treehouses help ssh
treehouses help sshkey
treehouses help sshtunnel
treehouses help staticwifi
treehouses help storage
treehouses help temperature
treehouses help timezone
treehouses help tor
treehouses help upgrade
treehouses help usb
treehouses help verbose
treehouses help version
treehouses help vnc
treehouses help wifi
treehouses help wificountry
treehouses help wifihidden
treehouses help wifistatus
treehouses image
treehouses inspire
treehouses inspire fact
treehouses inspire joke
treehouses inspire qotd
treehouses inspire random
treehouses internet
treehouses internet reverse
treehouses led
treehouses led blackhistorymonth
treehouses led carnival
treehouses led christmas
treehouses led dance
treehouses led diwali
treehouses led dragonboat
treehouses led easter
treehouses led eid
treehouses led green
treehouses led green backlight
treehouses led green cpu0
treehouses led green default-on
treehouses led green gpio
treehouses led green heartbeat
treehouses led green input
treehouses led green kbd-
treehouses led green none
treehouses led green oneshot
treehouses led green timer
treehouses led heavymetal
treehouses led independenceday
treehouses led kecak
treehouses led labourday
treehouses led lantern
treehouses led lunarnewyear
treehouses led newyear
treehouses led onam
treehouses led random
treehouses led red
treehouses led red backlight
treehouses led red cpu0
treehouses led red default-on
treehouses led red gpio
treehouses led red heartbeat
treehouses led red input
treehouses led red kbd-
treehouses led red none
treehouses led red oneshot
treehouses led red timer
treehouses led sandstorm
treehouses led stpatricks
treehouses led thanksgiving
treehouses led valentine
treehouses locale
treehouses log
treehouses log 0
treehouses log 1
treehouses log 2
treehouses log 3
treehouses log 4
treehouses log max
treehouses log show
treehouses log show 5
treehouses magazines available
treehouses magazines downloaded
$(magazines_cmds)
treehouses memory
treehouses memory free
treehouses memory free gb
treehouses memory free mb
treehouses memory gb
treehouses memory mb
treehouses memory total
treehouses memory total gb
treehouses memory total mb
treehouses memory used
treehouses memory used gb
treehouses memory used mb
treehouses message discord apitoken
treehouses message discord authorize
treehouses message gitter apitoken
treehouses message gitter authorize
treehouses message gitter mark
treehouses message gitter read
treehouses message gitter send
treehouses message gitter show
treehouses message slack apitoken
treehouses message slack channels
treehouses message slack mark
treehouses message slack read
treehouses message slack send
treehouses message slack show
treehouses networkmode
treehouses networkmode info
treehouses ntp internet
treehouses ntp local
treehouses openvpn
treehouses openvpn delete
treehouses openvpn load
treehouses openvpn notice
treehouses openvpn notice add
treehouses openvpn notice delete
treehouses openvpn notice list
treehouses openvpn notice off
treehouses openvpn notice on
treehouses openvpn show
treehouses openvpn start
treehouses openvpn stop
treehouses openvpn use
treehouses password change
treehouses password disable
treehouses password enable
treehouses picture
treehouses power conservative
treehouses power current
treehouses power default
treehouses power freq
treehouses power ondemand
treehouses power performance
treehouses power powersave
treehouses power status
treehouses power userspace
treehouses rebootneeded
treehouses reboots
treehouses reboots cron
treehouses reboots daily
treehouses reboots in
treehouses reboots monthly
treehouses reboots now
treehouses reboots weekly
treehouses redirect add
treehouses redirect list
treehouses redirect remove
treehouses redirect start
treehouses remote allservices
treehouses remote check
treehouses remote commands
treehouses remote help
treehouses remote key receive
treehouses remote key send
treehouses remote reverse
treehouses remote services available
treehouses remote services installed
treehouses remote services running
treehouses remote ssh2fa
treehouses remote status
treehouses remote statuspage
treehouses remote upgrade
treehouses remote version
treehouses rename
treehouses resolution
treehouses restore
treehouses rtc off
treehouses rtc on
treehouses rtc on ds3231
treehouses rtc on rasclock
treehouses sdbench
treehouses services available
treehouses services installed
treehouses services installed full
$(services_cmds)
treehouses services ports
treehouses services running
treehouses services running full
treehouses shadowsocks
treehouses shadowsocks add
treehouses shadowsocks disable
treehouses shadowsocks enable
treehouses shadowsocks enter
treehouses shadowsocks list
treehouses shadowsocks remove
treehouses shadowsocks restart
treehouses shadowsocks start
treehouses shadowsocks stop
treehouses shutdown
treehouses shutdown force
treehouses shutdown in
treehouses shutdown now
treehouses speedtest
treehouses speedtest -h
treehouses ssh
treehouses ssh 2fa
treehouses ssh 2fa add
treehouses ssh 2fa disable
treehouses ssh 2fa enable
treehouses ssh 2fa remove
treehouses ssh 2fa show
treehouses ssh fingerprint
treehouses ssh off
treehouses ssh on
treehouses sshkey add
treehouses sshkey delete
treehouses sshkey deleteall
treehouses sshkey github addteam
treehouses sshkey github adduser
treehouses sshkey github deleteuser
treehouses sshkey list
treehouses sshtunnel
treehouses sshtunnel active
treehouses sshtunnel add host
treehouses sshtunnel add port actual
treehouses sshtunnel add port offset
treehouses sshtunnel check
treehouses sshtunnel key
treehouses sshtunnel key receive private
treehouses sshtunnel key receive public
treehouses sshtunnel key name
treehouses sshtunnel key send private
treehouses sshtunnel key send public
treehouses sshtunnel key verify
treehouses sshtunnel list
treehouses sshtunnel notice
treehouses sshtunnel notice add
treehouses sshtunnel notice delete
treehouses sshtunnel notice list
treehouses sshtunnel notice now
treehouses sshtunnel notice off
treehouses sshtunnel notice on
treehouses sshtunnel ports
treehouses sshtunnel refresh
treehouses sshtunnel remove all
treehouses sshtunnel remove host
treehouses sshtunnel remove port
treehouses staticwifi
treehouses storage free
treehouses storage free gb
treehouses storage free kb
treehouses storage free mb
treehouses storage gb
treehouses storage kb
treehouses storage mb
treehouses storage total
treehouses storage total gb
treehouses storage total kb
treehouses storage total mb
treehouses storage used
treehouses storage used gb
treehouses storage used kb
treehouses storage used mb
treehouses system
treehouses system all
treehouses system cpu
treehouses system cputask
treehouses system disk
treehouses system ram
treehouses system ramtask
treehouses system temperature
treehouses system volt
treehouses temperature
treehouses temperature celsius
treehouses temperature fahrenheit
treehouses temperature kelvin
treehouses tether
treehouses timezone
treehouses tor
treehouses tor add
treehouses tor delete
treehouses tor deleteall
treehouses tor destroy
treehouses tor list
treehouses tor notice
treehouses tor notice add
treehouses tor notice delete
treehouses tor notice list
treehouses tor notice now
treehouses tor notice off
treehouses tor notice on
treehouses tor ports
treehouses tor refresh
treehouses tor start
treehouses tor status
treehouses tor stop
treehouses upgrade
treehouses upgrade bluetooth
treehouses upgrade check
treehouses upgrade cli
treehouses upgrade force
treehouses uptime
treehouses uptime boot
treehouses uptime log
treehouses uptime start
treehouses uptime stop
treehouses usb
treehouses usb off
treehouses usb on
treehouses verbose
treehouses verbose off
treehouses verbose on
treehouses version
treehouses version contributors
treehouses version remote
treehouses vnc
treehouses vnc auth info
treehouses vnc auth system
treehouses vnc auth vnc
treehouses vnc info
treehouses vnc off
treehouses vnc on
treehouses vnc password
treehouses wifi
treehouses wificountry
treehouses wifihidden
treehouses wifistatus
EOF
# COMP_LINE is the line you typed in terminal
# COMP_WORDS is array form of COMP_LINE
# COMP_CWORD is the word your currently on that you typed
# awk : grab next word after what you typed available in every_command
# uniq : remove duplicate lines because next word is in many commands
# sed : change newlines to spaces
idx=$COMP_CWORD
((idx=idx+1)) # We want the next word
subcmds=$(echo -e "${every_command}\n${every_command//treehouses/.\/cli.sh}" \
| grep "$COMP_LINE" \
| awk -v idx="$idx" '{print $idx}' \
| uniq \
| sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g')
# COMPREPLY is what bash reads when you do tabtab So our completion goes in there
COMPREPLY=( $(compgen -W "${subcmds}" -- ${COMP_WORDS[COMP_CWORD]}) )
}
function services_cmds {
while IFS= read -r line;
do
printf "treehouses services $line
treehouses services $line autorun
treehouses services $line autorun false
treehouses services $line autorun true
treehouses services $line cleanup
treehouses services $line down
treehouses services $line config
treehouses services $line config available
treehouses services $line config edit
treehouses services $line config edit request
treehouses services $line config edit send
treehouses services $line config edit vim
treehouses services $line config new
treehouses services $line config select
treehouses services $line icon
treehouses services $line icon oneline
treehouses services $line info
treehouses services $line install
treehouses services $line port
treehouses services $line ps
treehouses services $line restart
treehouses services $line size
treehouses services $line start
treehouses services $line stop
treehouses services $line up
treehouses services $line url
treehouses services $line url local
treehouses services $line url tor\n"
done <<< "$(find "$(which treehouses | sed 's/bin\/treehouses//')"lib/node_modules/@treehouses/cli/services -type f -printf "%f\n" | grep .sh | sed 's/install-//' | sed 's/.sh//')"
}
function magazines_cmds {
while IFS= read -r line;
do
printf "treehouses magazines $line
treehouses magazines $line all
treehouses magazines $line latest
treehouses magazines $line list
treehouses magazines $line url\n"
done <<< "$(find "$(which treehouses | sed 's/bin\/treehouses//')"lib/node_modules/@treehouses/cli/magazines -type f -printf "%f\n" | grep .sh | sed 's/download-//' | sed 's/.sh//')"
}
complete -F _treehouses_complete treehouses ./cli.sh