Как настроить или отключить линтинг во встроенном редакторе кода

от автора

Под катом небольшая заметка о том как можно настроить правила для линтинга во встроенном редакторе кода WordPress.

Начиная с версии 4.9 в WordPress встроен редактор CodeMirror. Он поддерживает подстветку синтаксиса для более 100 языков, а также имеет встроенный анализатор кода.

Итак, для изменения параметров нам поможет фильтр wp_code_editor_settings

Первым параметром он принимает массив опций для редактора кода. В нем нас интересует лишь несколько свойств. Подробности см. в документации.

add_filter( 'wp_code_editor_settings', 'change_code_editor_settings'); function change_code_editor_settings( $settings ) {    /**    * Массив параметров передаваемых в codemirror    * @see https://codemirror.net/doc/manual.html#config    */   $settings['codemirror']     /**    * Массив параметров для CSSLint    * @see https://github.com/CSSLint/csslint/wiki    */   $settings['csslint']     /**    * Массив параметров для JSHint    * @see https://jshint.com/docs/options    */    $settings['jshint']         /**    * Массив параметров для HTMLHint    * @see https://github.com/htmlhint/HTMLHint/wiki/Rules    */   $settings['htmlhint']     return $settings; } 

Примеры

Отключим проверку CSSLint оставив при этом подсветку синтаксиса. (Может быть полезно если вы используете в теме css переменные. #720)

add_filter( 'wp_code_editor_settings', 'disable_csslint' ); function disable_csslint( $settings ){ 	   if ($settings['codemirror']['mode'] === 'css') {     $settings['codemirror']['lint'] = false;   }    return $settings; } 

Зарегистрируем глобальную переменную.

add_filter( 'wp_code_editor_settings', 'change_code_editor_settings'); function change_code_editor_settings( $settings ) {   $settings['jshint']['globals']['axios'] = false // Глобальная переменная существует   $settings['jshint']['globals']['user_rates'] = true // Глобальная переменная существует и доступна для записи       return $settings; } 

Запретим использовать антибуты без значений

add_filter( 'wp_code_editor_settings', 'change_code_editor_settings'); function change_code_editor_settings( $settings ) {   $settings['htmlhint']['attr-value-not-empty'] = true    return $settings; } 


ссылка на оригинал статьи https://habr.com/post/428135/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *