Просмотр исходного кода

feat(UI): 显示文本行末尾的空白

dzp 3 лет назад
Родитель
Сommit
0a310b46e0
2 измененных файлов с 25 добавлено и 3 удалено
  1. 20 1
      plugins/lib/ui/beautify.tin
  2. 5 2
      plugins/shortcut.tin

+ 20 - 1
plugins/lib/ui/beautify.tin

@@ -5,7 +5,10 @@
 };
 
 #function {lib_ui_beautify.Init} {
-    #var beautify-switch {};
+    #class data/lib/ui/beautify open;
+    #var beautify-switch {OFF};
+    #var beautify-eol-mark {<g03>.};
+    #class data/lib/ui/beautify close;
     beautify.On;
     #return true;
 };
@@ -57,6 +60,12 @@
 
     #substitute {%S%!s{https?://[[:graph:]]+}\s*{\S|$}} {%%1 %%2 %%3};
 
+    #nop 行尾空格因为肉眼不可见因此常常导致无法匹配触发。这里把它可视化一下。;
+    #action {~^%*%+1S%+1..s%c{|ID=beautify}$} {
+        #line ignore #showme {@Beautify{{%%1%%2%%3}}$beautify-eol-mark};
+        #line gag;
+    } {9.999};
+
     #class beautify-sub close;
 
     #var beautify-switch {ON};
@@ -99,6 +108,16 @@
     #return {$text};
 };
 
+#alias {beautify.SetEolMark} {
+    #local mark {%1};
+
+    #if { "$mark" == "" } {
+        #local mark {<g03>.};
+    };
+
+    #var beautify-eol-mark {$mark};
+};
+
 #alias {beautify.ToggleSwitch} {
     #if { "${beautify-switch}" == "ON" } {
         beautify.Off;

+ 5 - 2
plugins/shortcut.tin

@@ -167,7 +167,7 @@
 };
 
 #gag {^%s$};
-#gag {^>%s$};
+#action {^>%s$} {#line gag};
 #gag {^├{(─|┼)+}┤$};
 
 #action {$B临走之际,你忽然发现一个盒子看起来有些特殊!$E} {
@@ -193,7 +193,10 @@
 
 #action {◆北大侠客行总图◆$E} {
     #class main-map open;
-    #sub {~\e[0m       } {};
+    #action {~^\e[0m       %*$} {
+        #line ignore #showme {@Beautify{{%%1}}};
+        #line gag;
+    };
     #class main-map close;
     #action {^最近修订时间} {
         #class main-map kill;