コメントマーク付け外し

2013年3月27日 (水) 09:08時点における手石 (トーク | 投稿記録)による版 (ページの作成:「 <pre> // コメントマーク.js // 行頭コメントマーク( cMark )を付けたり外したり。 // 空白文字の後ろには対応するけど、つけ...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
// コメントマーク.js
// 行頭コメントマーク( cMark )を付けたり外したり。
// 空白文字の後ろには対応するけど、つけるときは行頭。

var cMark = "//";
var reg = new RegExp( "^[ \\t]*" + cMark )
var sel = Editor.ActiveDocument.Selection;
var ty = sel.GetTopPointY( mePosLogical )
var bx = sel.GetBottomPointX( mePosLogical )
var by = sel.GetBottomPointY( mePosLogical )
sel.SetActivePoint( mePosLogical,  1, ty, false )
if ( ( bx == 1 ) && ( ty != by ) ){ by--; }
sel.SetActivePoint( mePosLogical, bx, by,  true )
sel.EndOfLine( true, mePosLogical );
// 上二行とどちらがいいか?
// sel.SetActivePoint( mePosLogical, document.GetLine( by, 0 ).length + 1, by, true );


var ary = sel.Text.split( "\n" );
var s = new Array();
for ( var i = 0; i < ary.length; i++ ) {
    var ai = ary[ i ]
    if ( reg.test( ai )) {
        s.push( ai.replace( cMark, "" ) )
    } else {
        s.push( cMark + ai )
    }
}
sel.Text = s.join( "\n" );
sel.SetActivePoint( mePosLogical, 1, ty, false )
スポンサーリンク