Hatena::LetでTABで"\t"を入力できるようにする
by
mafucode
2014-06-24 [2014/06/24 20:12:51]
選択してまとめてということもできるようにしておいた
-
/*
* @title Hatena::LetでTABで"\t"を入力できるようにする
* @description 選択してまとめてということもできるようにしておいた
* @include http://let.hatelabo.jp/l
* @license http://h.hatena.ne.jp/mafucode/316614012892065886
*/
(function(){
var a=(function(){
document.getElementById('source-input').addEventListener(
'keypress'
,function(event){
if(!(event.keyCode==13||event.keyCode==9))return ;
var e=document.getElementById('source-input');
function f(x1,x2){
function focus(){
e.focus();
e.setSelectionRange(x1,x2);
}
return focus;
}
if((event.charCode==0)&&(event.keyCode==9)){
var n1=e.selectionStart;
var n2=e.selectionEnd;
if(!event.shiftKey){
if(n1==n2){
e.value=e.value.slice(0,n1)+"\t"+e.value.slice(n1);
setTimeout(f(n1+1,n1+1),2);
}else{
var i=0;
var r="";
var a1=e.value.slice(0,n1).split("\n");
a1[a1.length-1]="\t"+a1[a1.length-1];
r=(a1.join("\n"));
a1=e.value.slice(n1,n2).split("\n");
i+=a1.length;
e.value=r+(a1.join("\n\t"))+(e.value.slice(n2));
setTimeout(f(n1+1,n2+i),2);
}
}
}
}
,false);
});
setTimeout(a,Math.floor(1000*3.14159265358979323846264338));
})();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。