mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-27 21:33:09 +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'
|
||||
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
|
||||
|
@ -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]
|
||||
|
||||
if __fish_seen_subcommand_from add
|
||||
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'
|
||||
__reg_add_generate_args
|
||||
else if __fish_seen_subcommand_from compare
|
||||
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'
|
||||
__reg_compare_generate_args
|
||||
else if __fish_seen_subcommand_from copy
|
||||
echo -e '/s\tCopy all subkeys and entries under the specified subkey
|
||||
/f\tCopy the subkey without prompting for confirmation
|
||||
/?\tShow help'
|
||||
__reg_copy_generate_args
|
||||
else if __fish_seen_subcommand_from delete
|
||||
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'
|
||||
__reg_delete_generate_args
|
||||
else if __fish_seen_subcommand_from export
|
||||
echo -e '/y\tOverwrite any existing file with the name filename without prompting for confirmation
|
||||
/?\tShow help'
|
||||
__reg_export_generate_args
|
||||
else if __fish_seen_subcommand_from query
|
||||
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'
|
||||
__reg_query_generate_args
|
||||
else if __fish_seen_subcommand_from save
|
||||
echo -e '/y\tOverwrite an existing file with the name filename without prompting for confirmation
|
||||
/?\tShow help'
|
||||
__reg_save_generate_args
|
||||
end
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in a new issue