So I'm working with the Ruby source, and there's a lot of links that aren't properly doc'd in the comments. I'm writing some code in t2 to try to parse them out, but some are across libraries (ie, from Core to a Lib or Ext), etc.
So then, I change the log level to see if YARD spits out any msgs if there's a link error (and it does, thank you). So then, I've got several screens worth of warning, listed two lines each, etc. I thought I'd reformat the msgs to be on a single line and more column based.
But, as I mentioned the resolve_links code has a bunch of logic in it *along with* the message formatting. hence, splitting those two functions would be helpful in terms of 'separation of logic'...
As an example, in resolve_links, if str, file, line, and maybe some or all of [closed, tag, escape, name, title, match] were passed as parameters to another class for log formatting, someone trying to extend YARD wouldn't need to get into the real logic in the method.
I've seen several areas in YARD where you obviously gave thought to (and did a good job of) dividing logic up such that extending it wouldn't entail ripping it apart. Removing the log formatting from the app logic is just another addition to that.