mirror of
https://github.com/gopasspw/gopass.git
synced 2026-05-30 11:18:48 +02:00
Fix IFS in bash completion, reduce environment pollution. (#268)
This commit is contained in:
committed by
Dominik Schulz
parent
d567e7ae18
commit
3a63ebd2ff
@@ -33,21 +33,17 @@ func (s *Action) Complete(*cli.Context) {
|
||||
|
||||
// CompletionBash returns a bash script used for auto completion
|
||||
func (s *Action) CompletionBash(c *cli.Context) error {
|
||||
out := `#!/bin/bash
|
||||
|
||||
PROG=gopass
|
||||
|
||||
_cli_bash_autocomplete() {
|
||||
out := `_gopass_bash_autocomplete() {
|
||||
local cur opts base
|
||||
COMPREPLY=()
|
||||
local IFS=$'\n'
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
|
||||
local IFS=$'\n'
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
}
|
||||
|
||||
complete -F _cli_bash_autocomplete $PROG
|
||||
complete -F _gopass_bash_autocomplete gopass
|
||||
`
|
||||
fmt.Println(out)
|
||||
|
||||
|
||||
@@ -15,21 +15,17 @@ func TestCompletion(t *testing.T) {
|
||||
assert.Contains(t, out, "Source for auto completion in bash")
|
||||
assert.Contains(t, out, "Source for auto completion in zsh")
|
||||
|
||||
bash := `#!/bin/bash
|
||||
|
||||
PROG=gopass
|
||||
|
||||
_cli_bash_autocomplete() {
|
||||
bash := `_gopass_bash_autocomplete() {
|
||||
local cur opts base
|
||||
COMPREPLY=()
|
||||
local IFS=$'\n'
|
||||
cur="${COMP_WORDS[COMP_CWORD]}"
|
||||
opts=$( ${COMP_WORDS[@]:0:$COMP_CWORD} --generate-bash-completion )
|
||||
local IFS=$'\n'
|
||||
COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
|
||||
return 0
|
||||
}
|
||||
|
||||
complete -F _cli_bash_autocomplete $PROG`
|
||||
complete -F _gopass_bash_autocomplete gopass`
|
||||
|
||||
out, err = ts.run("completion bash")
|
||||
assert.NoError(t, err)
|
||||
|
||||
Reference in New Issue
Block a user