The module avail sub-command gets two new command-line switches: --indepth and --no-indepth. These options control whether search results should recursively include or not modulefiles from directories matching search query.

Let’s take the following modulefile tree as example:

$ module avail
------------ /path/to/modpath ------------
bar/dir1/1  bar/dir2/2  foo/2  
bar/dir1/2  foo/1       foo/3  

Adding the --no-indepth command-line switch to the avail sub-command gives the following non-recursive results:

$ module avail --no-indepth
------------ /path/to/modpath ------------
bar/  foo/  
$ module avail --no-indepth foo/
------------ /path/to/modpath ------------
foo/1  foo/2  foo/3  
$ module avail --no-indepth bar/
------------ /path/to/modpath ------------
bar/dir1/  bar/dir2/

Shell completion scripts have been updated to complete available modulefiles in the no in depth mode, which clarifies completion results.

The MODULES_AVAIL_INDEPTH environment variable defines if the avail sub-command should include or exclude by default the modulefiles from directories matching search query. Its value is superseded by the use of the --indepth and --no-indepth command-line switches.

This change is available in git repository and will be included into the next feature release v4.3.