aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore2
-rw-r--r--Makefile69
-rw-r--r--dist/archlinux/stable/PKGBUILD2
-rw-r--r--passcheck.auto-completion4
4 files changed, 62 insertions, 15 deletions
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'))
+)
+