'ソフトタブ処理 / Ver. 0.80 / by Kabuneko 1999/09/13
proc main 'ソフトタブ挿入
@Insert space$(@Tab - (@XDisplay + @Tab - 1) mod @Tab)
end proc
proc Indent 'ソフトタブ・インデント
dim m, n
'行選択のときのみ実行
if @Select < 5 then exit proc
@Redraw = 0
@UndoBlock = 1
m = @SelectStartLine
n = @SelectEndLine
@BlockSelectEnd
@Line = n - 1
do while 1
@MoveBeginningLine
@Insert space$(@Tab)
if @Line <= m then exit do
@MoveUpChar
loop
@UndoBlock = 0
@Redraw = 1
end proc
proc Unindent 'ソフトタブ・アンインデント
dim m, n
'行選択のときのみ実行
if @Select < 5 then exit proc
@Redraw = 0
@UndoBlock = 1
m = @SelectStartLine
n = @SelectEndLine
@BlockSelectEnd
@Line = n - 1
do while 1
@MoveBeginningLine
if left$(@TextCr$(@Line), @Tab) = space$(@Tab) then \
@Change @Line, 0, @Tab, ""
if @Line <= m then exit do
@MoveUpChar
loop
@UndoBlock = 0
@Redraw = 1
end proc