What is this useful for?
Quickly creating or editing objects. The main target would be editor extensions, image a snippet that expands to an object on tab for instance
I wanted to try using yamlpath (
yaml-set
in particular) to recreate the first example, even though the usage model doesn’t quite match up. It’s a bit tedious because I don’t think you can do unrelated replacements in a single command:$ <<<'{}' yaml-set -g ignored.hello -a world | yaml-set -g tabwidth -a 2 -F dquote | yaml-set -g trailingComma -a all | yaml-set -g singleQuote -a true -F dquote | yaml-set -g semi -a true -F dquote | yaml-set -g printwidth -a 120 -F dquote | yaml-get -p .
Trying to make it neater with Zsh and (forbidden) use of
eval
:$ reps=(ignored.hello world tabwidth 2 trailingComma all singleQuote true semi true printwidth 120) cmd=() $ for k v ( ${(kv)reps} ) cmd+=(yaml-set -g $k -a $v -F dquote \|) $ <<<'{}' eval $cmd yaml-get -p .
EDIT: Ugh I can’t figure out how to properly write the less than sign in lemmy comments.
Off-topic, but beacme of Google’s Carbon? People on Reddit created much hype like an year ago.
Interesting concept, just FYI, there’s a popular code grepping tool called Silver Searcher, and it also uses
ag
- consider just usingaugust
to avoid ambiguity/collisions.