Compare commits

..

2 Commits

Author SHA1 Message Date
Noah Masur
7128cd8d0d
clean up jqr 2024-11-16 22:59:00 -07:00
Noah Masur
7007577176
jqr for jq preview repl
based on: https://gist.github.com/reegnz/b9e40993d410b75c2d866441add2cb55
2024-11-16 22:25:39 -07:00
2 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Adapted from: https://gist.github.com/reegnz/b9e40993d410b75c2d866441add2cb55
if [[ -z $1 ]] || [[ $1 == "-" ]]; then
input=$(mktemp)
trap 'rm -f $input' EXIT
cat /dev/stdin >"$input"
else
input=$1
fi
echo '' |
fzf --phony \
--height 100% \
--preview-window='up:80%' \
--query '.' \
--print-query \
--header $'CTRL-O: jq output\nCTRL-Y: copy output\nALT-Y: copy query' \
--preview "jq --color-output -r {q} $input" \
--bind "ctrl-o:execute(jq -r {q} $input)+clear-query+accept" \
--bind "alt-y:execute(echo {q} | pbcopy)" \
--bind "ctrl-y:execute(jq -r {q} $input | pbcopy)"

View File

@ -41,5 +41,16 @@
FZF_CTRL_T_COMMAND = fzfCommand; FZF_CTRL_T_COMMAND = fzfCommand;
FZF_DEFAULT_OPTS = "-m --height 50% --border"; FZF_DEFAULT_OPTS = "-m --height 50% --border";
}; };
home.packages = [
(pkgs.writeShellApplication {
name = "jqr";
runtimeInputs = [
pkgs.jq
pkgs.fzf
];
text = builtins.readFile ./bash/scripts/jqr.sh;
})
];
}; };
} }