iG:Syntax HiliterのPLAIN TEXT表示を改良

plug-in,WordPress

プログラムコードを色づけ表示してくれるプラグイン『iG:Syntax Hiliter』のPLAIN TEXT表示がおかしかったので、コードに手を入れて修正してみたよ。

iG:Syntax Hiliterでは行番号を表示させることが出来るんだけど、ここからコピペしようとすると行番号まで付いて来ちゃうのね。これを回避するために「PLAIN TEXT」で表示させる機能も付いてるんだけど、プレーンテキスト表示の行頭になぜか不要なタブが入っちゃう。

Google様にお伺いを立てたところ、「iG:Syntax Hiliter を導入した」[X-WORKS]で解決方法を発見。syntax_hilite_js.jsのdoCleanUp関数を修正して、行頭のタブを削除する機能を追加すれば良いみたい。

修正ついでにもう1つ。スペース4キャラをタブに変換する機能がウザかったので、該当する箇所をコメントアウト。最終的にsyntax_hilite_js.jsはこんな感じになりました。

function doCleanUp(sTxt) {
/* 省略 */
//	var regExNL1g = / {4}/g;				//to find 4 space chars
//	sTxt = sTxt.replace(regExNL1g, "	");
	var regExTab  = /^\t*/gm;		    	//追加 to find the tab at the head of line
	sTxt = sTxt.replace(regExTab, "");		//追加
/* 省略 */

説明が重複するけど、やってることは2つ。regExNL1g云々でスペース4キャラを見つけてタブに変換する機能をコメントアウトしたのと、regExTab云々を追加して行頭のタブを削除しています。

ソースを修正するとバージョンアップ時にも対応が必要になっちゃうから気をつけてね。ご利用は自己責任でどうぞ。