非選択状態でも逆インデント

提供: MeryWiki
移動先: 案内検索
最終書き込み 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;
})();