Dgdebug in terminal window

Just started experimenting with Dialog. One of the really cool looking features is the interactive debugger, I’ve always wanted a tool like it. Unfortunately, my screen reader doesn’t automatically read the output from its window. The window itself looks a lot like Frotz, and I assume that’s basically what it is. (EDIT: Not exactly, but close enough for the question I guess.)
Frotz and consequently dgdebug (at least on Windows) do have a text-to-speech mode, but it’s not exactly ideal for my purposes. There are no commands to navigate by line or character (pretty important when you’re debugging) and not even a command to stop the speech once it’s started. It’d be great if I could have the output automatically read by NVDA (the screen reader I already use).
There is an NVDA addon for automatically reading text output from IF interpreters. While Frotz is included among them, the addon doesn’t work with dgdebug, mainly because dgdebug doesn’t (or can’t) expose the name and version of Frotz it’s running to NVDA. This factor is what stops me from just hacking the addon to work with dgdebug. Before I dive into the code itself to see what I can learn, I was wondering how difficult it’d be to just have a switch that starts an interactive dgdebug session in the shell that launches it? I imagine for the sake of sanity it’d have to be text only, single window, and basic or non-existent file handling. I just ask because most screen readers automatically read the output of terminal windows such as Command Prompt and PowerShell.

EDIT: Also the case with Voiceover on OS, Orca in GNOME environments, and anything which supports Speakup


Well, basically 0 hacking required to get it to work with the existing NVDA addon for interpreters. Here’s an updated copy with full support for the interactive debugger, works with NVDA version 2017.3 and above.
IFInterpreters.zip (89.3 KB)
Install by unzipping the archive and clicking on the addon file. Thanks go to Nick Stockton for the addon.

More good news, I’m now good and clear on the difference between GLk and Frotz :neutral_face: