Commit Graph

88 Commits

Author SHA1 Message Date
Xavier Delaruelle
5e89196bd1 init: fix nospace activation in bash completion script
Fix bash shell completion script to be able to complete full name of
available modules.

Fixes #490.
2023-04-14 06:08:41 +02:00
Xavier Delaruelle
3b7568043a init: add cacheclear subcmd to completion scripts 2022-11-28 03:58:56 +01:00
Xavier Delaruelle
4ba52095dc init: add cachebuild subcmd to completion scripts 2022-11-12 13:26:30 +01:00
Xavier Delaruelle
c3d06a65e0 init: update completion with stashlist output
Update stashpop, stashrm and stashshow completion definition to use
stashlist output.
2022-10-05 07:59:34 +02:00
Xavier Delaruelle
d20c6228a8 init: add stashlist subcmd to completion scripts 2022-10-02 14:26:28 +02:00
Xavier Delaruelle
0e756ba56e init: add stashclear subcmd to completion scripts 2022-09-29 07:02:38 +02:00
Xavier Delaruelle
8af7d4568f init: add stashshow subcmd to completion scripts 2022-09-29 07:02:38 +02:00
Xavier Delaruelle
3463d123d0 init: add stashrm subcmd to completion scripts 2022-09-28 07:21:30 +02:00
Xavier Delaruelle
c7ff0fce5f init: add stashpop subcmd to completion scripts 2022-09-28 07:20:54 +02:00
Xavier Delaruelle
705b953a43 init: add stash subcmd to completion scripts 2022-09-20 06:19:33 +02:00
Lukáš Zaoral
d018f7a9e6 lint(ShellCheck): fix SC2086 info diagnostic
Some variables, that were unquoted intentionally were converted to arrays.

According to ShellCheck's documentation:

Quoting variables prevents word splitting and glob expansion, and prevents
the script from breaking when input contains spaces, line feeds, glob
characters and such.

Related: https://www.shellcheck.net/wiki/SC2086
Related: #470
2022-09-02 09:52:05 +02:00
Lukáš Zaoral
169c534a92 lint(ShellCheck): fix SC2178 warning
These occurrences do not seem to cause any problems described below but
let's still fix it for the sake of consistency within this script.

According to ShellCheck's documentation:

ShellCheck noticed that you have used a variable as an array, but then assign
it a string.  array=foo is equivalent to array[0]=foo, and leaves the rest
of the elements unaffected.

Related: https://www.shellcheck.net/wiki/SC2178
Related: #470
2022-09-02 09:52:05 +02:00
Lukáš Zaoral
65309830cb lint(ShellCheck): fix SC2166 warning
According to ShellCheck's documentation:

-a and -o  in [ .. ] test expressions are not well defined, and can cause
incorrect results when arguments start with dashes or contain !.

Related: https://www.shellcheck.net/wiki/SC2166
Related: #470
2022-09-02 09:52:05 +02:00
Lukáš Zaoral
e388118bdc lint(ShellCheck): fix SC1035 error
According to ShellCheck's documentation:

Bourne shells are very whitespace sensitive.  Adding or removing spaces can
drastically alter the meaning of a script.

Related: https://www.shellcheck.net/wiki/SC1035
Related: #470
2022-09-02 09:52:05 +02:00
Lukáš Zaoral
a45f186200 lint(ShellCheck): fix SC2148 error
According to ShellCheck's documentation:

Different shells support different features.  To give effective advice,
ShellCheck needs to know which shell your script is going to run on.

Related: https://www.shellcheck.net/wiki/SC2148
Related: #470
2022-09-02 09:52:05 +02:00
Xavier Delaruelle
0ba8dcbb18 init: add reset subcmd to completion scripts 2022-08-25 08:10:01 +02:00
Xavier Delaruelle
25504c9e22 init: add mod-to-sh subcmd to completion scripts 2022-07-30 16:07:28 +02:00
Xavier Delaruelle
f0cd6d9d8c init: add lint subcmd to completion scripts 2022-07-12 07:43:19 +02:00
Xavier Delaruelle
71888cbe9f init: add load-any sub-cmd to completion scripts 2021-12-24 16:04:16 +01:00
Xavier Delaruelle
fae13159f8 init: add --tag= opt to completion scripts 2021-12-08 08:16:24 +01:00
Xavier Delaruelle
0a96ed642c init: add state subcmd to completion scripts 2021-10-19 21:48:35 +02:00
Xavier Delaruelle
91380cdbee init: remove compat version-related code 2021-07-24 14:06:09 +02:00
Xavier Delaruelle
e11acd3fcb init: add try-load sub-cmd to completion scripts 2021-06-30 21:54:06 +02:00
Xavier Delaruelle
09aec34876 init: add edit sub-cmd to completion scripts 2021-06-30 21:48:49 +02:00
Xavier Delaruelle
3c8746d264 init: use -o option instead of sed in completion scripts
Update shell completion scripts to make use of the module option -o to
control the element to find in output rather using sed command to discard
the unwanted elements.
2021-02-09 05:58:59 +01:00
Colin Marquardt
d6ae38c91c init: replace completion helper vars with their content
This is done for tcsh and bash where those variables clutter the
environment.

Closes #382
2021-02-04 07:04:45 +01:00
Xavier Delaruelle
13b8cfaf6b init: add mcookie_version_check config to completion scripts 2021-01-25 06:08:21 +01:00
Xavier Delaruelle
2ce5b8ae17 init: add tag_color_name config to completion scripts 2020-12-18 18:58:53 +01:00
Xavier Delaruelle
0aba0b4437 init: add tag_abbrev config to completion scripts 2020-12-18 18:58:37 +01:00
Xavier Delaruelle
faa81ad5d4 init: add implicit_requirement config to completion scripts 2020-11-15 10:03:42 +01:00
Xavier Delaruelle
995977b5f1 init: add shells_with_ksh_fpath config to completion scripts 2020-11-15 10:03:42 +01:00
Xavier Delaruelle
fb8b8a2f0b init: add nearly_forbidden_days config in completion scripts 2020-08-28 07:18:25 +02:00
Xavier Delaruelle
a8529c05e5 init: add -a/--all option to completion scripts 2020-08-11 07:02:18 +02:00
Xavier Delaruelle
bc1373dffc init: add -T/--trace options to completion scripts 2020-06-01 21:02:32 +02:00
Xavier Delaruelle
9d5517d202 init: fix dup apropos/keyword/search in bash comp
apropos, keyword and search sub-commands now accept arguments so they
need to be removed from empty-or-wide-argument-command list
2020-06-01 20:59:50 +02:00
Xavier Delaruelle
80e7033ba2 init: add 'sh-to-mod' sub-cmd to shell comp scripts 2020-06-01 20:59:50 +02:00
Adrien Cotte
ad82a9125f bash_completion: fix ml no space between -modules 2020-04-04 16:54:38 +02:00
Xavier Delaruelle
05451a831f init: define ml completion only if ml command defined 2020-03-14 10:41:03 +01:00
Adrien Cotte
f16c0d8a0f init: add 'ml' command support in bash completion 2020-03-14 10:41:03 +01:00
Xavier Delaruelle
37b46a3778 init: use 'sed -r' if 'sed -E' not supported
`-E` option is a *relatively* recent option of GNU sed (v4.2), yet
mandatory for OS portability (as detailled in b68e44e).

Adapt configure step to detect if sed option `-E` is supported and
fallback to `-r` otherwise.

Fixes #317
2020-02-22 13:04:04 +01:00
Xavier Delaruelle
5aac870aa5 init: fix bash completion script for Bash <4.0
`compopt` Bash builtin has been introduced in Bash 4.0, so using it on
Bash <4.0 prints error messages. To fix this, `comptopt` availability is
checked prior usage. If not available, the no-space-append behavior will
not be obtained which will not be an optimal situation if the
`no-indepth` mode is set for the `avail` sub-command.

Fixes #318
2020-02-22 09:41:54 +01:00
Xavier Delaruelle
58212613ed init: add -j/--json options to completion scripts 2020-01-09 20:59:31 +01:00
Xavier Delaruelle
9f189c7d5e Introduce ml configuration option
Add the ability to control whether or not a ``ml`` command should be
defined at Modules initialization time. `ml` is a handy frontend to the
module command: it reduces the number of characters to type to trigger
module.

Enablement is managed throught a new configuration option named `ml`
(which defines `MODULES_ML` environment variable when set). It may be
enabled by default in `modulecmd.tcl` script with option `--enable-ml`
passed to `./configure` script.
2020-01-09 20:38:50 +01:00
Xavier Delaruelle
d5126ae296 init: fix missing -i/--icase in completion scripts 2019-11-14 20:22:45 +01:00
Xavier Delaruelle
a386dbb67c Introduce home configuration option
Make MODULESHOME environment variable controllable through the `config`
sub-command with `home` configuration option. A `--with-moduleshome`
argument is also added to the ./configure script to set specific default
value for this option at installation time.

Fixes #292
2019-11-14 20:22:45 +01:00
Xavier Delaruelle
07bbbc7a9d Introduce advanced_version_spec configuration option
Add the advanced_version_spec configuration option that will control the
activation of advanced module version specifier syntax.
2019-11-14 20:20:40 +01:00
Xavier Delaruelle
e67088275e Introduce extended_default configuration option
Add the ability to select a module when its version is partially
specified. Enable this behavior through a new configuration option named
`extended_default` (which defines `MODULES_EXTENDED_DEFAULT` environment
variable when set).

When extended_default mechanism is enabled a module version may be
specified by its starting portion, part separated from the rest of the
version string by a `.` or `-` character.

When multiple versions match partial version specified and only one
module should be returned, default version (implicit or explicit) among
matches is returned. In case `implicit_default` is disabled and no
explicit default is found among matches, an error is returned.

Mechanism may be enabled by default in `modulecmd.tcl` script with
option `--enable-extended-default` passed to `./configure` script.
2019-11-11 09:13:50 +01:00
Xavier Delaruelle
35ba37b76a init: add 'icase' option to completion scripts 2019-11-11 09:00:03 +01:00
Xavier Delaruelle
58b8f73dee Workaround for Tcsh history issue with wa_277 conf opt
Introduce the wa_277 configuration option to workaround an issue with Tcsh
history described on ticket #277.

When option is enabled (which sets the MODULES_WA_277 environment variable
to 1), an alternative module alias is defined which fixes the history
mechanism issue. However the alternative definition of the module alias
weakens shell evaluation of the code produced by modulefiles. Characters
with special meaning for Tcsh shell (like { and }) may not be used
anymore in shell alias definition elsewhere the evaluation of the code
produced by modulefiles will return a syntax error.

Fixes #277.
2019-09-16 20:34:51 +02:00
Xavier Delaruelle
0bd67dd218 Reintroduce 'verbose' verbosity level
Reintroduce the ``verbose`` verbosity level and associated ``--verbose``
and ``-v`` command-line switches, which were available on Modules v3.
Verbose mode adds additional informational messages, like a systematic
report of the loading or unloading module evaluations. The ``module``
command could be set verbose by default at ``./configure`` time with
``--with-verbosity`` option. ``MODULES_VERBOSITY`` environment
variable supersedes this setting and it could be set with ``config``
module sub-command through the ``verbosity`` option.
2019-07-23 09:50:42 +02:00