beautify.tin 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. #var lib_ui_beautify[META] {
  2. {NAME} {美化插件}
  3. {DESC} {美化你的 TinTin++,对齐你的表格。}
  4. {AUTHOR} {担子炮}
  5. };
  6. #func {lib_ui_beautify.Init} {
  7. #class data/lib/ui/beautify open;
  8. #var beautify-switch {OFF};
  9. #var beautify-eol-mark {<g03>.};
  10. #class data/lib/ui/beautify close;
  11. beautify.On;
  12. #return true;
  13. };
  14. #var beautify-table {
  15. {┌|┎|╭|╓|└|┖|╰|╙} {─}
  16. {─|┬|┭|┰|┱|╥} {─}
  17. {├|┞|┟|┠|╟} {─}
  18. {┼|╁|╀|╂|┽|╃|╅|╉|╫} {─}
  19. {┴|┵|┸|┹|╨} {─}
  20. {┏|┍|┗|┕} {━}
  21. {━|┳|┲|┯|┮} {━}
  22. {┣|┢|┡|┝} {━}
  23. {╋|╇|╈|┿|╊|╆|╄|┾} {━}
  24. {┻|┺|┷|┶} {━}
  25. {╔|╦|╠|╬|╚|╩|═|╒|╤|╞|╪|╘|╧} {═}
  26. {│|┃|║|┆|┇|┊|┋|┤|┨|┫|╣|╢|╡} {left-align}
  27. {┐|┓|┒|╮|╗|┘|┛|┚|╯|╝|╲|╱|∕} {left-align}
  28. {■|‖|▉|▊|▋|▌|▍|▎|▏|◢|◣|◥|◤|▓} {left-align}
  29. {▁|▂|▃|▄|▅|▆|▇|█|▀|▔|┄|┅|┈|┉|—} {double}
  30. {▼|▲|△|▽|□|◇|◆|☆|★} {left-align}
  31. {•|◎|⊙|☉|○|●|Θ|⊕} {left-align}
  32. {·|∶|∴|∷|˙|¨} {left-align}
  33. {≤|≧|≥|≮|≯|∨|∧|≌|╳|×} {left-align}
  34. {↙|↘|↗|↖|←|↑|→|↓} {left-align}
  35. {※|Ψ|Ж|ξ|ф|∩|⊥|♀|∞|≈|√|⌒|Ω|¤|ō||ψ|ζ|∽} {left-align}
  36. {①|②|③|④|⑤|⑥|⑦|⑧|⑨|⑩} {left-align}
  37. {“|‘} {right-align}
  38. {”|’|…} {left-align}
  39. {⭕️|🐎|🌊|🔥|🎭|🐀|🔅} {left-align}
  40. };
  41. #alias {beautify.On} {
  42. #class beautify-sub kill;
  43. #class beautify-sub open;
  44. #local charset {};
  45. #foreach {*{beautify-table[]}} {charset} {
  46. #local type {${beautify-table[$charset]}};
  47. #switch {"$type"} {
  48. #case {"double"} {#substitute {{$charset}} {%%1%%1}};
  49. #case {"left-align"} {#substitute {{$charset}} {%%1 }};
  50. #case {"right-align"} {#substitute {{$charset}} { %%1}};
  51. #default {#line sub var #substitute {{$charset}} {%%1$type}};
  52. };
  53. };
  54. #substitute {%S%!s{https?://[[:graph:]]+}\s*{\S|$}} {%%1 %%2 %%3};
  55. #nop 行尾空格因为肉眼不可见因此常常导致无法匹配触发。这里把它可视化一下。;
  56. #action {~^%*%+1S%+1..s%c{|ID=beautify}$} {
  57. #line ignore #showme {@Beautify{{%%1%%2%%3}}$beautify-eol-mark};
  58. #line gag;
  59. } {9.999};
  60. #class beautify-sub close;
  61. #var beautify-switch {ON};
  62. okLog 宽字符美化已启用。;
  63. warnLog 出于美化需要,接下来你在屏幕上看到的内容可能和服务器实际传送的内容不一致。;
  64. warnLog 这可能会给编写触发带来困扰,此时你可以通过快捷键或者 beautify.Off 暂时禁用美化。;
  65. prompt.Set {{beautify}{<129>已启用}};
  66. prompt.refresh;
  67. };
  68. #alias {beautify.Off} {
  69. #class beautify-sub kill;
  70. #var beautify-switch {OFF};
  71. warnLog 宽字符美化已禁用。你可以通过快捷键或者 beautify.On 重新启用。;
  72. prompt.Set {{beautify}{<119>已禁用}};
  73. prompt.refresh;
  74. };
  75. #func {Beautify} {
  76. #local text {%1};
  77. #if { "${beautify-switch}" != "ON" } {
  78. #return {$text};
  79. };
  80. #local charset {};
  81. #foreach {*{beautify-table[]}} {charset} {
  82. #local type {${beautify-table[$charset]}};
  83. #switch {"$type"} {
  84. #case {"double"} {#replace {text} {{$charset}} {&1&1}};
  85. #case {"left-align"} {#replace {text} {{$charset}} {&1 }};
  86. #case {"right-align"} {#replace {text} {{$charset}} { &1}};
  87. #default {#line sub var #replace {text} {{$charset}} {&1$type}};
  88. };
  89. };
  90. #return {$text};
  91. };
  92. #alias {beautify.SetEolMark} {
  93. #local mark {%1};
  94. #if { "$mark" == "" } {
  95. #local mark {<g03>.};
  96. };
  97. #var beautify-eol-mark {$mark};
  98. };
  99. #alias {beautify.ToggleSwitch} {
  100. #if { "${beautify-switch}" == "ON" } {
  101. beautify.Off;
  102. };
  103. #else {
  104. beautify.On;
  105. };
  106. };