選択行をソート
選択範囲の1行目と同じ or 1行目より浅いインデントの行だけソートするよ。
つまりこんなふうにインデントが深い行の順番はそのまま。
1行目がインデントされてなければ、インデントされてない行だけをソートする。
しっかり行を選択して実行するのがポイント。行の途中から選択しちゃうと悲しいことになる。
チェックボックスで始まる行をソートすると、未完[_]が上に、完了[x]が下になるよ。
https://gyazo.com/e556c70e961f0259b6cecee58798c95c
日本語の紹介記事もいっぱいあるし、Scrapboxとの相性もいいです。おすすめ!
code:script.js
scrapbox.PopupMenu.addButton({
title: 'ソート',
onClick: text => {
const re = /^(\s*)/
const b = re.exec(text)1.length const lines = text.split(/\n/)
let sorting = [], chLines = []
for (var i = 0; i < lines.length; i++) {
if (0 < chLines.length) chLines.unshift('')
sorting.push(line + chLines.join('@n@'))
chLines = []
}
return sorting.sort().join('\n').replace(/@n@/g, '\n')
}
})