название для официального сайта inFlowia Lab
  • помощь 4 free! :)
  • делаем добро :)
  • делаю сайты, скрипты и хорошее настроение :)
  • всё поправимо! :)
  • Свобода и OPENsource!
  • Linux - это любовь!
  • Linux - это Lюбовь
  • творим добро с 2019/03/22 :)

Atom :: Вставка кастомных HTML-тэгов перед и после выделения. Оборачиваем по-взрослому.

Показываю на примере оборачивания выделенной строки тэгом гиперссылки с открытием на новой вкладке. То есть выделенная строчка будет обёрнута по нажатию на Alt+A вот так:

<a target = '_blank' href = ''>текст для оборачивания</a>

В init.coffee:

wrapSelection = (selection, before, after) -> after ?= before selectedText = selection.getText() selection.insertText("#{before}#{selectedText}#{after}") atom.commands.add 'atom-text-editor', 'custom:insert-html-a', -> editor = @getModel() editor.transact -> wrapSelection(selection, '<a target = \'_blank\' href = \'\'>', '</a>') for selection in editor.getSelections()

Обратите внимание, что первая часть (та что до пустой строки) - это функция, которую не нужно повторять если вы будете добавлять другие горячие клавиши для оборачивания. Достаточно будет только скопировать и изменить вторую часть.

В keymap.cson

'atom-text-editor': 'alt-a': 'custom:insert-html-a'

Не забудьте перезапустить редактор перед пробами результатов, и про тонкости странного синтаксиса Atom'а. Кажется причиной ошибок может быть использование табуляций вместо пробелов.

В статье про горячие клавиши для быстрой вставки HTML-тэгов я уже приводил листинги своих файлов с кодом для быстрой вставки HTML-тэгов по горячим клавишам. Сегодня эта статься претерпит обновление, потому что у меня наконец-то дошли руки найти способ не тупо вставлять нужные тэги, а оборачивать ими выделенный текст, то есть вставлять открывающий тэг до выделения и закрывающий после всего за одно нажатие горячей клавиши.

За рецепт огромное спасибо вот этому треду. Там кстати есть какой-то более навороченный способ, можете его попробовать, но кажется там жаловались что он отказал с какой то версии Atom'а.

Вы с горячей руки можете возразить: "есть мол Atom Tag Wrapper, который позволяет оборачивать выделение любым тэгом всего по одной горячей клавише", но не торопитесь. Это не замена а расширение вашему методу враппинга. Ведь при помощи Atom Tag Wrapper вы не смогли бы добавить тэг, в котором уже есть например сразу стиль, класс и какие нибудь дефолтные атрибуты, а по приведённой здесь методе вы можете оборачивать что угодно во что угодно, в любые конструкции на любых языках программирования и не только. Но от Atom Tag Wrapper это конечно не повод отказываться, так как на все тэги кнопок на клаве не наберёшься.

Работало так на:


  • Atom 1.26.1
  • ОС: Ubuntu Studio 19.10 64-bit

Помогло? :)

Черкани Инфловии пару строк если нашёл здесь помощь. Можешь писать под любым постом в группе VK или по старинке на почту: inFlowia@netc.it :)

inFlowia Lab. не делает добро за деньги, но знать, что её труды кому-то помогают очень классно. Если тебе помогли - не поленись, всего пара слов: "Спасибо! Помогло :)" сделают дни инфловии светлее. ^^

Количество откликнувшихся: 8