From 26e91aa1e0f4d4a03e36f42f1620a586878e3d44 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Thu, 8 Aug 2013 03:13:17 +0200 Subject: add shell-completion MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- .gitignore | 2 ++ Makefile | 69 +++++++++++++++++++++++++++++++++--------- dist/archlinux/stable/PKGBUILD | 2 +- passcheck.auto-completion | 4 +++ 4 files changed, 62 insertions(+), 15 deletions(-) create mode 100644 passcheck.auto-completion diff --git a/.gitignore b/.gitignore index 33a1451..5fda880 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ __pycache__/ *.pdf *.ps *.gz +/passcheck.*sh-completion + diff --git a/Makefile b/Makefile index bf1825e..45726b4 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,16 @@ COMMAND = passcheck LICENSES = $(PREFIX)$(DATA) -all: passcheck.install doc + +all: command doc shell + + +command: passcheck.install + +passcheck.install: passcheck.py + cp "$<" "$@" + sed -i "s:'blacklist':'$(PREFIX)$(DATA)/misc/$(PKGNAME).blacklist':g" "$@" + doc: info @@ -21,25 +30,49 @@ info: passcheck.info.gz makeinfo "$<" gzip -9 -f "$*.info" -passcheck.install: passcheck.py + +shell: bash fish zsh + +bash: passcheck.bash-completion +fish: passcheck.fish-completion +zsh: passcheck.zsh-completion + +passcheck.auto-completion.install: passcheck.auto-completion cp "$<" "$@" - sed -i "s:'blacklist':'$(PREFIX)$(DATA)/misc/$(PKGNAME).blacklist':g" "$@" + sed -i 's/^(passcheck$$/($(COMMAND)/' "$@" -install: install-cmd install-license install-info +passcheck.%sh-completion: passcheck.auto-completion.install + auto-auto-complete "$*sh" --output "$@" --source "$<" + + + +.PHONY: install-cmd install-license install-info install-bash install-fish install-zsh +install: install-cmd install-license install-info install-bash install-fish install-zsh install-cmd: - install -dm755 "$(DESTDIR)$(PREFIX)$(BIN)" - install -dm755 "$(DESTDIR)$(PREFIX)$(DATA)/misc" - install -m755 passcheck.install "$(DESTDIR)$(PREFIX)$(BIN)/$(COMMAND)" - install -m644 blacklist "$(DESTDIR)$(PREFIX)$(DATA)/misc/$(PKGNAME).blacklist" + install -dm755 -- "$(DESTDIR)$(PREFIX)$(BIN)" + install -dm755 -- "$(DESTDIR)$(PREFIX)$(DATA)/misc" + install -m755 passcheck.install -- "$(DESTDIR)$(PREFIX)$(BIN)/$(COMMAND)" + install -m644 blacklist -- "$(DESTDIR)$(PREFIX)$(DATA)/misc/$(PKGNAME).blacklist" install-license: - install -dm755 "$(DESTDIR)$(LICENSES)/$(PKGNAME)" - install -m644 COPYING LICENSE "$(DESTDIR)$(LICENSES)/$(PKGNAME)" + install -dm755 -- "$(DESTDIR)$(LICENSES)/$(PKGNAME)" + install -m644 COPYING LICENSE -- "$(DESTDIR)$(LICENSES)/$(PKGNAME)" install-info: passcheck.info.gz - install -dm755 "$(DESTDIR)$(PREFIX)$(DATA)/info" - install -m644 passcheck.info.gz "$(DESTDIR)$(PREFIX)$(DATA)/info/$(PKGNAME).info.gz" + install -dm755 -- "$(DESTDIR)$(PREFIX)$(DATA)/info" + install -m644 passcheck.info.gz -- "$(DESTDIR)$(PREFIX)$(DATA)/info/$(PKGNAME).info.gz" + +install-bash: bash + install -Dm644 passcheck.bash-completion -- "$(DESTDIR)$(PREFIX)$(DATA)/bash-completion/completions/$(COMMAND)" + +install-fish: fish + install -Dm644 passcheck.fish-completion -- "$(DESTDIR)$(PREFIX)$(DATA)/fish/completions/$(COMMAND).fish" + +install-zsh: zsh + install -Dm644 passcheck.zsh-completion -- "$(DESTDIR)$(PREFIX)$(DATA)/zsh/site-functions/_$(COMMAND)" + + uninstall: -rm -- "$(DESTDIR)$(PREFIX)$(BIN)/$(COMMAND)" @@ -47,8 +80,16 @@ uninstall: -rm -- "$(DESTDIR)$(LICENSES)/$(PKGNAME)/LICENSE" -rmdir -- "$(DESTDIR)$(LICENSES)/$(PKGNAME)" -rm -- "$(DESTDIR)$(PREFIX)$(DATA)/info/$(PKGNAME).info.gz" + -rm -- "$(DESTDIR)$(PREFIX)$(DATA)/bash-completion/completions/$(COMMAND)" + -rm -- "$(DESTDIR)$(PREFIX)$(DATA)/fish/completions/$(COMMAND).fish" + -rm -- "$(DESTDIR)$(PREFIX)$(DATA)/zsh/site-functions/_$(COMMAND)" + + -.PHONY: clean clean: - -rm -f passcheck.info.gz passcheck.install + -rm -f passcheck.info.gz *.install passcheck.*sh-completion + + + +.PHONY: all cmd doc info shell bash fish zsh install uninstall clean diff --git a/dist/archlinux/stable/PKGBUILD b/dist/archlinux/stable/PKGBUILD index d385db3..77392c3 100644 --- a/dist/archlinux/stable/PKGBUILD +++ b/dist/archlinux/stable/PKGBUILD @@ -8,7 +8,7 @@ arch=('any') url='https://github.com/maandree/passcheck' license=('GPL3') depends=('python3') -makedepends=('make' 'sed' 'coreutils' 'texinfo' 'gzip') +makedepends=('make' 'sed' 'coreutils' 'texinfo' 'gzip' 'auto-auto-complete') source=(https://github.com/maandree/passcheck/archive/$pkgver.tar.gz) sha256sums=(ee7696f1d12ccb2d76a9b235fe759f899e4fca890852741937b0f0004ec534db) diff --git a/passcheck.auto-completion b/passcheck.auto-completion new file mode 100644 index 0000000..6ab9190 --- /dev/null +++ b/passcheck.auto-completion @@ -0,0 +1,4 @@ +(passcheck + (unargumented (options -r --raw) (complete --raw) (desc 'Treat escape sequences as part of the passphrases')) +) + -- cgit v1.2.3-70-g09d2