mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-22 04:05:38 +00:00
clean up jqr
This commit is contained in:
parent
7007577176
commit
7128cd8d0d
23
modules/common/shell/bash/scripts/jqr.sh
Executable file
23
modules/common/shell/bash/scripts/jqr.sh
Executable 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)"
|
@ -59,10 +59,6 @@
|
||||
description = "Tidy up JSON using jq";
|
||||
body = "pbpaste | jq '.' | pbcopy"; # Need to fix for non-macOS
|
||||
};
|
||||
jqr = {
|
||||
description = "jq repl for constructing jq syntax";
|
||||
body = "echo '' | fzf --query '.' --print-query --preview \"jq {q} < $argv\"";
|
||||
};
|
||||
note = {
|
||||
description = "Edit or create a note";
|
||||
argumentNames = "filename";
|
||||
|
@ -41,5 +41,16 @@
|
||||
FZF_CTRL_T_COMMAND = fzfCommand;
|
||||
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;
|
||||
})
|
||||
];
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user