]> Sergey Matveev's repositories - stargrave-blog.git/commitdiff
:cdo команда и подчистка Python импортов неиспользуемых
authorSergey Matveev <stargrave@stargrave.org>
Wed, 31 Aug 2016 19:12:05 +0000 (22:12 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 31 Aug 2016 19:32:00 +0000 (22:32 +0300)
Не редко в Python возникает необходимость перенести какие-то
функции/определения в другой файл/модуль. Кроме переноса самих функций
нужно ещё и их зависимости прописать. Сегодня обнаружил, как мне
кажется, очень простой способ:

* просто переносим *все* импорты из исходного как есть
* натравливаем pylint, вывод которого должен попасть в quickfix
* в quickfix при этом должны быть только сплошные сообщения unused-import
* делаем :cdo d

Само собой подразумевается что имеется работающий и настроенный на
quickfix pylint, подразумевается что используется "каноничный" формат
импортов (по импорту на строку, http://git.stargrave.org/cgit.cgi/pyimportcan.git/tree/pyimportcan.pl).
Вся "фишка" в :cdo d. Эта команда для каждой строчки quickfix-а
выполняет заданную команду. Для unused-import нужно просто удалить
строку. Благодаря quickfix -- все смещённые строки будут им учтены и
поэтому переход на следующие элементы quickfix проходит как ожидается.


No differences found