diff --git a/.gitignore b/.gitignore index cf3b5457..066e7d5b 100644 --- a/.gitignore +++ b/.gitignore @@ -84,3 +84,6 @@ js/chibi.* build-lib/chibi/char-set/derived.scm build-lib/chibi/char-set/width.scm + +# vim swapfiles +*.swp diff --git a/Makefile b/Makefile index 65c3e8cb..e7822d97 100644 --- a/Makefile +++ b/Makefile @@ -415,7 +415,12 @@ install-base: all $(INSTALL) -m0644 doc/chibi-doc.1 $(DESTDIR)$(MANDIR)/ -if type $(LDCONFIG) >/dev/null 2>/dev/null; then $(LDCONFIG) >/dev/null 2>/dev/null; fi -install: install-base +install-bash-completion: + if [ -d "/etc/bash_completion.d" ]; then \ + cp tools/snow-chibi-completion.bash /etc/bash_completion.d/snow-chibi; \ + fi + +install: install-base install-bash-completion ifneq "$(IMAGE_FILES)" "" echo "Generating images" -[ -z "$(DESTDIR)" ] && LD_LIBRARY_PATH="$(SOLIBDIR):$(LD_LIBRARY_PATH)" DYLD_LIBRARY_PATH="$(SOLIBDIR):$(DYLD_LIBRARY_PATH)" CHIBI_MODULE_PATH="$(MODDIR):$(BINMODDIR)" $(BINDIR)/chibi-scheme$(EXE) -mchibi.repl -d $(MODDIR)/chibi.img @@ -497,6 +502,7 @@ uninstall: -$(RMDIR) $(DESTDIR)$(MODDIR) $(DESTDIR)$(BINMODDIR) -$(RM) $(DESTDIR)$(MANDIR)/chibi-scheme.1 $(DESTDIR)$(MANDIR)/chibi-ffi.1 $(DESTDIR)$(MANDIR)/chibi-doc.1 -$(RM) $(DESTDIR)$(PKGCONFDIR)/chibi-scheme.pc + -$(RM) /etc/bash_completion.d/snow-chibi dist: distclean $(RM) chibi-scheme-$(CHIBI_VERSION).tgz diff --git a/tools/snow-chibi-completion.bash b/tools/snow-chibi-completion.bash new file mode 100644 index 00000000..b49b16b6 --- /dev/null +++ b/tools/snow-chibi-completion.bash @@ -0,0 +1,12 @@ +#/usr/bin/env bash + +_snow_chibi_completions() { + if [ "${#COMP_WORDS[@]}" -gt "2" ] + then + COMPREPLY=($(compgen -f -- "${COMP_WORDS[COMP_CWORD]}")) + else + COMPREPLY=($(compgen -W "search show install upgrade remove status package gen-key reg-key sign verify upload index update implementations help" "${COMP_WORDS[COMP_CWORD]}")) + fi +} + +complete -o bashdefault -F _snow_chibi_completions snow-chibi