mirror of
https://github.com/zebrajr/node.git
synced 2025-12-07 00:20:38 +01:00
This commit adds a --completion-bash option to node which can be sourced to provide bash code completion for node options. Usage: $ node --completion-bash > node_bash_completion $ source node_bash_completion $ node --[tab] PR-URL: https://github.com/nodejs/node/pull/20713 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Denys Otrishko <shishugi@gmail.com>
26 lines
638 B
JavaScript
26 lines
638 B
JavaScript
'use strict';
|
|
const { internalBinding } = require('internal/bootstrap/loaders');
|
|
const { getOptions } = internalBinding('options');
|
|
|
|
function print(stream) {
|
|
const { options, aliases } = getOptions();
|
|
const all_opts = [...options.keys(), ...aliases.keys()];
|
|
|
|
stream.write(`_node_complete() {
|
|
local cur_word options
|
|
cur_word="\${COMP_WORDS[COMP_CWORD]}"
|
|
if [[ "\${cur_word}" == -* ]] ; then
|
|
COMPREPLY=( $(compgen -W '${all_opts.join(' ')}' -- "\${cur_word}") )
|
|
return 0
|
|
else
|
|
COMPREPLY=( $(compgen -f "\${cur_word}") )
|
|
return 0
|
|
fi
|
|
}
|
|
complete -F _node_complete node node_g`);
|
|
}
|
|
|
|
module.exports = {
|
|
print
|
|
};
|