| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- #nop vim: set filetype=tt:;
- /*
- 本文件属于 PaoTin++ 的一部分。
- PaoTin++ © 2020~2022 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 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 {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 {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 {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 {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#};
- };
|