選択した各行をブラケティングする
code:script.js
scrapbox.PopupMenu.addButton({
title: '[]',
onClick: text => {
const result = text.split(/\n/)
.map(line => line
(_, p1, p2) => !!p1 ? [${p1} ${p2}] : p2)
.replace(/(^\s+)|([^]+)|([^]*)/ug, (_, p1, p2, p3) => {
if (p1) return p1; // インデント文字列
if (p3) return p3; // インラインコード記法
if (p2) return [${p2}]; // それ以外
throw Error('正規表現で捕捉できていないよ!')
})
).join('\n');
// テロメアが無駄に更新されるのを防ぐ
if (text == result) return;
return result;
}
});