summaryrefslogtreecommitdiffstats
path: root/ksh/conf/fzf.ksh
diff options
context:
space:
mode:
Diffstat (limited to 'ksh/conf/fzf.ksh')
-rwxr-xr-xksh/conf/fzf.ksh42
1 files changed, 42 insertions, 0 deletions
diff --git a/ksh/conf/fzf.ksh b/ksh/conf/fzf.ksh
new file mode 100755
index 0000000..c9f5b46
--- /dev/null
+++ b/ksh/conf/fzf.ksh
@@ -0,0 +1,42 @@
+OHMY_DO=${OHMY_DO:-doas}
+
+zh() {
+ fc -ln | eval $(fzf)
+}
+
+zpkg() {
+ local _pkg _usage
+
+ _usage="zpkg add|rm"
+
+ if [ ! -f /usr/local/share/sqlports ]; then
+ echo "please install sqlports"
+ return 1
+ fi
+
+ if [ ! -e /usr/local/bin/sqlite3 ]; then
+ echo "please install sqlite3"
+ return 1
+ fi
+
+ if [ -z $1 ]; then
+ echo $_usage
+ return 1
+ else
+ case $1 in
+ add)
+ _pkg=$(/usr/local/bin/sqlite3 -separator " " \
+ /usr/local/share/sqlports \
+ "select distinct fullpkgname from Ports;" |\
+ fzf --preview "/usr/sbin/pkg_info {1}")
+ [ ! -z $_pkg ] && ${OHMY_DO} /usr/sbin/pkg_add $_pkg
+ ;;
+ rm)
+ _pkg=$(ls -1 /var/db/pkg | fzf --preview "/usr/sbin/pkg_info {1}")
+ [ ! -z $_pkg ] && ${OHMY_DO} /usr/sbin/pkg_delete $_pkg
+ ;;
+ *)
+ echo $_usage
+ esac
+ fi
+}
Un proyecto texto-plano.xyz