mirror of
git://git.code.sf.net/p/zsh/code
synced 2024-05-20 06:56:05 +02:00
49966: _adb: Parse device spec correctly
This was particularly annoying when trying to complete logtags after adb logcat -s
This commit is contained in:
parent
6900dded09
commit
8537738207
|
@ -20,6 +20,9 @@
|
|||
* 49965: Completion/Unix/Command/_adb: _adb: use $CURRENT instead
|
||||
of $#words
|
||||
|
||||
* 49966: Completion/Unix/Command/_adb: _adb: Parse device spec
|
||||
correctly
|
||||
|
||||
2022-04-02 dana <dana@dana.is>
|
||||
|
||||
* unposted (see 48073): Completion/Zsh/Command/_fc: Complete
|
||||
|
|
|
@ -82,6 +82,7 @@ _adb() {
|
|||
if ! adb ${ADB_DEVICE_SPECIFICATION} shell exit 2>/dev/null; then
|
||||
# early bail-out until a single valid device/emulator is specified and up-and-running
|
||||
[[ $words[CURRENT-1] = -s ]] || _message -r "No (started) device specified, completions do not yet work"
|
||||
#TODO handle -t transport-id
|
||||
_arguments \
|
||||
'-s[serial]: :_adb_device_serial' \
|
||||
'( -e)-d[device]' \
|
||||
|
@ -165,13 +166,11 @@ _adb_sanitize_context () {
|
|||
|
||||
(( $+functions[_adb_device_specification] )) ||
|
||||
_adb_device_specification () {
|
||||
local -a word
|
||||
word=($words[(R)-[des]])
|
||||
if [[ $words[(R)-s] == -s ]]; then
|
||||
local i=$words[(I)-s]
|
||||
word=($words[i,i+1])
|
||||
if [[ $words[2] == -[de] ]]; then
|
||||
ADB_DEVICE_SPECIFICATION=($words[2])
|
||||
elif [[ $words[2] == -[st] ]]; then
|
||||
ADB_DEVICE_SPECIFICATION=($words[2,3])
|
||||
fi
|
||||
ADB_DEVICE_SPECIFICATION=($word)
|
||||
}
|
||||
|
||||
(( $+functions[_adb_dispatch_shell] )) ||
|
||||
|
|
Loading…
Reference in New Issue