Hatena::ブログ(Diary)

Higé au lait Twitter

 | 

2006年09月18日

Bookmarkletをみやすく整形してみる。

NOT_FOUND 404

こんなのができた。

以下整形してくれるコード。

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);
}

no title


参考

改行の研究


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

インデントはしません。続きの行を上書きします。

どんな感じに動くかのデモ

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/higeorange/20060918/1158536386
 |