Как сказать JSLint не запрашивать {в одной строке, если заявления

Прямо сейчас у меня есть следующий код:

if (c > last) break;

И Жлинт жалуется

jslint:crud.js:69:19:Expected '{' and instead saw 'break'.

Есть несколько способов преодолеть это:

if (c > last) { break; }

или же

if (c > last) { 
  break; 
}

Но я бы хотел, чтобы jslint не жаловался, если оператор if находится в одной строке.

Есть ли способ настроить его?

Кстати: я работаю с возвышенным текстом и плагином sublime-jslint со следующей конфигурацией:

{
    // Path to the jslint jar.
    // Leave blank to use bundled jar.
    "jslint_jar": "",

    // Options pass to jslint.
    "jslint_options": "--indent 2 --white --maxerr 10000 --nomen --browser --plusplus --es5",

    // Ignore errors, regex.
    "ignore_errors":
    [
        "Combine this with the previous 'var' statement.",
        "It is not necessary to initialize"
    ],

    // run jslint on save.
    "run_on_save": false,

    // debug flag.
    "debug": false
}

Есть идеи как его настроить?

1 ответ

Решение

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

Если вы переключитесь на JSHint, который гораздо более настраиваемый, вы можете использовать curly возможность:

/*jshint curly: false */

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

Если ваш плагин Sublime поддерживает только JSLint, я настоятельно рекомендую SublimeLinter, который я и использую. Он поддерживает как JSLint, так и JSHint.

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