diff --git a/lib/spack/spack/cmd/module.py b/lib/spack/spack/cmd/module.py index 31460b312441eb8618841423871d9384882f4247..5887cbf495b1708452b6753b3892b1519a9c46f7 100644 --- a/lib/spack/spack/cmd/module.py +++ b/lib/spack/spack/cmd/module.py @@ -90,6 +90,10 @@ def setup_parser(subparser): '-p', '--prefix', dest='prefix', default='', help='Prepend to module names when issuing module load commands' ) + loads_parser.add_argument( + '-x', '--exclude', dest='exclude', action='append', default=[], + help="Exclude package from output; may be specified multiple times" + ) arguments.add_common_arguments( loads_parser, ['constraint', 'module_type', 'recurse_dependencies'] ) @@ -136,8 +140,10 @@ def loads(mtype, specs, args): 'prefix': args.prefix } - prompt_template = '{comment}{command}{prefix}{name}' + exclude_set = set(args.exclude) + prompt_template = '{comment}{exclude}{command}{prefix}{name}' for spec, mod in modules: + d['exclude'] = '## ' if spec.name in exclude_set else '' d['comment'] = '' if not args.shell else '# {0}\n'.format( spec.format()) d['name'] = mod