Files
modules/init/fish_completion
Xavier Delaruelle 3ba2851767 Add ability to control module search match
Introduce the ability to control the module search match. Search query
string should match module name start or any part of module fully
qualified name. Default search match behavior is set at ``./configure``
time with the ``--with-search-match`` option. It could be superseded
with the ``MODULES_SEARCH_MATCH`` environment variable, that could be
set with ``config`` module sub-command through the ``search_match``
option. Command-line switches ``--starts-with`` (``-S``) and
``--contains`` (``-C``) for ``avail`` module sub-command enable to
supersede defined search match configuration.
2019-07-02 05:39:15 +02:00

134 lines
9.0 KiB
Plaintext

#completion for modules
function __fish_module_no_subcommand --description 'Test if modulecmd has yet to be given the subcommand'
for i in (commandline -opc)
if contains -- $i add load rm remove del unload swap switch show display list avail is-loaded is-saved is-used is-avail info-loaded aliases use unuse refresh reload purge source whatis apropos keyword search test save restore saverm saveshow savelist initadd initprepend initrm initswitch initlist initclear path paths append-path prepend-path remove-path clear config
return 1
end
end
return 0
end
function __fish_module_use_avail --description 'Test if module command should have available packages as potential completion'
for i in (commandline -opc)
if contains -- $i help add load swap switch show display list avail is-loaded is-avail info-loaded source whatis test initadd initprepend path paths
return 0
end
end
return 1
end
function __fish_module_use_list --description 'Test if module command should have loaded packages as potential completion'
for i in (commandline -opc)
if contains -- $i swap switch rm remove del unload
return 0
end
end
return 1
end
function __fish_module_use_initlist --description 'Test if module command should have packages in init file as potential completion'
for i in (commandline -opc)
if contains -- $i initrm initswitch
return 0
end
end
return 1
end
function __fish_module_use_savelist --description 'Test if module command should have saved collections as potential completion'
for i in (commandline -opc)
if contains -- $i save restore saverm saveshow savelist is-saved
return 0
end
end
return 1
end
function __fish_module_use_config --description 'Test if module command should have configuration parameters as potential completion'
for i in (commandline -opc)
if contains -- $i config
return 0
end
end
return 1
end
complete -c module -n '__fish_module_use_avail' -f -a "(module avail --color=never -t -S --no-indepth (commandline -ct) ^&1 | sed '\
/^-\+/d; /^\s*\$/d; \
/->.*\$/d; \
/:\$/d; \
/:ERROR:/d; \
s#^\(.*\)/\(.\+\)(.*default.*)#\1\n\1\/\2#; \
s#(.*)\$##g; \
s#\s*\$##g;')"
complete -c module -n '__fish_module_use_list' -f -a "(module list --color=never -t ^&1 | sed '\
/No Modulefiles Currently Loaded\.\$/d; \
/Currently Loaded Modulefiles:\$/d;')"
complete -c module -n '__fish_module_use_initlist' -f -a "(module initlist --color=never ^&1 | sed '\
/ loads modules:\$/d;')"
complete -c module -n '__fish_module_use_savelist' -f -a "(module savelist --color=never -t ^&1 | sed '\
/No named collection\.\$/d; \
/Named collection list\$/d; \
/:\$/d; \
/:ERROR:/d;')"
complete -c module -n '__fish_module_use_config' -f -a "--dump-state --reset contact auto_handling avail_indepth collection_pin_version collection_target color colors extra_siteconfig implicit_default locked_configs pager rcfile run_quarantine search_match silent_shell_debug term_background unload_match_order"
complete -f -n '__fish_module_no_subcommand' -c module -a 'help' --description 'Print this or modulefile(s) help info'
complete -f -n '__fish_module_no_subcommand' -c module -a 'avail' --description 'List all or matching available modules'
complete -f -n '__fish_module_no_subcommand' -c module -a 'is-avail' --description 'Is any of the modulefile(s) available'
complete -f -n '__fish_module_no_subcommand' -c module -a 'add load' --description 'Load modulefile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'rm remove del unload' --description 'Remove modulefile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'swap switch' --description 'Unload mod1 and load mod2'
complete -f -n '__fish_module_no_subcommand' -c module -a 'show display' --description 'Display information about modulefile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'list' --description 'List loaded modules'
complete -f -n '__fish_module_no_subcommand' -c module -a 'is-loaded' --description 'Test if any of the modulefile(s) are loaded'
complete -f -n '__fish_module_no_subcommand' -c module -a 'info-loaded' --description 'Get full name of matching loaded module(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'aliases' --description 'List all module aliases'
complete -f -n '__fish_module_no_subcommand' -c module -a 'use' --description 'Add dir(s) to MODULEPATH variable'
complete -f -n '__fish_module_no_subcommand' -c module -a 'unuse' --description 'Remove dir(s) from MODULEPATH variable'
complete -f -n '__fish_module_no_subcommand' -c module -a 'is-used' --description 'Is any of the dir(s) enabled in MODULEPATH'
complete -f -n '__fish_module_no_subcommand' -c module -a 'refresh reload' --description 'Unload then load all loaded modulefiles'
complete -f -n '__fish_module_no_subcommand' -c module -a 'purge' --description 'Unload all loaded modulefiles'
complete -f -n '__fish_module_no_subcommand' -c module -a 'source' --description 'Execute scriptfile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'whatis' --description 'Print whatis information of modulefile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'apropos keyword search' --description 'Search all name and whatis containing str'
complete -f -n '__fish_module_no_subcommand' -c module -a 'test' --description 'Test modulefile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'save' --description 'Save current module list to collection'
complete -f -n '__fish_module_no_subcommand' -c module -a 'restore' --description 'Restore module list from collection or file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'saverm' --description 'Remove saved collection'
complete -f -n '__fish_module_no_subcommand' -c module -a 'saveshow' --description 'Display information about collection'
complete -f -n '__fish_module_no_subcommand' -c module -a 'savelist' --description 'List all saved collections'
complete -f -n '__fish_module_no_subcommand' -c module -a 'is-saved' --description 'Test if any of the collection(s) exists'
complete -f -n '__fish_module_no_subcommand' -c module -a 'initadd' --description 'Add modulefile to shell init file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'initprepend' --description 'Add to beginning of list in init file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'initrm' --description 'Remove modulefile from shell init file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'initswitch' --description 'Switch mod1 with mod2 from init file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'initlist' --description 'List all modules loaded from init file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'initclear' --description 'Clear all modulefiles from init file'
complete -f -n '__fish_module_no_subcommand' -c module -a 'path' --description 'Print modulefile path'
complete -f -n '__fish_module_no_subcommand' -c module -a 'paths' --description 'Print path of matching available modules'
complete -f -n '__fish_module_no_subcommand' -c module -a 'append-path' --description 'Append value to environment variable'
complete -f -n '__fish_module_no_subcommand' -c module -a 'prepend-path' --description 'Prepend value to environment variable'
complete -f -n '__fish_module_no_subcommand' -c module -a 'remove-path' --description 'Remove value from environment variable'
complete -f -n '__fish_module_no_subcommand' -c module -a 'clear' --description 'Reset Modules-specific runtime information'
complete -f -n '__fish_module_no_subcommand' -c module -a 'config' --description 'Display or set Modules configuration'
complete -c module -s V -l version --description 'Module version'
complete -c module -s D -l debug --description 'Enable debug messages'
complete -c module -s t -l terse --description 'Display output in terse format'
complete -c module -s l -l long --description 'Display output in long format'
complete -c module -s d -l default --description 'Only show default versions available'
complete -c module -s L -l latest --description 'Only show latest versions available'
complete -c module -s S -l starts-with --description 'Search modules whose name begins with query string'
complete -c module -s C -l contains --description 'Search modules whose name contains query string'
complete -c module -l indepth --description 'Perform recursive avail search'
complete -c module -l no-indepth --description 'Perform non-recursive avail search'
complete -c module -l paginate --description 'Pipe mesg output into a pager if stream attached to terminal'
complete -c module -l no-pager --description 'Do not pipe message output into a pager'
complete -c module -l auto --description 'Enable automated module handling mode'
complete -c module -l no-auto --description 'Disable automated module handling mode'
complete -c module -s f -l force --description 'By-pass dependency consistency or confirmation dialog'
complete -c module -l color --description 'Colorize the output'
complete -c module -l color= --description 'Colorize the output'