• beckerist@lemmy.world
    link
    fedilink
    arrow-up
    28
    ·
    edit-2
    1 year ago

    Announcing [language]! A [language]-like language that produces [this language], [that language], or [another language]! Written in [language]!

    /s

    • yoavlavi@programming.devOP
      link
      fedilink
      arrow-up
      5
      ·
      1 year ago

      Quickly creating or editing objects. The main target would be editor extensions, image a snippet that expands to an object on tab for instance

  • Andy@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    1 year ago

    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.

    • key@lemmy.keychat.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      zsh has completion built in. There’s zsh-autocomplete that’s maybe closer to what you’re thinking. I’m not aware of a term emu with special GUI for it beyond what your shell gives you.