行を逆順にするサクラエディタのマクロ

本日2つ目。

reverse.js

(function(){
    if(Editor.IsTextSelected() == 0) Editor.SelectAll();
    
    var lines = Editor.GetSelectedString(0).split(/\r\n|\r|\n/);
    var n = ['\r\n', '\r', '\n'][Editor.GetLineCode()];
    Editor.InsText(lines.reverse().join(n) + n);
})();

短い。っていうか行を配列に入れてreverseしてjoinしただけなので簡単だった。

使い方

1
2
3

こういう状況でマクロを実行すると、

3
2
1

こうなる。つまり行が逆になったわけだ。マクロ実行時に選択範囲があればその中だけを、選択範囲が無ければ全体に対して働く。