src: add "missing" bash completion options

Currently, when using the bash completions for node the normal
completions for filenames directories do not work. For example, after
finding a node completion and then wanting to use tab completion
for a filename in the test directory, it is only possible to get the
name of the test directory completed, followed by a space. What is
expected is to be able to continue with tab completion for directories.

This commit adds options to the complete command to enable default bash
completions.

PR-URL: https://github.com/nodejs/node/pull/33744
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
This commit is contained in:
Daniel Bevenius
2020-06-05 14:17:13 +02:00
parent 7f8e977ee0
commit 813368c037
2 changed files with 4 additions and 2 deletions

View File

@@ -831,7 +831,8 @@ std::string GetBashCompletion() {
" return 0\n"
" fi\n"
"}\n"
"complete -F _node_complete node node_g";
"complete -o filenames -o nospace -o bashdefault "
"-F _node_complete node node_g";
return out.str();
}

View File

@@ -24,7 +24,8 @@ const suffix = `' -- "\${cur_word}") )
return 0
fi
}
complete -F _node_complete node node_g`.replace(/\r/g, '');
complete -o filenames -o nospace -o bashdefault -F _node_complete node node_g`
.replace(/\r/g, '');
assert.ok(
output.includes(prefix),