insert-mode keybind: ^S - spoiler

This commit is contained in:
James Campos 2010-12-19 01:32:56 -08:00
parent ac49970879
commit f4327d3b19
2 changed files with 28 additions and 3 deletions

View File

@ -426,7 +426,20 @@ keyModeInsert = (e) ->
remove $ '#qr'
e.preventDefault()
else if e.ctrlKey and char is "S"
console.log 'spoiler'
ta = document.activeElement
return unless ta.nodeName is 'TEXTAREA'
value = ta.value
selStart = ta.selectionStart
selEnd = ta.selectionEnd
valStart = value[0...selStart] + '[spoiler]'
valMid = value[selStart...selEnd]
valEnd = '[/spoiler]' + value[selEnd..]
ta.value = valStart + valMid + valEnd
range = valStart.length + valMid.length
ta.setSelectionRange range, range
e.preventDefault()
keyModeNormal = (e) ->

View File

@ -536,14 +536,26 @@
}
};
keyModeInsert = function(e) {
var char, kc;
var char, kc, range, selEnd, selStart, ta, valEnd, valMid, valStart, value;
kc = g.keyCode;
char = g.char;
if (kc === 27) {
remove($('#qr'));
return e.preventDefault();
} else if (e.ctrlKey && char === "S") {
console.log('spoiler');
ta = document.activeElement;
if (ta.nodeName !== 'TEXTAREA') {
return;
}
value = ta.value;
selStart = ta.selectionStart;
selEnd = ta.selectionEnd;
valStart = value.slice(0, selStart) + '[spoiler]';
valMid = value.slice(selStart, selEnd);
valEnd = '[/spoiler]' + value.slice(selEnd);
ta.value = valStart + valMid + valEnd;
range = valStart.length + valMid.length;
ta.setSelectionRange(range, range);
return e.preventDefault();
}
};