Как заставить emmet добавить атрибут со значением в тег div?

Я использую подключаемый модуль emmet.vim.

Как вы пишете сокращение emmet для учета атрибутов без значений?

Вот что я пишу:

div.contain-to-grid.sticky>nav.topbar[data-topbar]

Вот что я хочу, чтобы произошло:

<div class="contain-to-grid sticky">
  <nav class="topbar" data-topbar></nav>
</div>

Вот что я получаю:

<div class="contain-to-grid sticky">
  <nav class="topbar" data-topbar=""></nav>
</div>

Вместо создания атрибута без значения:

верхняя панель данных

он создает пустое значение:

data-topbar=""

Есть ли обходной путь для этого? Если нет, то я могу жить с этим. Было бы неплохо узнать, можно ли это сделать. Спасибо


person Derek Dakan    schedule 01.10.2015    source источник
comment
Хотя в документации это, похоже, не отражено, эта закрытая проблема указывает на поддержку логического атрибуты были добавлены в Emmet с синтаксисом div[my-attribute.], который должен расширяться до <div my-attribute></div>. Это сработало для меня в Sublime Text.   -  person Alexander Nied    schedule 18.12.2019


Ответы (2)


Поведение Emmet-vim было изменено, чтобы соответствовать документации:

Вам не нужно указывать значения атрибутов: td[colspan title] создаст <td colspan="" title=""> с табуляторами внутри каждого пустого атрибута (если ваш редактор их поддерживает).

Так что нет. Вы можете выполнить этот запрос здесь: Атрибуты без значений не раскрываются.

Возможным грубым обходным решением может быть изменение строки 220 в autoload/emmet/lang/html.vim с

let current.attr[atts] = ''

to

let current.attr[atts] = function('emmet#types#true')
person ryuichiro    schedule 01.10.2015
comment
Хорошо. Этого достаточно для меня. Эммет экономит мне достаточно времени и без этой способности. Спасибо! - person Derek Dakan; 01.10.2015
comment
Хотя в документации это, похоже, не отражено, эта закрытая проблема указывает на поддержку логического атрибуты были добавлены в Emmet с синтаксисом div[my-attribute.], который должен расширяться до <div my-attribute></div>. Это сработало для меня в Sublime Text. - person Alexander Nied; 18.12.2019

Я просто копирую комментарий @Alexander Nied, чтобы сделать его более заметным, в котором говорится:

Хотя документация, похоже, не отражает этого, эта закрытая проблема указывает, что поддержка boolean attributes была добавлена ​​​​в Emmet с синтаксисом div[my-attribute.], который должен расширяться до Это сработало для меня в Sublime Text

это работает и для меня, в Intellij idea

person towith    schedule 29.01.2021