buku-fzf function, dmenu with history

This commit is contained in:
2019-08-18 03:13:32 -04:00
parent a1b3fd43f9
commit 704fb6665c
11 changed files with 201 additions and 29 deletions

View File

@@ -0,0 +1,46 @@
#
# Fish completion definition for Buku.
#
# Author:
# Arun Prakash Jana <engineerarun@gmail.com>
#
complete -c buku -s a -l add -r --description 'add bookmark'
complete -c buku -l ai --description 'auto-import bookmarks'
complete -c buku -s c -l comment --description 'comment on bookmark'
complete -c buku -l cached -r --description 'visit Wayback Machine cached version'
complete -c buku -l colors -r --description 'set output colors in 5-letter string'
complete -c buku -s d -l delete --description 'delete bookmark'
complete -c buku -l deep --description 'search matching substrings'
complete -c buku -s e -l export -r --description 'export bookmarks'
complete -c buku -l expand -r --description 'expand a tny.im shortened URL'
complete -c buku -s f -l format -r --description 'limit fields in print and JSON output'
complete -c buku -s h -l help --description 'show help'
complete -c buku -s i -l import -r --description 'import bookmarks'
complete -c buku -l immutable -r --description 'disable title update from web'
complete -c buku -s j -l json --description 'show JSON output for print and search'
complete -c buku -s k -l unlock --description 'decrypt database'
complete -c buku -s l -l lock --description 'encrypt database'
complete -c buku -s n -l count -r --description 'results per page'
complete -c buku -l nc --description 'disable color output'
complete -c buku -l np --description 'non-interactive mode'
complete -c buku -s o -l open --description 'open bookmarks in browser'
complete -c buku -l oa --description 'browse all search results immediately'
complete -c buku -s p -l print --description 'show bookmark details'
complete -c buku -s r -l sreg -r --description 'match a regular expression'
complete -c buku -l replace -r --description 'replace a tag'
complete -c buku -s s -l sany -r --description 'match any keyword'
complete -c buku -s S -l sall -r --description 'match all keywords'
complete -c buku -l shorten -r --description 'shorten a URL using tny.im'
complete -c buku -l suggest --description 'show a list of similar tags'
complete -c buku -s t -l stag --description 'search by tag or show tags'
complete -c buku -l tacit --description 'reduce verbosity'
complete -c buku -l tag --description 'set tags, use + to append, - to remove'
complete -c buku -l threads -r --description 'max connections for full refresh'
complete -c buku -l title --description 'set custom title'
complete -c buku -s u -l update --description 'update bookmark'
complete -c buku -l url -r --description 'set url'
complete -c buku -s V --description 'check latest upstream release'
complete -c buku -s v -l version --description 'show program version'
complete -c buku -s w -l write --description 'open editor'
complete -c buku -s x -l exclude -r --description 'exclude keywords'
complete -c buku -s z -l debug --description 'enable debugging mode'

View File

@@ -77,15 +77,19 @@ end
abbr ab "abbr"
abbr abe "abbr -e"
# abbr rfc "chezmoi apply && source ~/.config/fish/config.fish"
abbr xf "fish_config"
abbr f. "cd .."
abbr f.. "cd ../.."
abbr hsm "history merge"
abbr xf "fish_config"
# ]]] fish-specific #
# fxn abbr's [[[ #
abbr ! "sudo !!"
abbr ag "grep-aliases"
abbr bf "buku-fzf"
abbr bff "buku-fzf fq"
abbr bq "benq-brightness"
abbr cpc "copy cat"
abbr cpe "copy echo"

View File

@@ -0,0 +1,12 @@
function buku-fzf
# buku -p -f 5 | awk -F '\t' 'BEGIN { OFS=FS }; { $2=substr($2, 1, 90); print }' | column -t -s (printf '\t') | fzf --multi | awk '{ print $1 }'
if test $argv[1] = "fq"
set ids (buku -t fq -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 50); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
else
set ids (buku -p -f4 | awk -F '\t' 'BEGIN { OFS=FS }; { sub(/https?:\/\/(www\.)?/, "", $2); $2=substr($2, 1, 45); $3=substr($3, 1, 45); print }' | column -t -s (printf '\t') | fzf --multi --tiebreak end | awk '{ print $1 }')
end
for id in $ids
buku -o $id
end
end

View File

@@ -0,0 +1,7 @@
function sudo
if test "$argv" = !!
eval command sudo $history[1]
else
command sudo $argv
end
end