対応する閉じタグに属性値をコメント
めずらしきこと。
今の所属に移ってから,自分でHTMLを書くよりも人の書いたHTMLを直すという機会が多くなった。Another HTML-lintで採点するとマイナス数百点なんてページを平気で公開していたりするので,直すのも一苦労である。いやむしろ一から自分で書いたほうがどれだけ楽だろうか。入れ子感覚がないので,開閉タグの関係がむちゃくちゃなのである。そんなとき自作の対応タグ検索マクロを使っていたのだが,閉じタグに属性をコメントするようにしたらずいぶん楽になった。
= TsuiTag v0.33 = by H_ear
#if 0
対応するhtmlタグを探す
シフト実行で対応する要素に付与されたclass/id属性値を閉じタグにコメント記入
#endif
* mad for vz!
16 ^OT "T TsuiTag"
?. &s
#M ;#0.32 起動位置マーク
&Le(pu,wa+130) &#M(1) ;save mark #1
mp[, ps[, zh[-, rx[-, ew[+, ec[+, ly[, mb[-,
n+, ;<n>est level
k=ks&1,
f-, ;#0.3 <f>属性フラグ
(cd=='>')?#58
(cd!='<')?{
(-1){ #s (cd=='<'||lx<1)?{ (cd!='<')?>z } } ;表示行内のみ
}
#28 (cp.1=='/')?c-, ?c+, ;<c>ommand num
#f ps=pr, #G
(c && k)?&01 ;#0.3 copy id/class
&>
(f && k)?{ ;#0.3 write property
lx[, #>
&?("<!-- $$%s -->",t)
&x(0]) ;#0.31 cursor
}
:z ; --- exit ---
(n)?{ &#U(1) &m(19) }
&Le(wa+130,pu) ;mark #1
(mb])?#B
ky], ec], ew], rx], zh], ps], mp],
&d #] .
0: ; --- 入れ子を数えて対応するタグを検索 ---
; ex. <UL>……<ul>……</UL>……</ul>
; n+= +1 +1 -1 -1
&o(#r+c)
(r)??{
#28
&f(cp.-1,"</") (r==-1)?>^
(r)?{ (cp.-2!='<')?>^ } ;確かに終了タグか?
n+=(c*2-1)*(1-r*2),
(n>0)?>^
}
1: ; ---- id/class属性値を取得 ---- #0.30-0.33
mb-, &Sn(pr) (r){ #d }
(cd!=' ')?.
t=pn..-26, ;t: tmpbuf4(256)*
#28 wa..19.2-, ;ラインバッファの文字列化
&Sc(t,cp,255) #54 ;カーソル以降を複写
&So(t,"class=")
(r)?{ t=r+7, >p }
&So(t,"id=")
(r)?{ t=r+4, >p }
.:p &SF(t,$22) (r)??. r.0-, f+,
*
[Variables]
n <n>est level
c <c>ommand num
f <f>lag
k <k>s&1
t <t>mpbuf4 (addr./passing)
[Buffers]
pr as ps
(pa as ps) #0.32//
tmpbuf4 copy lbuf
pu as wa+130
[History]
1998/11/13 0.10 1st:VWXのOR検索版:VWXのバグで使い物にならなかった
2003/08/19 0.20 OR検索呪縛を解きネストに対応
2009/02/23 0.30 シフト実行時閉じタグ検索でid/class属性値をコメント書込み
2009/02/24 0.31 コメント書込み後のカーソル位置調整(不完全:行内桁位置を想定)
2009/02/24 0.32 起動位置をマークしておくことにした
2009/02/24 0.33 id/class属性値のメモリ上取得に伴いpaからtmpbuf4へ変更
[Notes]
こんなふうにコメントを付ける
<div class="hoge">
<div id="foo">
</div><!-- $foo -->
</div><!-- $hoge -->