Inserts a true new line/line break/blank line when pressing Shift + Enter in an old interface Reddit textarea. Check out this post to learn more: https://old.reddit.com/r/help/comments/1vjfm9/how_do_i_insert_a_blank_line_between_2_lines_of/
// ==UserScript==
// @name Insert true new line/line break/blank line in an old interface Reddit post by Shift + Enter
// @author NWP
// @description Inserts a true new line/line break/blank line when pressing Shift + Enter in an old interface Reddit textarea. Check out this post to learn more: https://old.reddit.com/r/help/comments/1vjfm9/how_do_i_insert_a_blank_line_between_2_lines_of/
// @namespace https://greasyfork.org/users/877912
// @version 0.1
// @license MIT
// @match *://old.reddit.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
function adjustScroll(activeElement) {
let lineHeight = parseFloat(window.getComputedStyle(activeElement).lineHeight);
activeElement.scrollTop += lineHeight * 4;
}
document.addEventListener('keydown', function(event) {
let activeElement = document.activeElement;
if (activeElement && activeElement.tagName === 'TEXTAREA') {
if (event.shiftKey && event.key === 'Enter') {
event.preventDefault();
let cursorPos = activeElement.selectionStart;
document.execCommand('insertText', false, "\n\n \n\n");
activeElement.selectionEnd = cursorPos + 10;
adjustScroll(activeElement);
} else if ((event.ctrlKey || event.metaKey) && (event.key === 'z' || event.key === 'Z')) {
setTimeout(() => adjustScroll(activeElement), 0);
} else if ((event.ctrlKey || event.metaKey) && (event.key === 'y' || event.key === 'Y')) {
setTimeout(() => adjustScroll(activeElement), 0);
}
}
});
})();