Distribute code into several functions for reg

This commit is contained in:
EmilySeville7cfg 2021-11-26 15:24:42 +10:00 committed by ridiculousfish
parent ee74ebd314
commit 5f1384c6c3

View file

@ -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