mirror of
https://github.com/nmasur/dotfiles
synced 2024-11-22 15:45: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";
|
description = "Tidy up JSON using jq";
|
||||||
body = "pbpaste | jq '.' | pbcopy"; # Need to fix for non-macOS
|
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 = {
|
note = {
|
||||||
description = "Edit or create a note";
|
description = "Edit or create a note";
|
||||||
argumentNames = "filename";
|
argumentNames = "filename";
|
||||||
|
@ -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;
|
||||||
|
})
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user