О прошлом


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

image

Прошло время и плагин получил новый функционал.

Включение / выключение плагина в сессии


Осуществляется командами:
:FileStyleEnable
:FileStyleDisable

Работает для всех открытых буферов.

Автоматическое исправление проблем форматирования


Осуществляется командой:
:FileStyleFix

Работает следующим образом:
  • Удаляет управляющие последовательности
  • Удаляет пробелы в конце строки
  • Если опция expandtab включена, заменяет табуляции пробелами, в противном случае заменяет пробелы в начале строки табуляциями


Переопределения подсветки плагина


Подсветка используемая плагином может подойти не всем, поэтому есть возможность ее переопределить через явное определение в vimrc либо в файле цветовой схемы, одной или нескольких групп:
FileStyleTabsError
FileStyleTrailingSpacesError
FileStyleSpacesError
FileStyleControlCharacter
FileStyleTooLongLine

Например, так:
highlight FileStyleTabsError ctermbg=3 guibg=Yellow

Игнорируемые паттерны


Если нужно убрать подсветку плагином какого-либо специфического паттерна, можно в vimrc добавить соледующую строку, содержащую паттерн:
let g:filestyle_ignore_patterns = ['^\(> \?\)\+$']

В консоли для работы в цветовой схеме должна быть явно определена группа Normal с параметром ctermbg.
hi Normal ctermbg=15

Игнорируемые типы файлов


По умолчанию плагин проверяет все типы файлов, но можно опредеолить список игнорируемых плагином типов:
let g:filestyle_ignore = ['text']


Скачать можно по ссылкам: vim.org | GitHub

Комментарии (4)


  1. paceholder
    09.12.2015 18:20

    Извиняюсь, но все описанные фишки плагина решаются стандартными средствами vim и парой строк конфигов.


    1. DrLivesey
      09.12.2015 18:28

      В таком случае, я прошу поделиться.


      1. paceholder
        09.12.2015 18:40

        Подсветка пробелов в конце строки (я показываю все знаки табуляции и пробелов)

        set listchars=tab:>-,trail:~,extends:>,precedes:<

        отрезание пробелов в конце строки
        function! Trim() call Preserve('%s/\s\+$//e') endfunction

        Кроме того, можно повесить хук на какую-нибудь кнопку, чтоб вызывалась внешняя команда для полного форматирования текущего буфера (у меня так работает с uncrustify для С++)


        1. DrLivesey
          09.12.2015 19:56

          Если честно, то отображение всех табуляций и пробелов несколько заграмождает интерфейс, как мне кажется.
          Отрезание пробелов так и делается как у вас написано, только без использования Preserve().