Hi, In ref-filter, we have a bunch of atoms which serves as a formatting option for `git for-each-ref`. Despite of having 'subject' as an argument to 'contents' [i.e `%(contents:subject)`], we still have 'subject' as an atom [i.e `%(subject)`]. Likewise for `%(contents:signature)`, we can have 'signature' as an atom too. Currently, `%(contents:signature)` internally uses `parse_signature()` that only works for signed tag objects. I plan to expand the scope of `signature` by defining it as an atom and will make it work for commits too. Also, thinking of adding `signer`, `key`, `fingerprint`, `primarykeyfingerprint`, `trustlevel` and `grade`[print 'G' for good, 'B' for bad...] as arguments to "signature". This change will also help me in using ref-filter's logic in pretty.c for formatting options like "GG", "G?", etc. To know more about these formatting options, you can take a look here[1]. If curious about what approach I'm taking for using ref-filter logic in pretty.c, see[2] Would love hear your thoughts on it. Any suggestions will also be appreciated. Thanks, Hariom [1]: https://github.com/git/git/blob/f402ea68166bd77f09b176c96005ac7f8886e14b/Documentation/pretty-formats.txt#L221-L235 [2]: https://public-inbox.org/git/pull.658.git.1592218662.gitgitgadget@xxxxxxxxx/