Почему Syntastic не ловит ошибки JSON?

Я только что добавил jsonlint для Syntastic, и он не обнаруживает никаких синтаксических ошибок. flake8 отлично работает для Python и работает какое-то время, но не jsonlint. Ниже вы увидите соответствующую часть моего .vimrc, где, как мне кажется, есть все, что мне нужно, чтобы заставить работать следующую программу проверки.

.vimrc

let g:syntastic_python_checkers=['flake8']
let g:syntastic_python_flake8_args = '--ignore="E501"' " ignore long lines
let g:syntastic_json_checkers=['jsonlint']

" Better :sign interface symbols
let g:syntastic_error_symbol = '✗'
let g:syntastic_warning_symbol = '!'

какой jsonlint

/usr/local/bin/jsonlint

person Brian Dant    schedule 18.05.2013    source источник
comment
Что вы имеете в виду, говоря, что я только что попытался добавить jsonlint? Это уже есть.   -  person romainl    schedule 18.05.2013
comment
@romainl: я имел в виду следующее: я успешно добавил jsonlint (программный пакет) и настроил свой .vimrc для использования jsonlint в качестве средства проверки, но я не вижу никаких ошибок или предупреждений, даже когда у меня открыт файл который содержит недопустимый JSON. Любые идеи, почему это может происходить?   -  person Brian Dant    schedule 20.05.2013
comment
одну вещь, которую вы можете попробовать: сделайте резервную копию папки .vim, сделайте копию, затем удалите все, кроме синтаксиса и необходимых для него настроек. Если ошибка не возникает, по крайней мере, вы приблизились к ответу. Если это поможет, синтаксис работает с моими json-файлами, поэтому он должен работать на вас. Кроме того, что происходит, когда вы запускаете что-то вроде :!jsonlint % (или любую другую команду, которую вы используете для jsonlint). Вы уверены, что это на вашем пути?   -  person Jeff Tratner    schedule 20.05.2013
comment
Что я имел в виду под «Это уже есть», так это то, что вам не нужно ничего помещать в свой ~/.vimrc для синтаксиса для работы с *.json файлами.   -  person romainl    schedule 20.05.2013
comment
@JeffTratner: which jsonlint говорит мне, что это на моем пути, верно? (Последняя часть моего q показывает вывод из which jsonlint)   -  person Brian Dant    schedule 21.05.2013


Ответы (1)


была такая же проблема. Отсутствовал тот факт, что Vim установил по умолчанию тип файла json-файла на javascript.

:setfiletype json
:SyntasticCheck
person locojay    schedule 18.06.2013
comment
Вы можете использовать au BufRead,BufNewFile *.json set filetype=json в своем .vimrc, чтобы убедиться, что файлы .json автоматически назначаются правильному типу. - person El Yobo; 19.07.2013
comment
Мне пришлось сделать sudo npm -g install jsonlint, чтобы это работало на Ubuntu 14.04. Это jsonlint Syntastic ожидает. Пакет Ubuntu python-demjson также устанавливает программу jsonlint, но она не предназначена для работы с Syntastic. - person Adam Monsen; 07.11.2014