1 #title = "<\t"
  2 #tooltip = "選択状態になくても逆インデント"
  3 #include "lib\sgc4jsee.jsee"
  4 
  5 /**
  6  * @fileOverview
  7  * 選択状態になくても逆インデントします。<br />
  8  * 仕様が煩雑になるため、既定の「インデント」が持つ中途半端なインデントを調整する機能は付いていません。
  9  * 
 10  * @author gecca from 雪月花 (http://setsugecca.org/)
 11  * @version 1.00 for EmEditor v10.0
 12  */
 13 
 14 (function() {
 15 	Redraw = false;
 16 	
 17 	// 選択状態にない場合
 18 	if(!document.selection.Text) {
 19 		// キャレット位置の保存
 20 		var activeX = document.selection.GetActivePointX(eePosLogical);
 21 		var activeY = document.selection.GetActivePointY(eePosLogical);
 22 		
 23 		var originalLength = document.getLine(activeY).length;
 24 		
 25 		document.selection.selectLine();
 26 		editor.ExecuteCommandByID(4189);
 27 		
 28 		var newLength = document.getLine(activeY).length;
 29 		
 30 		// 減った文字列数だけ左に移動できれば移動
 31 		var repairX = activeX - (originalLength - newLength);
 32 		if(repairX > 0) {
 33 			document.selection.SetActivePoint(eePosLogical, repairX, activeY);
 34 		// インデントの幅だけ左に移動できない場合は左端に移動
 35 		} else {
 36 			document.selection.SetActivePoint(eePosLogical, 1, activeY);
 37 		}
 38 		
 39 	// 選択状態の場合
 40 	} else {
 41 		// 逆インデント
 42 		editor.ExecuteCommandByID(4189);
 43 	}
 44 })();
 45