beautify.tin 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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. {“|‘} {right-align}
  35. {”|’|…} {left-align}
  36. {⭕️|🐎|🌊|🔥|🎭|🐀|🔅} {left-align}
  37. };
  38. #alias {beautify.On} {
  39. #class beautify-sub kill;
  40. #class beautify-sub open;
  41. #local charset {};
  42. #foreach {*{beautify-table[]}} {charset} {
  43. #local type {${beautify-table[$charset]}};
  44. #switch {"$type"} {
  45. #case {"double"} {#substitute {{$charset}} {%%1%%1}};
  46. #case {"left-align"} {#substitute {{$charset}} {%%1 }};
  47. #case {"right-align"} {#substitute {{$charset}} { %%1}};
  48. #default {#line sub var #substitute {{$charset}} {%%1$type}};
  49. };
  50. };
  51. #substitute {%S%!s{https?://[[:graph:]]+}\s*{\S|$}} {%%1 %%2 %%3};
  52. #nop 行尾空格因为肉眼不可见因此常常导致无法匹配触发。这里把它可视化一下。;
  53. #action {~^%*%+1S%+1..s%c{|ID=beautify}$} {
  54. #line ignore #showme {@Beautify{{%%1%%2%%3}}$beautify-eol-mark};
  55. #line gag;
  56. } {9.999};
  57. #class beautify-sub close;
  58. #var beautify-switch {ON};
  59. okLog 宽字符美化已启用。;
  60. warnLog 出于美化需要,接下来你在屏幕上看到的内容可能和服务器实际传送的内容不一致。;
  61. warnLog 这可能会给编写触发带来困扰,此时你可以通过快捷键或者 beautify.Off 暂时禁用美化。;
  62. prompt.Set {{beautify}{<120>已启用}};
  63. prompt.refresh;
  64. };
  65. #alias {beautify.Off} {
  66. #class beautify-sub kill;
  67. #var beautify-switch {OFF};
  68. warnLog 宽字符美化已禁用。你可以通过快捷键或者 beautify.On 重新启用。;
  69. prompt.Set {{beautify}{<110>已禁用}};
  70. prompt.refresh;
  71. };
  72. #func {Beautify} {
  73. #local text {%1};
  74. #if { "${beautify-switch}" != "ON" } {
  75. #return {$text};
  76. };
  77. #local charset {};
  78. #foreach {*{beautify-table[]}} {charset} {
  79. #local type {${beautify-table[$charset]}};
  80. #switch {"$type"} {
  81. #case {"double"} {#replace {text} {{$charset}} {&1&1}};
  82. #case {"left-align"} {#replace {text} {{$charset}} {&1 }};
  83. #case {"right-align"} {#replace {text} {{$charset}} { &1}};
  84. #default {#line sub var #replace {text} {{$charset}} {&1$type}};
  85. };
  86. };
  87. #return {$text};
  88. };
  89. #alias {beautify.SetEolMark} {
  90. #local mark {%1};
  91. #if { "$mark" == "" } {
  92. #local mark {<g03>.};
  93. };
  94. #var beautify-eol-mark {$mark};
  95. };
  96. #alias {beautify.ToggleSwitch} {
  97. #if { "${beautify-switch}" == "ON" } {
  98. beautify.Off;
  99. };
  100. #else {
  101. beautify.On;
  102. };
  103. };