On 10 Oct 2019, at 20:49, Dru Kepple wrote:

Let's suppose I have a command written in Ruby, that is outputting to HTML
in a new window.

Is there a way to create a link in the HTML output that, when clicked, will
actually execute a Ruby function that I define in the command?

Not functions from your command, but you can have JavaScript call ruby scripts, so you would have to create an external script (in the Support/ folder of the bundle) and then provide argument when calling this script, as to what function it should execute.

The documentation is rather sparse: https://macromates.com/textmate/manual/html-output#javascript-api

Basically you can do <script>TextMate.system(«command»)</script> in your HTML output to call «command».

We have a few examples of this, for example ⌃H in a ruby file on a word will lookup documentation (ri) for that word, and there will be links in the output which calls ri again.

The script for this is here: https://github.com/textmate/ruby.tmbundle/blob/master/Support/bin/linked_ri.rb