Editor.InsText(strTag); for(var i = 0; i < strTag.length; ++i){ Editor.Left(); }
return true; }
function GetCurLineUntilCursor() { // カーソル位置取得 var xCursor = parseInt(Editor.ExpandParameter('$x')); var yCursor = parseInt(Editor.ExpandParameter('$y'));
// カーソル行全体を取得 var str = Editor.GetLineStr(yCursor);
// xCursor はマルチバイトコードでの値なのでユニコード用に補正 --xCursor; // 1起算だったものを0起算に直す for (var x = 0; x < xCursor; ++x){ if(IsWide(str.charCodeAt(x))) --xCursor; }
var strFileName = Editor.GetFileName(); var ixExt = strFileName.lastIndexOf('.'); if(ixExt >= 0){ var strExt = strFileName.substr(ixExt).toLowerCase(); if(strExt == '.tex'){ ComplementTag(); } } }
function ComplementTag() { var strLine = GetCurLineUntilCursor(); var astrMatched = strLine.match(/\\begin\{[^{}]+?\}$/); if(astrMatched == null){ return false; } var strEndTag = astrMatched[0].replace(/^\\begin/, "\\end");
Editor.InsText(strEndTag); for(var i = 0; i < strEndTag.length; ++i){ Editor.Left(); }
return true; }
function GetCurLineUntilCursor() { // カーソル位置取得 var xCursor = parseInt(Editor.ExpandParameter('$x')); var yCursor = parseInt(Editor.ExpandParameter('$y'));
// カーソル行全体を取得 var str = Editor.GetLineStr(yCursor);
// xCursor はマルチバイトコードでの値なのでユニコード用に補正 --xCursor; // 1起算だったものを0起算に直す for (var x = 0; x < xCursor; ++x){ if(IsWide(str.charCodeAt(x))) --xCursor; }