mirror of
https://github.com/fish-shell/fish-shell
synced 2025-01-15 22:44:01 +00:00
Distribute code into several functions for reg
This commit is contained in:
parent
ee74ebd314
commit
5f1384c6c3
1 changed files with 107 additions and 79 deletions
|
@ -1,3 +1,103 @@
|
||||||
|
function __reg_add_generate_args --argument-names previous_token
|
||||||
|
if test "$previous_token" = '/t'
|
||||||
|
echo 'REG_SZ
|
||||||
|
REG_MULTI_SZ
|
||||||
|
REG_DWORD_BIG_ENDIAN
|
||||||
|
REG_DWORD
|
||||||
|
REG_BINARY
|
||||||
|
REG_DWORD_LITTLE_ENDIAN
|
||||||
|
REG_LINK
|
||||||
|
REG_FULL_RESOURCE_DESCRIPTOR
|
||||||
|
REG_EXPAND_SZ'
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if not __fish_seen_argument --windows 'v' --windows 've'
|
||||||
|
echo -e '/v\tSpecify the name of the add registry entry
|
||||||
|
/ve\tSpecify that the added registry entry has a null value'
|
||||||
|
end
|
||||||
|
|
||||||
|
echo -e '/t\tSpecify the type for the registry entry
|
||||||
|
/s\tSpecify the character to be used to separate multiple instances of data
|
||||||
|
/d\tSpecify the data for the new registry entry
|
||||||
|
/f\tAdd the registry entry without prompting for confirmation
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
|
function __reg_compare_generate_args --argument-names previous_token
|
||||||
|
if not __fish_seen_argument --windows 'v' --windows 've'
|
||||||
|
echo -e '/v\tSpecify the value name to compare under the subkey
|
||||||
|
/ve\tSpecify that only entries that have a value name of null should be compared'
|
||||||
|
end
|
||||||
|
|
||||||
|
if not __fish_seen_argument --windows 'oa' --windows 'od' --windows 'os' --windows 'on'
|
||||||
|
echo -e '/oa\tSpecify that all differences and matches are displayed
|
||||||
|
/od\tSpecify that only differences are displayed
|
||||||
|
/os\tSpecify that only matches are displayed
|
||||||
|
/on\tSpecify that nothing is displayed'
|
||||||
|
end
|
||||||
|
|
||||||
|
echo -e '/s\tSpecify the type for the registry entry
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
|
function __reg_copy_generate_args --argument-names previous_token
|
||||||
|
echo -e '/s\tCopy all subkeys and entries under the specified subkey
|
||||||
|
/f\tCopy the subkey without prompting for confirmation
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
|
function __reg_delete_generate_args --argument-names previous_token
|
||||||
|
if not __fish_seen_argument --windows 'v' --windows 've' --windows 'va'
|
||||||
|
echo -e '/v\tDelete a specific entry under the subkey
|
||||||
|
/ve\tSpecify that only entries that have no value will be deleted
|
||||||
|
/va\tDelete all entries under the specified subkey'
|
||||||
|
end
|
||||||
|
|
||||||
|
echo -e '/f\tDelete the existing registry subkey or entry without asking for confirmation
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
|
function __reg_export_generate_args --argument-names previous_token
|
||||||
|
echo -e '/y\tOverwrite any existing file with the name filename without prompting for confirmation
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
|
function __reg_query_generate_args --argument-names previous_token
|
||||||
|
if test "$previous_token" = '/t'
|
||||||
|
echo 'REG_SZ
|
||||||
|
REG_MULTI_SZ
|
||||||
|
REG_EXPAND_SZ
|
||||||
|
REG_DWORD
|
||||||
|
REG_BINARY
|
||||||
|
REG_NONE'
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
if not __fish_seen_argument --windows 'v' --windows 've'
|
||||||
|
echo -e '/v\tSpecify the registry value name that is to be queried
|
||||||
|
/ve\tRun a query for value names that are empty'
|
||||||
|
end
|
||||||
|
|
||||||
|
if not __fish_seen_argument --windows 'k' --windows 'd'
|
||||||
|
echo -e '/k\tSpecify to search in key names only
|
||||||
|
/d\tSpecify to search in data only'
|
||||||
|
end
|
||||||
|
|
||||||
|
echo -e '/se\tSpecify the single value separator to search for in the value name type REG_MULTI_SZ
|
||||||
|
/f\tSpecify the data or pattern to search for
|
||||||
|
/c\tSpecify that the query is case sensitive
|
||||||
|
/e\tSpecify to return only exact matches
|
||||||
|
/t\tSpecify registry types to search
|
||||||
|
/z\tSpecify to include the numeric equivalent for the registry type in search results
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
|
function __reg_save_generate_args --argument-names previous_token
|
||||||
|
echo -e '/y\tOverwrite an existing file with the name filename without prompting for confirmation
|
||||||
|
/?\tShow help'
|
||||||
|
end
|
||||||
|
|
||||||
function __reg_generate_args --description 'Function to generate args'
|
function __reg_generate_args --description 'Function to generate args'
|
||||||
if not __fish_seen_subcommand_from add compare copy delete export import load query restore save unload
|
if not __fish_seen_subcommand_from add compare copy delete export import load query restore save unload
|
||||||
echo -e 'add\tAdd a new subkey or entry to the registry
|
echo -e 'add\tAdd a new subkey or entry to the registry
|
||||||
|
@ -17,91 +117,19 @@ unload\tRemove a section of the registry that was loaded using the reg load oper
|
||||||
set --local previous_token (commandline --tokenize --cut-at-cursor)[-1]
|
set --local previous_token (commandline --tokenize --cut-at-cursor)[-1]
|
||||||
|
|
||||||
if __fish_seen_subcommand_from add
|
if __fish_seen_subcommand_from add
|
||||||
if test "$previous_token" = '/t'
|
__reg_add_generate_args
|
||||||
echo 'REG_SZ
|
|
||||||
REG_MULTI_SZ
|
|
||||||
REG_DWORD_BIG_ENDIAN
|
|
||||||
REG_DWORD
|
|
||||||
REG_BINARY
|
|
||||||
REG_DWORD_LITTLE_ENDIAN
|
|
||||||
REG_LINK
|
|
||||||
REG_FULL_RESOURCE_DESCRIPTOR
|
|
||||||
REG_EXPAND_SZ'
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if not __fish_seen_argument --windows 'v' --windows 've'
|
|
||||||
echo -e '/v\tSpecify the name of the add registry entry
|
|
||||||
/ve\tSpecify that the added registry entry has a null value'
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -e '/t\tSpecify the type for the registry entry
|
|
||||||
/s\tSpecify the character to be used to separate multiple instances of data
|
|
||||||
/d\tSpecify the data for the new registry entry
|
|
||||||
/f\tAdd the registry entry without prompting for confirmation
|
|
||||||
/?\tShow help'
|
|
||||||
else if __fish_seen_subcommand_from compare
|
else if __fish_seen_subcommand_from compare
|
||||||
if not __fish_seen_argument --windows 'v' --windows 've'
|
__reg_compare_generate_args
|
||||||
echo -e '/v\tSpecify the value name to compare under the subkey
|
|
||||||
/ve\tSpecify that only entries that have a value name of null should be compared'
|
|
||||||
end
|
|
||||||
|
|
||||||
if not __fish_seen_argument --windows 'oa' --windows 'od' --windows 'os' --windows 'on'
|
|
||||||
echo -e '/oa\tSpecify that all differences and matches are displayed
|
|
||||||
/od\tSpecify that only differences are displayed
|
|
||||||
/os\tSpecify that only matches are displayed
|
|
||||||
/on\tSpecify that nothing is displayed'
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -e '/s\tSpecify the type for the registry entry
|
|
||||||
/?\tShow help'
|
|
||||||
else if __fish_seen_subcommand_from copy
|
else if __fish_seen_subcommand_from copy
|
||||||
echo -e '/s\tCopy all subkeys and entries under the specified subkey
|
__reg_copy_generate_args
|
||||||
/f\tCopy the subkey without prompting for confirmation
|
|
||||||
/?\tShow help'
|
|
||||||
else if __fish_seen_subcommand_from delete
|
else if __fish_seen_subcommand_from delete
|
||||||
if not __fish_seen_argument --windows 'v' --windows 've' --windows 'va'
|
__reg_delete_generate_args
|
||||||
echo -e '/v\tDelete a specific entry under the subkey
|
|
||||||
/ve\tSpecify that only entries that have no value will be deleted
|
|
||||||
/va\tDelete all entries under the specified subkey'
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -e '/f\tDelete the existing registry subkey or entry without asking for confirmation
|
|
||||||
/?\tShow help'
|
|
||||||
else if __fish_seen_subcommand_from export
|
else if __fish_seen_subcommand_from export
|
||||||
echo -e '/y\tOverwrite any existing file with the name filename without prompting for confirmation
|
__reg_export_generate_args
|
||||||
/?\tShow help'
|
|
||||||
else if __fish_seen_subcommand_from query
|
else if __fish_seen_subcommand_from query
|
||||||
if test "$previous_token" = '/t'
|
__reg_query_generate_args
|
||||||
echo 'REG_SZ
|
|
||||||
REG_MULTI_SZ
|
|
||||||
REG_EXPAND_SZ
|
|
||||||
REG_DWORD
|
|
||||||
REG_BINARY
|
|
||||||
REG_NONE'
|
|
||||||
return
|
|
||||||
end
|
|
||||||
|
|
||||||
if not __fish_seen_argument --windows 'v' --windows 've'
|
|
||||||
echo -e '/v\tSpecify the registry value name that is to be queried
|
|
||||||
/ve\tRun a query for value names that are empty'
|
|
||||||
end
|
|
||||||
|
|
||||||
if not __fish_seen_argument --windows 'k' --windows 'd'
|
|
||||||
echo -e '/k\tSpecify to search in key names only
|
|
||||||
/d\tSpecify to search in data only'
|
|
||||||
end
|
|
||||||
|
|
||||||
echo -e '/se\tSpecify the single value separator to search for in the value name type REG_MULTI_SZ
|
|
||||||
/f\tSpecify the data or pattern to search for
|
|
||||||
/c\tSpecify that the query is case sensitive
|
|
||||||
/e\tSpecify to return only exact matches
|
|
||||||
/t\tSpecify registry types to search
|
|
||||||
/z\tSpecify to include the numeric equivalent for the registry type in search results
|
|
||||||
/?\tShow help'
|
|
||||||
else if __fish_seen_subcommand_from save
|
else if __fish_seen_subcommand_from save
|
||||||
echo -e '/y\tOverwrite an existing file with the name filename without prompting for confirmation
|
__reg_save_generate_args
|
||||||
/?\tShow help'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue