Js-beautify: При переносе атрибутов строки не сбрасываются правильно

Созданный на 5 янв. 2017  ·  23Комментарии  ·  Источник: beautify-web/js-beautify

Описание

Отступы нарушаются всякий раз, когда происходит перенос атрибутов.

Использование js- beautify v1.6.8 .

Ввод

Код до украшения выглядел так:

<div first second>content</div>
<div>content</div>

Ожидаемый результат

После украшения код должен был выглядеть так:

<div first 
     second>content</div>
<div>content</div>

Фактический выход

Код после украшения выглядел примерно так:

<div first
     second>content</div>
    <div>content</div>

Действия по воспроизведению

Украсьте код

Окружающая обстановка

ОС: MacOS

Настройки

Пример:

{
    "wrap_attributes": "force-aligned"
}

Примечание: для wrap_attributes необязательно устанавливать принудительное выравнивание. Любая упаковка (кроме «force-expand-multiline») вводит, в том числе, если «auto» вызвало упаковку, продемонстрирует эту проблему.

html bug

Самый полезный комментарий

Нашел проблему. Исправляем сейчас.

Все 23 Комментарий

У меня такая же проблема (через atom-beautify # 735 )

<p attr1 attr2 attr3>
  text
</p>

превращается в

<p attr1
    attr2
    attr3>
  text
  </p>

моя силовая упаковка включена

То же самое и здесь, код просто до последнего момента становится все более и более отступом. Больше невозможно использовать это украшение так, мне нужно вручную форматировать код: /

<nav id="header"
  class="navbar navbar-default">
  <div class="header-container container-fluid">
    <div class="logo-container navbar-header">
      <a ui-sref="stats"
        class="navbar-brand pws-icon pws-pws"></a>
    </div>
    <div class="header-contents collapse navbar-collapse">
      <ul class="tab-list nav navbar-nav">
        <li class="tab tab-prospects"
          ui-sref-active="active">
          <a ui-sref="stats">
            Stats
          </a>
          </li>
          <li class="tab tab-prospects"
            ui-sref-active="active">
            <a ui-sref="upload">
              Importer
            </a>
            </li>
            <li class="tab tab-prospects"
              ui-sref-active="active">
              <a ui-sref="territories">
                Territory Assignment
              </a>
              </li>

      </ul>
    </div>
  </div>
  </nav>

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

[редактировать]
Мне пришлось отключить этот плагин, чтобы продолжить работу, пока исправление не будет доставлено = /

тоже самое! знак равно

@bitwiseman Кто-нибудь над этим работает? Это довольно популярный пакет, и это довольно большая проблема ... Я бы хотел, чтобы это было исправлено :( к сожалению, я не уверен, что знаю, что изменить, чтобы сам внести код. Может быть, некоторые указатели?

похоже, что удаление "wrap_attributes": "force" в html из файла .jsbeautifyrc решает проблему

@chenasraf - я бы хотел, чтобы это исправили. См. Contributing.md для получения инструкций по локальной сборке.
Запрос на извлечение № 1104 показывает, как выглядит хорошее изменение: добавить записи в test/data/html/tests.js , обновить код продукта и построить (изменения в файлах generated выполняются автоматически).

@matheusdavidson - это полезно знать. @chenasraf - вы захотите добавить тест в матрицу, которая уже проверяет параметр wrap_attributes .

Кто-нибудь действительно работает над этим? Слишком много вилок, чтобы проверить их все. Может, я смогу помочь.

@ kf-ireneuszpatalas У меня не было времени поработать над этим, и @chenasraf - единственный человек, который проявил интерес.

@bitwiseman Кажется, что добавление multi_parser.unindent() после js / lib / beautify-html.js: 980 устраняет эту проблему, хотя я не уверен, подходит ли это с точки зрения логики, какие условия добавить и т. д. Если вы по-прежнему хотите, чтобы я позаботился об этом, у меня уйдет несколько дней, пока у меня не будет достаточно свободного времени, чтобы подробно рассказать о том, что происходит в пакете. Либо это, либо, может быть, кто-то еще хочет взять бразды правления

@chenasraf - это приводит к сбою нескольких тестов, прежде чем я даже сделаю что-нибудь еще. Да, я все еще хочу, чтобы вы обратились к этому, если можете.

@chenasraf , @bitwiseman. У меня есть время взглянуть завтра.

Нашел проблему. Исправляем сейчас.

PR отправлен

@HookyQR - Большое спасибо! Слито и опубликовано.

Можно ли было бы расширить возможности накрутки с "автовыравниванием" ??

"force-align" принудительно обертывает + выравнивает их ...

но позвольте сказать, что я не хочу оборачивать КАЖДЫЙ ЭЛЕМЕНТ HTML, а только длинные - а затем делать их вручную.

таким образом, «auto-align» будет выравнивать только те, которые уже обернуты.

@Montago - Откройте новый выпуск с описанием того, что вы хотите, включая входы, выходы и т. Д.

@bitwiseman

уже есть одна открытая функция, которую я ищу: https://github.com/beautify-web/js-beautify/issues/1125

Я только что установил это, и у меня возникает проблема с отступом из-за grunt и следующего параметра: wrapAttributes: 'force-expand-multiline'
Я использую v1.7.5
благодаря

Также возникает эта проблема с 'force-expand-multiline' какие-либо обновления?

Также возникает эта проблема с 'force-expand-multiline'

@affanshahid @veDev
Вы пробовали это с 1.8.0-rc2?

Была ли эта страница полезной?
0 / 5 - 0 рейтинги