TADS Workbench - Is it open source?

I was going to take a look at the code for Workbench just to get a feel for it. I’m assuming it’s in C++. If so, it’s either direct WinAPI or it’s using something like MFC. If it’s the latter, I’m in trouble.

I don’t think the source for Workbench is available, but that may be more for lack of interest than anything else.

I expect it’s covered by the same TADS Freeware License as the rest of the project.

The Workbench source is available as part of the htmltads source release. It’s all built directly on Win32 (no MFC or any other Microsoft class libraries are involved).

This is great news. What I’d like to really do is just have the basic editor with the Scintilla component. Then see if I can build up beyond that based on what seems useful. My main reason for using the Workbench is because of the syntax aware editor at this point. I did find a tads3.properties file for SciTE but I’m guessing it’s a bit out of date with syntax features. There is a TADS 3-specific syntax and navigation set up for EditPadPro as well.

If you just were to start with ScITE you probably can get pretty far – ScITE is a great standalone editor and has an embedded console, and people have extended it to include project management and so on.

Yeah, I was thinking about that. My concern is that the tads3 inclusion is probably a bit out of date. For example, it doesn’t handle the new triple-quoted strings that TADS now supports. Not a big deal by itself. But I’m just thinking future-wise here. I’m not sure but I looked at SciTE and it looks like you might have to compile things into/with the lexer in order to update support.

I’m sure for most purposes, though, the SciTE and tads3.properties are more than fine.

The updated TADS 3 lexer is in the html tads sources - look for scintilla/src/LexTADS3.cpp. That’s for Scintilla 1.7.2, but I’ve just updated the scintilla version in Workbench to the latest (3.0.2), and I don’t think the TADS 3 lexer needed more than some trivial updates for changes to the sci #include file layout. At any rate, I’d be happy to send you my working copy if you need it.

That’s correct; it’d be nicer if they did this through a scripting extension instead of C++, but given that it’s open-source it’s not hugely different. There is one thing to note - since scintilla is used in Workbench, you can probably count on me keeping it reasonably up to date with any changes to the TADS syntax. So in that sense it’s probably the most future-proof editor out there in terms of up-to-date TADS 3 support.

I should also point out that the auto-indenter should also be easily adaptable for SciTE. That’s in the htmltads sources as well, in tads3addin.cpp. It’s written for the Workbench plug-in scheme, which uses custom COM objects in DLLs, so you’d have to discard all of that COM framing and replace it with whatever the SciTE equivalent is. But the actual indenter code should separate out easily enough.