#!/bin/ksh FILE="$HOME/.ksh.complete" rm -f "${FILE}" add() { echo "$1 $2" | xargs >> "${FILE}"; } # # PASSWORD STORE # if [ -d ~/.password-store ] then ARGS="$(cd ~/.password-store && ls -1d */* | sed 's/\.gpg$//g;s/ /\\ /g')" add "set -A complete_pass -- change edit insert show rm cp mv search find " "$ARGS" fi # # SSH HOSTS # if [ -f ~/.ssh/config ] then ARGS="$(awk '/^Host .*/ { print $2 }' ~/.ssh/config)" add "set -A complete_ssh -- " "$ARGS" add "set -A complete_scp -- " "$ARGS" fi # # KILL # add "set -A complete_kill_1 -- " "-9 -HUP -INFO -KILL -TERM" # # IFCONFIG # add "set -A complete_ifconfig_1 -- " "$(ifconfig | grep ^[a-z] | cut -d: -f1)" # # AMUSED # ARGS="add flush jump load monitor next pause play prev repeat restart show status stop toggle" add "set -A complete_amused_1 -- " "$ARGS" # # GOT # if [ -f /usr/local/bin/got ] then ARGS="$(got -h 2>&1 | sed -n s/commands://p)" add "set -A complete_got_1 -- " "$ARGS" fi ARGS="all all-dir-depends all-lib-depends-args build build-depends-list \ build-dir-depends check-register check-register-all checkpatch \ checksum clean clean-depends clean=all clean=build clean=bulk \ clean=depends clean=dist clean=fake clean=flavors clean=install \ clean=package clean=packages clean=plist clean=sub clean=test \ clean=work configure distclean distpatch do-build do-configure \ do-distpatch do-extract do-fake do-gen do-install do-patch \ do-test dump-vars extract fake fake-wantlib-args fetch fetch-all \ fix-permissions full-all-depends full-build-depends full-run-depends \ full-test-depends gen generate-readmes install install-all \ install-depends lib-depends-args lib-depends-check lib-depends-list \ license-check lock makesum no-lib-depends-args no-wantlib-args package \ patch peek-ftp pkglocatedb port-lib-depends-check port-wantlib-args \ post-build post-configure post-distpatch post-extract post-fake \ post-gen post-install post-patch post-test pre-build pre-configure \ pre-distpatch pre-extract pre-fake pre-gen pre-install pre-patch \ pre-test prepare print-build-depends print-package-args print-plist \ print-plist-all print-plist-all-libs print-plist-all-with-depends \ print-plist-contents print-plist-libs print-plist-libs-with-depends \ print-plist-with-depends print-run-depends print-update-signature \ rebuild regen reinstall repackage reprepare retest run-depends-args \ run-depends-list run-dir-depends show-debug-info show-fake-size \ show-indexed show-list show-prepare-results show-prepare-test-results \ show-required-by show-run-depends show-size subpackage test test-depends \ test-depends-list test-dir-depends unlock update update-patches \ update-plist update-update-or-install update-update-or-install-all \ verbose-show wantlib-args" add "set -A complete_make_1 -- " "$ARGS" if [ -f /usr/sbin/rcctl ] then ARGS="reload restart stop start disable enable ls" add "set -A complete_rcctl_2 -- " "$ARGS" add "set -A complete_rcctl_2 -- " "$(rcctl ls all)" fi # # VIDEO # if [ -d ~/ytdl ] then add "set -A complete_ytdl_1 -- " "$(cd ~/ytdl && ( ls -d *; ls -d */* ))" fi # # CATGIRL # if [ -d ~/.config/catgirl ] then add "set -A complete_catgirl -- " "$(cd ~/.config/catgirl && ls *)" fi # # MANPAGES # ARGS="port-modules bsd.port.mk ports packages dpb make ffmpeg-all \ mpv cabal-module cargo-module go-module gnome-module python-module \ qmake-module ruby-module cargo" add "set -A complete_man -- " "$ARGS"