Files
modules/init/fish_completion
Xavier Delaruelle ab2de00dc8 init: fix and normalize fish_completion
* remove incorrect references to apt-get
* use space instead of tabs
* normalize description messages reusing short sentences already made
  for zsh completion
* fix function to filter module command output and only return
  modulefile list not mixed with files
* simplify install process by removing need for a '.in' file (and fix
  bash_completion install on the way)
2017-09-22 21:30:47 +02:00

102 lines
6.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 unload swap switch show display list avail 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
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 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 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
return 0
end
end
return 1
end
complete -c module -n '__fish_module_use_avail' -f -a "(module avail -t ^&1 | sed '\
/^-\+/d; /^\s*\$/d; \
/->.*\$/d; \
/:\$/d; \
/:ERROR:/d; \
s#^\(.*\)/\(.\+\)(.*default.*)#\1\n\1\/\2#; \
s#(.*)\$##g; \
s#\s*\$##g; \
s#/*\$##g;')"
complete -c module -n '__fish_module_use_list' -f -a "(module list -t ^&1 | sed '\
/Currently Loaded Modulefiles:\$/d;')"
complete -c module -n '__fish_module_use_initlist' -f -a "(module initlist ^&1 | sed '\
/ loads modules:\$/d;')"
complete -c module -n '__fish_module_use_savelist' -f -a "(module savelist -t ^&1 | sed '\
/Named collection list\$/d; \
/:\$/d; \
/:ERROR:/d;')"
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 'add load' --description 'Load modulefile(s)'
complete -f -n '__fish_module_no_subcommand' -c module -a 'rm 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 '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 '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 '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 -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'