Сделать меньше-рельсы добавить номера строк в качестве комментария

Есть ли способ настроить less-rails так что он показывает номер строки оригинальных источников в виде комментариев? И возможно ли включить сопоставление источников?

Рассмотрим следующий пример:

file1.less

body {
  background-color: black;
}

file2.less

body {
  padding: 20px;
}

application.css.less

@import "file1";
@import "file1";

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

body {
  background-color: black;
}

body {
  padding: 20px;
}

Что я хочу

/* file1.less line: 1 */
body {
  background-color: black;
}

/* file2.less line: 1 */
body {
  padding: 20px;
}

Или есть какой-нибудь другой способ выяснить, какое правило принадлежит какому файлу?

Обновить

При настройке моего приложения config.less содержит только следующее:

{:paths=>
  [#<Pathname:/home/yan-foto/.../vendor/less>,
   #<Pathname:/home/yan-foto/.../node_modules/bootstrap-datetimepicker>,
   #<Pathname:/home/yan-foto/.../node_modules/bootstrap-slider>],
 :compress=>false}

1 ответ

Решение

Открой vendor/bundle/ruby/1.9.1/gems/less-2.6.0/lib/less/parser.rb запишите и замените (около строки 54):

  end
  @parser = Less::JavaScript.exec { Less['Parser'].new(env) }

с:

  end
  env['dumpLineNumbers'] = 'comments';
  @parser = Less::JavaScript.exec { Less['Parser'].new(env) }

На основании https://github.com/metaskills/less-rails вы должны попробовать:

MyProject::Application.configure do
  config.less.line-numbers << "comments"
  config.less.compress = true
end

Когда предыдущее работает как положено, вы также можете рассмотреть возможность использования исходных карт CSS:

MyProject::Application.configure do
  config.less.source-map = true
  config.less.source-map-map-inline = true
end

Я действительно не нахожу строку config.less.line-numbers << "комментарии" в документах

Фактически, мой ответ - только предложение, и я не смог проверить его. Вышесказанное предполагает, что вы можете установить некоторые параметры для компилятора Less.

Вы также можете найти эту опцию, запустивlesscбез каких-либо аргументов:

-------------------------- Deprecated ----------------
  --line-numbers=TYPE      Outputs filename and line numbers.
                           TYPE can be either 'comments', which will output
                           the debug info within comments, 'mediaquery'
                           that will output the information within a fake
                           media query which is compatible with the SASS
                           format, and 'all' which will do both.
  --verbose                Be verbose.

и я уверен, что у него есть синтаксическая ошибка из-за черты между строкой и числами

Могу поспорить, что вы правы в этом. Вы должны возможно использовать: config.less.dumpLineNumbersа такжеconfig.less.sourceMap

Или в вашем config.less::dumpLineNumbers>comments

Другие вопросы по тегам