Below is a brand-new UltraEdit word file for (HTML-)TADS 2.5.1. Since UltraEdit doesn't yet support multi-line string coloring, I have hacked around that by defining strings as the default block comment and using the alt block comments for /* and */. However, this means any string enclosed by " must be preceded with a space, i.e. say( "Hello, world\n\n You have died"); will work, but say("Hello World"); will not. To use this syntax coloring mode, cut-and-paste all below the "dotted line" and drop it into your WORDFILE.TXT. Depending on how few/many languages you have defined, you might have to change the "/L8" to an unused number. Also note the definition (starting with "/L8") must be *all* *on* *one* *line* up to and including "File Extensions = T" or it won't work. Starting with UltraEdit 7.0, it is possible to use bold/italic text for highlighting. For reference, I use the following settings in UltraEdit itself, all on white: Normal Text RGB 000/000/000 Comments RGB 128/128/128, italic (that's comments and ""-Strings) Strings RGB 128/128/128, italic (that's ''-Strings) Numbers RGB 255/000/000 Keywords RGB 000/000/255 Functions RGB 255/000/000 Operators RGB 255/128/000 Classes RGB 000/128/000 Properties RGB 128/064/064 Verbs/Preps RGB 128/064/064 Objects RGB 128/128/000 Status Codes RGB 128/000/255 Alt Block Comments RGB 128/128/128, italic (that's the real block comments) If you find any useful library routines, constants or anything else I've missed, or if you have any comments at all, contact me! Version 1.20000113 Gunther Schmidl ---cut here---cut here---cut here---cut here---cut here---cut here---cut here--- /L8"TADS" Line Comment Num = 2// Block Comment On = " Block Comment Off = " Block Comment On Alt = /* Block Comment Off Alt = */ String Chars = ' Escape Char = \ File Extensions = T /Delimiters = ~!%^&*()-+=|\/{}[]:;"'<> , .? /C1"Keywords" #define #pragma #include #ifdef #ifndef #else #endif actor abort argcount askdo askio break case class compoundWord continue default delete do else exit external for formatstring function goto if inherited io local modify new pass replace return say switch while /C2"Functions" ** say parse addbulk addweight addword askfile caps car cdr clearscreen commandAfterRead commandPrompt cvtnum cvtstr datatype debugTrace defined delword endCommand execCommand exitobj fclose find firstobj firstsc fopen fread fseek fseekeof ftell fwrite getarg getwords getfuse gettime incturn incscore init initSearch initRestart initRestore input inputdialog inputevent inputkey intersect isclass itemcnt length listcont listcontcont listfixedcontcont logging lower morePrompt nextobj nocaps notify objwords outcapture outhide pardon postAction preCommand preinit preparse preparseCmd proptype quit rand randomize reGetGroup remdaemon remfuse reSearch resourceExists restart restore rundaemons runfuses save say setdaemon setfuse setit setscore setversion scoreStatus skipturn substr switchPlayer systemInfo timeDelay turncount undo unnotify upper verbinfo yorn /C3"Operators" ! ~ . : ; , - = > < & | ( ) [ ] { } + * // / and disambigDobjFirst nil not or self startroom true /C4"Classes" Actor basicMe basicNumObj basicStrObj beditem behindHider buttonitem chairitem clothingItem container darkroom darkVerb decoration deepverb dialItem distantItem doorway fixeditem floatingItem follower fooditem hiddenItem hider item keyItem keyedLockable lightsource lockable lockableDoorway movableActor nestedroom numberedObject object obstacle openable Prep qcontainer qsurface readable room searchHider seethruItem surface switchItem sysverb theFloor thing transparentItem travelVerb underHider vehicle /C5"Properties" ** do io is preferred valid action actorAction adesc adjective anyvalue article cantReach compoundWord construct contents destruct disambigDobj disambigIobj doAction dobjCheck dobjGen doDefault down east height in ioAction iobjCheck iobjGen ioDefault isEquivalent isHim isHer isVisible ldesc location locatioOK multisdesc name ne newNumbered newNumberedPlural nilPrep north nw noun out parseUnknownDobj parseUnknownIobj plural pluraldesc preferredActor prefixdesc prepdefault preposition rejectMultiDobj roomAction roomCheck sdesc se south specialWords statusLine sw thedesc up value verb verbAction west width /C6"Verbs/Preps" ** check move set verDo verIo aboutPrep askVerb atPrep aroundPrep attachVerb attackVerb betweenPrep behindPrep boardVerb breakVerb centerVerb cleanVerb climbVerb closeVerb dVerb debugVerb detachVerb digVerb dirPrep drinkVerb dropVerb eVerb eatVerb fastenVerb flipVerb followVerb fromPrep getOutVerb giveVerb goThroughVerb helloVerb iVerb inPrep inVerb inspectVerb itallVerb iwideVerb jumpVerb knockVerb lieVerb lockVerb lookVerb lookBehindVerb lookInVerb lookThruVerb lookUnderVerb moveVerb nVerb neVerb nwVerb ofPrep offPrep onPrep openVerb outPrep outVerb overPrep plugVerb pokeVerb pullVerb pushVerb putVerb quitVerb readVerb removeVerb restartVerb restoreVerb sVerb saveVerb sayVerb scoreVerb screwVerb scriptVerb seVerb searchVerb showVerb sitVerb sleepVerb standVerb standOnVerb swVerb switchVerb tellVerb terseVerb throwVerb touchVerb turnVerb turnOnVerb turnOffVerb thruPrep toPrep typeVerb uVerb underPrep undoVerb unfastenVerb unlockVerb unplugVerb unscrewVerb unscriptVerb verboseVerb versionVerb wVerb waitVerb wearVerb withPrep yellVerb /C7"Objects" AgainVerb Me numObj strObj takeVerb /C8"Status Codes" ** ASKFILE_ DEFINED_ DISAMBIG_ EC_ FILE_TYPE_ GETTIME_ INDLG_ INPUT_ LCG_ PNP_ PO_ PRO_ PRS_ PRSERR_ PRSFLG_ PRSTYP_ RESTORE_ __