「上に行挿入」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Yuko (トーク | 投稿記録)
編集の要約なし
Yuko (トーク | 投稿記録)
編集の要約なし
11行目: 11行目:
var insertIndent = true;
var insertIndent = true;


selection = Document.Selection;
var selection = Document.Selection;
var ay = selection.GetActivePointY(mePosLogical);
var activeY = selection.GetActivePointY(mePosLogical);
var line = Document.GetLine(ay);
var line = Document.GetLine(activeY);
var lineIndent = line.match(/^[ \t ]*/);
var lineIndent = line.match(/^[ \t ]*/);


selection.StartOfLine(false, mePosLogical);
selection.StartOfLine(false, mePosLogical);
if (insertIndent) {
if (insertIndent) {
   selection.Text = lineIndent;
   selection.Text = lineIndent + '\n';
} else {
  selection.Text = '\n';
}
}
var indentX = selection.GetActivePointX(mePosLogical);
selection.LineUp();
selection.Text = '\n';
selection.EndOfLine(false, mePosLogical);
selection.SetActivePoint(mePosLogical, indentX, ay);


Redraw = true;
Redraw = true;


</source>
</source>

2019年5月11日 (土) 22:03時点における版

現在行の上に行挿入します。 Shift + Enter や Ctrl + Shift + Enter に割り当てると便利です。

#title="上に行挿入"
BeginUndoGroup();
Redraw = false;

// 以下の insertIndent のフラグを設定して、現在行のインデントを反映するかを選択してください。
// true: 現在行と同じインデントを挿入する
// false: 現在行のインデントを挿入しない
var insertIndent = true;

var selection = Document.Selection;
var activeY = selection.GetActivePointY(mePosLogical);
var line = Document.GetLine(activeY);
var lineIndent = line.match(/^[ \t ]*/);

selection.StartOfLine(false, mePosLogical);
if (insertIndent) {
  selection.Text = lineIndent + '\n';
} else {
  selection.Text = '\n';
}
selection.LineUp();
selection.EndOfLine(false, mePosLogical);

Redraw = true;
スポンサーリンク