; http://dev.adiirc.com/boards/5/topics/169 ; Scratchpad - quick msl code evaluation ; v0.2 by pereba on *:Unload:.remove scratchpad.txt menu menubar { Scratchpad:sp } alias sp { if (!$dialog(Scratchpad)) dialog -mp Scratchpad Scratchpad } dialog Scratchpad { title "Scratchpad" size -1 -1 312 220 option dbu edit "", 1, 0 0 312 198, multi return hsbar vsbar hsbar vsbar button "Tab", 4, 6 202 28 14 button "Evaluate", 5, 40 202 240 14 button "i", 6, 286 202 20 14 } alias -l sendkey { var %name sk $+ $ticks .comopen %name WScript.Shell .comclose %name $com(%name,SendKeys,3,bstr,$replacex($1-,{space},$chr(32))) } ; temp file to store code alias -l f return scratchpad.txt ; populate box if previous code is found on *:dialog:Scratchpad:init:*: { if ($isfile($f)) { var %i 2, %l $lines($f) while (%i < %l) { did -a $dname 1 $read($f,n,%i) $+ $crlf inc %i } } } on *:dialog:Scratchpad:*:*: { if ($devent = sclick) { ; info button if ($did == 6) { noop $?!="Remember to not add $chr(160) $chr(160) ALIAS NAME {...} $chr(160) $chr(160) this is not supported." } ; tab button if ($did == 4) { did -f $dname 1 | sendkey {space}{space} } ; evaluate button if ($did == 5) { var %code $did(1).lines if (%code) { write -c $f alias sidentifier $chr(123) var %line = 1 while (%line <= $did(1).lines) { write -a $f $did(1, %line).text inc %line } write -a $f $chr(125) .load -rs $f sidentifier .unload -rs $f } } } }