Bookmarkletをみやすく整形してみる。
http://www14.plala.or.jp/operairc/misc/bookmarklet.html
こんなのができた。
以下整形してくれるコード。
function exBookmarklet(str) { var pattern = /(;)|({)|(})|(javascript:)/g; var n = 0; return str.replace(pattern,function($0,$1,$2,$3,$4){ var tab = ' '; if($2) n++; else if ($3) n--; return $0+unescape('%0D%0A')+tab.repeat(n); }); }
"}"のときのインデントに不満が残る。あと改行コードがあやしい。
すべての場合において思った通りに動くかは不明。
あとString.repeat()は
String.prototype.repeat = function (l) { return Array(l+1).join(this); }
BigBold - Informasi Tentang Bisnis dan Marketing
vim版
function! ExBookmarklet() let lines = split(getline('.'),'^javascript:(\?\zs\|;\zs\|{\zs\|}\zs') let n = line('.') for i in lines call setline(n,i) let n += 1 endfor endfunction
インデントはしません。続きの行を上書きします。
どんな感じに動くかのデモ