2015-03-25 4 views
1

Когда я редактирую файл .coffee в своем mvim и пытаюсь сохранить этот файл с любой длиной более 80 символов, я получаю такую ​​ошибку.Увеличьте максимальную длину линии для coffeelint в vim (mvim) при редактировании файлов кофе

file_name.coffee |18 error| Line exceeds maximum allowed length Length is 91, max is 80. 

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

Единственное место, где я могу изменить этот предел в nodejs модуля в файле .../node_modules/coffeelint/lib/coffeelint.js, который имеет такую ​​строку:

max_line_length: { 
    value: 80, 
    -level: ERROR, 
    +level: IGNORE, 
    message: 'Line exceeds maximum allowed length' 
}, 

Но, конечно же, редактирование источников nodejs библиотек не является хорошим вариантом.

В моей mvim я использую эти dotfiles - https://github.com/skwp/dotfiles

В моем каталоге проекта у меня есть .coffeelint.json, но он не работает, однако, как представляется, содержат необходимости и действительный код для этого (он отлично работает на TravisCI и на машинах других членов команды).

Вопросы:

  1. Есть ли место, где я могу отключить coffeelint вызов при сохранении файла?
  2. Есть ли место, где я могу настроить максимальную допустимую длину линии?

Update:

Полагая правильно названный (.coffeelint.json) конфигурационный файл в домашний каталог помогает, но не является правильным решением в моем случае.

ответ

2

Во всех частях проекта (сейчас 5 различных репозиториев) у нас есть файл .coffeelint.json, это не имя для coffeelint, если вы хотите, чтобы он автоматически выбирал файл конфигурации. Текущий .coffeelint.json используется на TravisCI при проверке кода и вызывается с опцией -f, как оказалось. Так что в моем случае у меня есть два способа исправить странное поведение (которое предназначено поведение, на самом деле):

  1. Копирование одного из конфигов из 5 связанных РЕПО до ~/coffeelint.json, так что coffeelint будет использовать его автоматически при ВИМ будет проверить файл на save (но это не будет сделано, если в некоторых репозиториях будут разные конфигурации, однако это решение не требует каких-либо изменений в репозиториях).

  2. Создать копию каждого файла конфигурации в каждом хранилище (так что я буду иметь как .coffeelint.json и coffeelint.json в каждом репо) и добавить новодобавленный один к .gitignore, так что члены команды не будут видеть его в своих редакторов. Этот вариант также неуместен и выглядит уродливым, потому что я должен добавить 5 изменений и 5 коммитов.

Кажется, что ребята из команды решили назвать coffeelint конфигурационный файл не правильно для того, чтобы hide it visually in code editors. Решение стоило мне нервов, поэтому, вероятно, я все правильно переконфигурирую и переименую конфиги в имена по умолчанию.

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

2

Похоже, что это более вопрос coffeelint, чем вопрос Vim.

От http://www.coffeelint.org/#options:

Кажется, вы должны создать файл конфигурации, настройки следующие опции.

max_line_length Это правило налагает максимальную длину линии на ваш код. Руководство по стилю Python отлично справляется с объяснением, почему вы можете хотеть ограничить длину ваших линий, хотя это вопрос вкуса. Линии могут быть не более восьмидесяти символов по умолчанию.

уровень по умолчанию: ошибка

Это также, кажется, вы должны вызвать coffeelint с файлом конфигурации:

От: http://www.coffeelint.org/#usage

coffeelint -f coffeelint.json приложения.кофе

Возможно, вам необходимо найти в своем dotfile, где выполняется вызов coffeelint, и добавить файл конфигурации с опцией -f.

+0

Я прочитал, что перед отправкой вопроса. В моем случае это действительно похоже на проблему Vim, потому что все файлы конфигурации присутствуют, но, похоже, Vim каким-то образом обходит эту конфигурацию и использует настройки по умолчанию. – kovpack

+0

уверены, что vim вызывает coffeelint с опцией -f? Если вы grep, coffeelint в dotfiles, у вас должен быть ответ. –

2

Вам не нужно явно передавать конфигурационный файл. Вот user docs для CoffeeLint. Вы должны либо создать файл ~/coffeelint.json, либо создать coffeelint.json в корне вашего проекта.

+0

Я сделал это, как я уже писал выше, но результат был тот же. – kovpack

+0

Вы пробовали запустить CoffeeLint из командной строки? Я поддерживаю проект в течение 2 лет, а иногда авторы плагинов намеренно обходят загрузчик конфигурации CoffeeLint. –

+0

Да, кажется, я просто ошибся в имени файла, когда сказал, что '~/coffeelint.json' не работает (он работает, и я просто ошибочно назвал имя файла). – kovpack

Смежные вопросы