#nop vim: set filetype=tt:; /* 本文件属于 PaoTin++ 的一部分。 PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp ) 享有并保留一切法律权利 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。 */ #alias {Tick} {xtt.Tick}; #alias {xtt.Tick} { #local id {%1}; #local code {%2}; #local interval {%3}; #line sub var #untick {$id}; #line sub var #tick {$id} {$code} $interval; $code; }; #alias {TICKS} {xtt.ListTicker}; #alias {xtt.ListTicker} { #info tickers save; #echo {<128>%+20s %+20s %+20s} {定时器名称} {执行间隔} {距离下次执行(s)}; #draw Yellow scroll line 1 1 1 62; #format utime %U; #local index {}; #loop {1} {&info[TICKERS][]} {index} { #local uval {}; #math uval $info[TICKERS][+$index][arg3] * 1000000; #echo {%+20s %+20s %+20m} {$info[TICKERS][+$index][arg1]} {$info[TICKERS][+$index][arg3]} {($uval - ($utime - $info[TICKERS][+$index][arg4]) % $uval) / 1000000.00}; }; }; #alias {ALIASES} {xtt.ListAlias}; #alias {xtt.ListAlias} { #local pattern {%1}; #info aliases save; #local aliasTable {}; #local index {}; #loop {1} {&info[ALIASES][]} {index} { #local name {$info[ALIASES][+$index][arg1]}; #local class {$info[ALIASES][+$index][class]}; #if { "$class" == "" && "$pattern" != "all" } { #continue; }; #if { "$class" == "" } { #local class {未分组}; }; #if { "$name" == "%*{[^a-zA-Z0-9-_.]}%*" } { #continue; }; #if { "$pattern" != "{|all}" && "$class/$name" != "%*$pattern%*" } { #continue; }; #list {aliasTable[$class]} sort {$name}; }; #local format { %-20s %-30s %-10s}; #echo {<128>$format} {class} {别名} {类型}; #draw Yellow scroll line 1 1 1 80; #local classList {@sort{*aliasTable[]}}; #local class {}; #foreach {$classList} {class} { #local name {}; #foreach {${aliasTable[$class][]}} {name} { #local type {<130>自定义<070>}; #if { "$name" == "%*.{[A-Z][a-zA-Z0-9]+}" } { #local type {<120>开放API<070>}; }; #if { "$class" == "module-loader" } { #if { "$name" == "{[A-Z]+}" } { #local type {<160>快捷方式<070>}; }; #else { #local type {<020>语法增强<070>}; } }; #if { "${class}.$name" == "main.class.%*" } { #local type {<020>语法增强<070>}; }; #if { "${class}.$name" == "main.load-file" } { #local type {<020>语法增强<070>}; }; #if { "${class}.$name" == "main.%*Log" } { #local type {<120>日志接口<070>}; }; #if { "$pattern" == "" && "$type" == "%*自定义%*" } { #continue; }; #echo {<060>$format} {$class} {$name} {$type}; }; }; }; #alias {VARS} {xtt.ListVar}; #alias {xtt.ListVar} { #local pattern {%1}; #info variable save; #local varTable {}; #local index {}; #loop {1} {&info[VARIABLES][]} {index} { #local name {$info[VARIABLES][+$index][arg1]}; #local class {$info[VARIABLES][+$index][class]}; #local value {$info[VARIABLES][+$index][arg2]}; #local nest {$info[VARIABLES][+$index][nest]}; #if { "$class" == "" && "$pattern" != "all" } { #continue; }; #if { "$class" == "" } { #local class {未分组}; }; #if { "$pattern" != "{|all}" && "$class/$name" != "%*$pattern%*" } { #continue; }; #local {varTable[$class][$name]} { {nest}{$nest} {value}{$value} }; }; #local format { %-20s %-30s %-10s %s}; #echo {<128>$format} {class} {变量} {类型} {值}; #draw Yellow scroll line 1 1 1 80; #local classList {@sort{*varTable[]}}; #local class {}; #foreach {$classList} {class} { #local name {}; #local nameList {@sort{*varTable[$class][]}}; #foreach {$nameList} {name} { #local type {<020>字符串<070>}; #local value {<160>$varTable[$class][$name][value]<070>}; #local nest {$varTable[$class][$name][nest]}; #if { $nest > 0 } { #local type {<050>表格<070>}; #local value {<130>[... 共 $nest 项数据]<070>}; }; #echo {<060>$format} {$class} {$name} {$type} {$value}; }; }; }; #alias {FUNCS} {xtt.ListFunc}; #alias {xtt.ListFunc} { #local pattern {%1}; #info functions save; #local funcsTable {}; #local index {}; #loop {1} {&info[FUNCTIONS][]} {index} { #local name {$info[FUNCTIONS][+$index][arg1]}; #local class {$info[FUNCTIONS][+$index][class]}; #if { "$class" == "" && "$pattern" != "all" } { #continue; }; #if { "$class" == "" } { #local class {未分组}; }; #if { "$name" == "%*{[^a-zA-Z0-9_./-]}%*" } { #continue; }; #if { "$pattern" != "{|all}" && "$class/$name" != "%*$pattern%*" } { #continue; }; #list {funcsTable[$class]} sort {$name}; }; #local format { %-20s %-30s %-10s}; #echo {<128>$format} {class} {函数} {类型}; #draw Yellow scroll line 1 1 1 80; #local classList {@sort{*funcsTable[]}}; #local class {}; #foreach {$classList} {class} { #local name {}; #foreach {${funcsTable[$class][]}} {name} { #local type {<130>自定义<070>}; #if { "$name" == "%*.{[A-Z][a-zA-Z0-9]+}" } { #local type {<120>开放API<070>}; }; #if { "$class" == "{lib/xtintin|main}" } { #local type {<020>语法增强<070>}; }; #if { "${class}.$name" == "main.%*Log" } { #local type {<120>日志接口<070>}; }; #if { "$pattern" == "" && "$type" == "%*自定义%*" } { #continue; }; #echo {<060>$format} {$class} {$name} {$type}; }; }; }; #alias {xtt.Send} { #if { "$xttOptions[DisableOutput]" == "true" } { #echo {<160>命令已被抑制: <420>%p<070>} {%0}; #return; }; #send %0 }; #alias {xtt.SendAtOnce} { #local cmds {%1}; #send {#$cmds#}; }; #alias {xtt.Answer} { #delay 0 { #echo {}; #buffer end; #send {%1}; }; };