コメントマーク付け外し
- 概要
-
- コメントマークの付け外しをするマクロです。
- js以外の拡張子に対応させる時は、最後の関数に追加してください。
- 更新履歴
- 20130328
- 無題のときに対応しました。
- ソースコード
// コメントマーク.js
// 行頭コメントマーク( cMark )を付けたり外したり。
// 空白文字の後ろには対応するけど、つけるときは行頭。
var cMark = commentMark( Editor.ActiveDocument.name );
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 )
function commentMark( filename ){
if ( filename == "" ){ return "//" }
var f = filename.split( "\\" ).pop().split( "." );
var fext = ( f.length >= 2 ) ? f.slice( -1 ).join( "" ).toLowerCase() : "" ;
switch( fext ){
case "js" : return "//";
default : "//";
}
}
スポンサーリンク