#pre-commit-hook #pre-commit.com #yapf
#предварительная фиксация-крюк #pre-commit.com #япф
Вопрос:
При запуске файла с помощью командной строки и yapf мои теги следующие:
-я-многословный-стиль «google»
При использовании того же, что и выше, в качестве аргументов для предварительной фиксации, мой крючок предварительной фиксации всегда возвращает «Pass».
Это было проверено на том же файле для тех же изменений, поэтому я ожидал бы аналогичных результатов. Если я исключу --style "google"
, мой крючок предварительной фиксации, по крайней мере, изменит формат моего файла, но не в том стиле, в котором я этого хочу.
Может кто-нибудь сказать мне, что я делаю не так с аргументами?
Файл Python, содержащий пример:
def hello_world(): print("hello world") if 5 == 5: print("goodbye world")
.предварительная фиксация-файл конфигурации.yaml:
- repo: https://github.com/pre-commit/pre-commit-hooks.git sha: v4.0.1 hooks: - id: trailing-whitespace - id: end-of-file-fixer - repo: https://github.com/google/yapf rev: v0.31.0 hooks: - id: yapf name: "yapf"
При фиксации мой файл изменится, и предварительная фиксация сообщила мне, что yapf изменил мой файл на следующий:
def hello_world(): print("hello world") if 5 == 5: print("goodbye world")
Если я вернусь к тому же файлу python и обновлю свой файл .pre-commit-config.yaml до этого:
- repo: https://github.com/pre-commit/pre-commit-hooks.git sha: v4.0.1 hooks: - id: trailing-whitespace - id: end-of-file-fixer - repo: https://github.com/google/yapf rev: v0.31.0 hooks: - id: yapf name: "yapf" args: [--style "google" ]
Выполнение фиксации обеспечит Pass
вместо внесения каких-либо изменений, даже тех, которые были ранее
Правка 1: Файл .pre-commit.config.yaml был обновлен до:
- repo: https://github.com/pre-commit/pre-commit-hooks.git sha: v4.0.1 hooks: - id: trailing-whitespace - id: end-of-file-fixer - repo: https://github.com/google/yapf rev: v0.31.0 hooks: - id: yapf name: "yapf" args: [--style, google]
Запуск pre-commit run
только показывает Passed
, а не переформатирует. Я также попытался вставить pep8 и другие произвольные слова в качестве замены google. Все это приводит к Passed
. Может быть, на моем конце есть что-то, где игнорируется стиль arg, что приводит к сбою всего yapf?
Комментарии:
1. это невозможно воспроизвести-чтобы помочь вам решить вашу проблему, вам нужно показать минимальный набор кода, чтобы мы могли видеть то, что вы видите. в этом случае вам нужен как минимум файл python и ваша конфигурация в вашем вопросе
2. @AnthonySottile извините за это, просто добавил явный пример файла python вместе с моей конфигурацией.
3. у вас опечатка, вы хотите
args: [--style, google]
4. @AnthonySottile Хм, к сожалению, это, похоже, все еще не работает. Изменение его на это все еще просто дает мне
Passed
5. Я не могу воспроизвести, когда я
args
правильно отформатировал, это исправляет код, который вы предоставили в этом посте