;;; TF multidescer coded by Kareila@ChaoticMUX, May 2003 ;;; ;;; Syntax: /showdescs, /listdescs, /showdesc , /setdesc [=] ;;; ;;; To add a desc: /set desc_ (see examples below) ; Descriptions start here /set desc_test1 the first short and boring test description /set desc_test2 the second short and boring test description /set desc_test3 This is a really long and boring test description. The \ real purpose of this description is to demonstrate how descriptions that \ are broken across multiple lines need to be continued with backslashes \ in order for the file to parse correctly. The extra spaces at the \ beginnings of lines are parsed out by TF. ; Commands are defined here /def showdescs = /showdescs_ $(/listvar -mglob -s desc_*) /def showdescs_ = \ /while ({#}) \ /test regmatch('^desc_',{1}) %; \ /showdesc %PR %; /shift %; \ /done /def listdescs = /listdescs_ $(/listvar -mglob -s desc_*) /def listdescs_ = \ /while ({#}) \ /test regmatch('^desc_',{1}) %; \ /set listdescs_temp %{listdescs_temp} %PR %; /shift %; \ /done %; \ /echo Available descriptions: %{listdescs_temp} %; /unset listdescs_temp /def showdesc = \ /if ($(/eval /echo %%desc_%*) =~ '') \ /echo %% showdesc: No such description "%*". %;\ /else \ /eval /echo -p @{h}%*:@{n} %%desc_%* %; \ /endif /def setdesc = \ /if (regmatch('=',{*})) \ /if ($(/eval /echo %%desc_%PR) =~ '') \ /echo %% setdesc: No such description "%PR". %; \ /else \ /echo %% Setting description "%PR" on object "%PL". %; \ /eval /send @desc %PL = %%desc_%PR %; \ /endif %; \ /elseif ($(/eval /echo %%desc_%*) =~ '') \ /echo %% setdesc: No such description "%*". %; \ /else \ /echo %% Setting description "%*". %; \ /eval /send @desc me = %%desc_%* %; \ /endif