| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- #nop vim: set filetype=tt:;
- /*
- 本文件属于 PaoTin++ 的一部分。
- PaoTin++ © 2020~2023 的所有版权均由担子炮(dzp <danzipao@gmail.com>) 享有并保留一切法律权利
- 你可以在遵照 GPLv3 协议的基础之上使用、修改及重新分发本程序。
- */
- #func {dirName} { #return @convertDir{name; %1; %2}; };
- #func {shortDir} { #return @convertDir{short; %1; %2}; };
- #func {longDir} { #return @convertDir{long; %1; %2}; };
- #func {reverseDir} {
- #if { "%1" == "enter{| .*}" } {
- #return {out};
- };
- #else {
- #return @convertDir{reverse; %1; %2};
- };
- };
- #func {reverseCmds} {
- #local cmds {%0};
- #local newCmds {};
- #foreach {$cmds} {item} {
- #if { "$newCmds" == "" } {
- #local newCmds {@reverseDir{$item}};
- };
- #else {
- #format {newCmds} {%s;%s} {@reverseDir{$item}} {$newCmds};
- };
- };
- #return {$newCmds};
- };
- #var xtt.dir.table {
- {east} {{name}{正东} {short}{e} {long}{east} {reverse}{west} }
- {west} {{name}{正西} {short}{w} {long}{west} {reverse}{east} }
- {south} {{name}{正南} {short}{s} {long}{south} {reverse}{north} }
- {north} {{name}{正北} {short}{n} {long}{north} {reverse}{south} }
- {e} {{name}{正东} {short}{e} {long}{east} {reverse}{w} }
- {w} {{name}{正西} {short}{w} {long}{west} {reverse}{e} }
- {s} {{name}{正南} {short}{s} {long}{south} {reverse}{n} }
- {n} {{name}{正北} {short}{n} {long}{north} {reverse}{s} }
- {northeast} {{name}{东北} {short}{ne} {long}{northeast} {reverse}{southwest}}
- {southeast} {{name}{东南} {short}{se} {long}{southeast} {reverse}{northwest}}
- {northwest} {{name}{西北} {short}{nw} {long}{northwest} {reverse}{southeast}}
- {southwest} {{name}{西南} {short}{sw} {long}{southwest} {reverse}{northeast}}
- {ne} {{name}{东北} {short}{ne} {long}{northeast} {reverse}{sw} }
- {se} {{name}{东南} {short}{se} {long}{southeast} {reverse}{nw} }
- {nw} {{name}{西北} {short}{nw} {long}{northwest} {reverse}{se} }
- {sw} {{name}{西南} {short}{sw} {long}{southwest} {reverse}{ne} }
- {up} {{name}{正上} {short}{u} {long}{up} {reverse}{down} }
- {down} {{name}{正下} {short}{d} {long}{down} {reverse}{up} }
- {u} {{name}{正上} {short}{u} {long}{up} {reverse}{d} }
- {d} {{name}{正下} {short}{d} {long}{down} {reverse}{u} }
- {eastup} {{name}{东上} {short}{eu} {long}{eastup} {reverse}{westdown} }
- {westup} {{name}{西上} {short}{wu} {long}{westup} {reverse}{eastdown} }
- {southup} {{name}{南上} {short}{su} {long}{southup} {reverse}{northdown}}
- {northup} {{name}{北上} {short}{nu} {long}{northup} {reverse}{southdown}}
- {eu} {{name}{东上} {short}{eu} {long}{eastup} {reverse}{wd} }
- {wu} {{name}{西上} {short}{wu} {long}{westup} {reverse}{ed} }
- {su} {{name}{南上} {short}{su} {long}{southup} {reverse}{nd} }
- {nu} {{name}{北上} {short}{nu} {long}{northup} {reverse}{sd} }
- {eastdown} {{name}{东下} {short}{ed} {long}{eastdown} {reverse}{westup} }
- {westdown} {{name}{西下} {short}{wd} {long}{westdown} {reverse}{eastup} }
- {southdown} {{name}{南下} {short}{sd} {long}{southdown} {reverse}{northup} }
- {northdown} {{name}{北下} {short}{nd} {long}{northdown} {reverse}{southup} }
- {ed} {{name}{东下} {short}{ed} {long}{eastdown} {reverse}{wu} }
- {wd} {{name}{西下} {short}{wd} {long}{westdown} {reverse}{eu} }
- {sd} {{name}{南下} {short}{sd} {long}{southdown} {reverse}{nu} }
- {nd} {{name}{北下} {short}{nd} {long}{northdown} {reverse}{su} }
- {out} {{name}{出去} {short}{out} {long}{out} {reverse}{enter} }
- {enter} {{name}{进去} {short}{enter} {long}{enter} {reverse}{out} }
- };
- #func {convertDir} {
- #local field {%1};
- #local dir {%2};
- #local restricted {%2};
- #if { "$dir" == "" } {
- #return {};
- };
- #local entry ${xtt.dir.table[$dir]};
- #if { "$entry" == "" } {
- #if { @isTrue{$restricted} } {
- #return {};
- };
- #else {
- #return {$dir};
- };
- };
- #else {
- #return {$entry[$field]};
- };
- };
|