diff options
author | Mattias Andrée <maandree@operamail.com> | 2014-12-03 10:57:37 +0100 |
---|---|---|
committer | Mattias Andrée <maandree@operamail.com> | 2014-12-03 10:57:37 +0100 |
commit | 600af502aaedcc496ac3dc0771888de978f3e31c (patch) | |
tree | c5e496ea976bb602e232b55bfc664b16bb9fd049 | |
parent | change license (diff) | |
download | krandom-600af502aaedcc496ac3dc0771888de978f3e31c.tar.gz krandom-600af502aaedcc496ac3dc0771888de978f3e31c.tar.bz2 krandom-600af502aaedcc496ac3dc0771888de978f3e31c.tar.xz |
add completion
Signed-off-by: Mattias Andrée <maandree@operamail.com>
-rw-r--r-- | Makefile | 29 | ||||
-rw-r--r-- | src/completion | 33 |
2 files changed, 60 insertions, 2 deletions
@@ -50,10 +50,10 @@ FLAGS = $(WARN) -std=gnu99 .PHONY: default -default: command +default: command shell .PHONY: all -all: command +all: command shell .PHONY: command @@ -68,6 +68,31 @@ obj/%.o: src/%.c $(CC) $(FLAGS) $(COPTIMISE) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) +.PHONY: shell +shell: bash zsh fish + +.PHONY: bash +bash: bin/$(COMMAND).bash + +.PHONY: zsh +zsh: bin/$(COMMAND).zsh + +.PHONY: fish +fish: bin/$(COMMAND).fish + +bin/%.bash: src/completion + @mkdir -p bin + auto-auto-complete bash --output $@ --source $< command="$*" + +bin/%.zsh: src/completion + @mkdir -p bin + auto-auto-complete zsh --output $@ --source $< command="$*" + +bin/%.fish: src/completion + @mkdir -p bin + auto-auto-complete fish --output $@ --source $< command="$*" + + .PHONY: clean clean: diff --git a/src/completion b/src/completion new file mode 100644 index 0000000..8af4b9d --- /dev/null +++ b/src/completion @@ -0,0 +1,33 @@ +; krandom – Keccak-based userspace pseudorandom number generator +; Copyright © 2014 Mattias Andrée (maandree@member.fsf.org) +; +; This program is free software: you can redistribute it and/or modify +; it under the terms of the GNU Affero General Public License as published by +; the Free Software Foundation, either version 3 of the License, or +; (at your option) any later version. +; +; This program is distributed in the hope that it will be useful, +; but WITHOUT ANY WARRANTY; without even the implied warranty of +; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +; GNU Affero General Public License for more details. +; +; You should have received a copy of the GNU Affero General Public License +; along with this program. If not, see <http://www.gnu.org/licenses/>. + + +((value command) + + (multiple unargumented + ((options -h --help) (complete --help) (desc 'Display option summary')) + ((options -v --verbose) (complete --verbose) (desc 'Be verbose')) + ) + + (multiple argumented + ((options -R --bitrate --rate) (complete --rate) (arg RATE) (files -0) (desc 'Select rate')) + ((options -C --capacity) (complete --capacity) (arg CAPACITY) (files -0) (desc 'Select capacity')) + ((options -N -O --output-size --output) (complete --output-size) (arg SIZE) (files -0) (desc 'Select output size')) + ((options -S -B --state-size --state) (complete --state-size) (arg SIZE) (files -0) (desc 'Select state size')) + ((options -W --word-size --word) (complete --word-size) (arg SIZE) (files -0) (desc 'Select word size')) + ) +) + |