mirror of
https://github.com/fish-shell/fish-shell.git
synced 2024-12-23 17:53:38 +08:00
31 lines
1.1 KiB
Fish
31 lines
1.1 KiB
Fish
|
function __fish_reg__complete_keys
|
||
|
set -l current_token (commandline -tc | string unescape)
|
||
|
|
||
|
set -l default_keys 'HKEY_CLASSES_ROOT\tThe information about file extension associations' \
|
||
|
'HKEY_CURRENT_USER\tThe information about a current user' \
|
||
|
'HKEY_LOCAL_MACHINE\tThe information about a current machine' \
|
||
|
'HKEY_USERS\tThe information about loaded users' \
|
||
|
'HKEY_CURRENT_CONFIG\tThe information about hardware used while startup' \
|
||
|
HKEY_DYN_DATA
|
||
|
|
||
|
if string match --quiet --entire --regex '\\\\' -- "$current_token"
|
||
|
set current_token (string replace --regex '\\\\[^\\\\]*$' '' -- "$current_token")
|
||
|
|
||
|
set -l keys (WINEDEBUG=-all wine reg query "$current_token" |
|
||
|
string replace --regex '\r' '' |
|
||
|
string match --entire --regex '\w')
|
||
|
|
||
|
test $pipestatus[1] != 0 && return
|
||
|
|
||
|
string join \n -- $keys |
|
||
|
string match --invert "$current_token" |
|
||
|
string replace --all --regex '[\\\\]+' '\\\\'
|
||
|
else
|
||
|
for key in $default_keys
|
||
|
echo -e $key
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
complete -c true -a '(__fish_reg__complete_keys)'
|