Several new scripts added
This commit is contained in:
parent
1809ffacb3
commit
cdbcc9692a
21
misc/docopen
Executable file
21
misc/docopen
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/zsh
|
||||
|
||||
zparseopts -D -E h=help -help=help e+:=extension -extension+:=extension
|
||||
if [[ -n "$help" ]]; then
|
||||
echo "Usage: docopen [DIR [EXTENSION ...]]"
|
||||
echo
|
||||
echo "Searches for files in given or current dir, optionally filtered by extension"
|
||||
echo "Files are shown in dmenu and selected file is opened"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# return all files in the current dir
|
||||
# if arguments are given, each argument is taken as a file extension. only files
|
||||
# which match any given extension are returned
|
||||
search-docs() {
|
||||
fd --type file $extension . "$@"
|
||||
}
|
||||
|
||||
target=$(search-docs "$@" | txmenu -i -l 50 -p 'Open Document:')
|
||||
|
||||
[[ -n $target ]] && xdg-open $target
|
3
misc/git-http-to-git
Executable file
3
misc/git-http-to-git
Executable file
|
@ -0,0 +1,3 @@
|
|||
#!/bin/zsh
|
||||
remote=${1:-origin}
|
||||
git remote set-url $remote $(git remote get-url $remote | sed -e 's#https?://\([^/]*\)/#git@\1:#')
|
13
misc/txmenu
Executable file
13
misc/txmenu
Executable file
|
@ -0,0 +1,13 @@
|
|||
#!/bin/zsh
|
||||
|
||||
# A simple wrapper around fzf and rofi, choosing based on if called from a terminal
|
||||
|
||||
zparseopts -D -E i=ignorecase l:=rofi_lines p:=listprompt -prompt:=listprompt
|
||||
|
||||
if test -t || [[ $TERM ]]; then
|
||||
fzf $ignorecase ${listprompt:+--prompt} ${listprompt[2]} "$@"
|
||||
elif [[ -n $DISPLAY ]]; then
|
||||
dmenu $ignorecase $rofi_lines $listprompt "$@"
|
||||
else
|
||||
echo "Error: neither terminal nor X display" >&2
|
||||
fi
|
17
misc/xdg-info
Executable file
17
misc/xdg-info
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/bin/zsh
|
||||
|
||||
source ${$(realpath "$0"):h:h}/lib/common.zsh
|
||||
|
||||
if ! exists column; then
|
||||
column() { cat }
|
||||
fi
|
||||
|
||||
{
|
||||
echo -e "file\ttype\tdefault program"
|
||||
for file in "$@"; do
|
||||
mimetype=$(xdg-mime query filetype $file)
|
||||
prog=$(xdg-mime query default $mimetype)
|
||||
echo -e "$file\t$mimetype\t$prog"
|
||||
done
|
||||
} | column -t -s $'\t'
|
||||
|
28
void/xqq
Executable file
28
void/xqq
Executable file
|
@ -0,0 +1,28 @@
|
|||
#!/bin/zsh
|
||||
|
||||
zparseopts -D -E i=installed -installed=installed
|
||||
|
||||
if [[ $installed ]]; then
|
||||
filter-installed() {
|
||||
grep -e '^\[\*\]'
|
||||
}
|
||||
else
|
||||
filter-installed() {
|
||||
cat
|
||||
}
|
||||
fi
|
||||
|
||||
description=$(
|
||||
xbps-query -Rs "$*" \
|
||||
| filter-installed \
|
||||
| fzf \
|
||||
| cut -d' ' -f 2 \
|
||||
| xargs xbps-query -R
|
||||
)
|
||||
{
|
||||
grep '^pkgname:' <<<$description
|
||||
grep '^pkgver:' <<<$description
|
||||
grep '^short_desc:' <<<$description
|
||||
grep -v '^pkgname:\|^pkgver:\|^short_desc:' <<<$description
|
||||
|
||||
}| sed -e 's/^\([^:]*:\)/\x1B[33m\1\x1B[0m/' | $PAGER
|
Loading…
Reference in a new issue