У меня этот скрипт в паре случаев отрабатывает не так, как хотелось бы.
Хотим обрамить выделенный текст.
1) Если первая выделенная строка выделена не до конца, то сдвигается влево конец блока и вправо - первая строка
2) Если первая (или последняя) выделенная строка, то скрипт вставляет в каждую строку свой перевод строк.
Видео во вложении.