「非選択状態でも逆インデント」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
MSY-07 (トーク | 投稿記録)
注意事項の修正
MSY-07 (トーク | 投稿記録)
ソースコードの整形
8行目: 8行目:
== ソースコード ==
== ソースコード ==
<syntaxhighlight lang="javascript">
<syntaxhighlight lang="javascript">
#title="非選択状態でも逆インデント"
#title = "非選択状態でも逆インデント"


(function(){
(function() {
  Redraw = false;
Redraw = false;
  with (document.selection){
with(document.selection) {
    var flg = isEmpty;
var flg = isEmpty;
    if(flg){
if (flg) {
      var curPointX = GetActivePointX(mePosLogical);
var curPointX = GetActivePointX(mePosLogical);
      var curPointY = GetActivePointY(mePosLogical);
var curPointY = GetActivePointY(mePosLogical);
      EndOfLine(mePosLogical);
EndOfLine(mePosLogical);
      var endPointX = GetActivePointX(mePosLogical);
var endPointX = GetActivePointX(mePosLogical);
      SelectLine();
SelectLine();
    }
}
    UnIndent();
UnIndent();
    if(flg){
if (flg) {
      var topchar = Text.charAt(0);
var topchar = Text.charAt(0);
      Collapse(meCollapseStart);
Collapse(meCollapseStart);
      EndOfLine(mePosLogical);
EndOfLine(mePosLogical);
      curPointX -= (endPointX - GetActivePointX(mePosLogical));
curPointX -= (endPointX - GetActivePointX(mePosLogical));
      SetActivePoint(mePosLogical, curPointX, curPointY, false);
SetActivePoint(mePosLogical, curPointX, curPointY, false);
    }
}
  }
}
  Redraw = true;
Redraw = true;
})();
})();
</syntaxhighlight>
</syntaxhighlight>

2025年1月6日 (月) 11:27時点における版

このマクロはMery Ver 3.5.6で追加された「何も選択していないとき、Shift + Tab キーで逆インデント」と同機能です。

概要

最終書き込み 2012/03/30 のちょっとクロさん!!!!!!!!!!!!!(要望) でユーケーさんが求めていた非選択状態での逆インデント。選択状態では標準機能の逆インデントを実行するので、Shift + Tab に割り当てできます。カーソルは実行時の文字位置(x位置ではなく)を維持します。

(ブログのコメント より転載)

ソースコード

#title = "非選択状態でも逆インデント"

(function() {
	Redraw = false;
	with(document.selection) {
		var flg = isEmpty;
		if (flg) {
			var curPointX = GetActivePointX(mePosLogical);
			var curPointY = GetActivePointY(mePosLogical);
			EndOfLine(mePosLogical);
			var endPointX = GetActivePointX(mePosLogical);
			SelectLine();
		}
		UnIndent();
		if (flg) {
			var topchar = Text.charAt(0);
			Collapse(meCollapseStart);
			EndOfLine(mePosLogical);
			curPointX -= (endPointX - GetActivePointX(mePosLogical));
			SetActivePoint(mePosLogical, curPointX, curPointY, false);
		}
	}
	Redraw = true;
})();
スポンサーリンク