A universal tool (well, since I use Windows, a Windows tool) to modify the clipboard would be cool.
So, copy text to clipboard, press a hotkey to popup the menu, and it'll offer options depending on the detected text. For example changing the clipboard contents to prettified (if it detects JSON, XML, HTML), or formatting a number back and forth (e.g. working with SSN's out of numerical DB entries when they prefer AAA-GG-SSSS).
I have this as a bash script and a some similar bash and python scripts for converting between python's print(my_dict) and json, or to run some python (mostly the dicts) through black.
The j2p is pretty self-evident if you know any python, and the only trick to p2j was knowing `ast.literal_eval(input_str)`.
The extra nice thing about jet is you can convert json into edn, then pipe it into an inline babashka repl where you can inspect the object with all the power of clojure. It is super duper nice for quickly looking through hunks (even huge hunks) of json. You can sum things up, filter through thousands of elements, generate a json schema with malli, whatever you want!
Loved it! I made this version for `fish` and `wl-clipboard`:
function clipboard-format-json
# Inspired by https://chris48s.github.io/blogmarks/posts/2021/jsontidy/
if set -l formatted "$(wl-paste | jq '.')"
wl-copy $formatted
end
end
By saving it to .config/fish/functions/clipboard-format-json.fish, it should immediately work
I do a lot of this and `pbpaste | sed s/^ // | pbcopy` and things like that. It just fits my brain better. What's nice about raycast as a macOS pasteboard manager is that whatever you last selected via Cmd-Shift-V is the output of `pbpaste`. I'm not 100% sure how that is affected by copying images though.
I think kde plasma's clipboard tool is quite underrated for this type of thing too. you add something similar as an action, then you get a little popup format button whenever you copy any json. I use it for all sorts of similar things
23 comments
[ 0.28 ms ] story [ 6.8 ms ] thread> yq is a portable command-line YAML, JSON, XML, CSV, TOML, HCL and properties processor
It’s great as it is included by default in RHEL/Fedora
[0]: https://github.com/j-brooke/FracturedJson
So, copy text to clipboard, press a hotkey to popup the menu, and it'll offer options depending on the detected text. For example changing the clipboard contents to prettified (if it detects JSON, XML, HTML), or formatting a number back and forth (e.g. working with SSN's out of numerical DB entries when they prefer AAA-GG-SSSS).
The j2p is pretty self-evident if you know any python, and the only trick to p2j was knowing `ast.literal_eval(input_str)`.
The extra nice thing about jet is you can convert json into edn, then pipe it into an inline babashka repl where you can inspect the object with all the power of clojure. It is super duper nice for quickly looking through hunks (even huge hunks) of json. You can sum things up, filter through thousands of elements, generate a json schema with malli, whatever you want!
Edit: had to escape the spaces because HN ate my spaces.
On mobile, but I believe for one of them on WSL is something like 'paste.exe'