astral-sh / ruff-pre-commit

A pre-commit hook for Ruff.
Apache License 2.0
919 stars 41 forks source link

How to configure include for pre-commit #71

Open raianul opened 7 months ago

raianul commented 7 months ago

When I use ruff with include from my shell, its work and ignore all directory and only apply ruff to the include directory.

 ruff check --config 'include = ["core/others/"]'

But when I'm going to use include with pre-commit its not working

-   repo: https://github.com/astral-sh/ruff-pre-commit
    # Ruff version.
    rev: 'v0.2.2'
    hooks:
      - id: ruff
        include: "[core/drones/api_extern/**/*.py]"

But exclude works -

-   repo: https://github.com/astral-sh/ruff-pre-commit
    # Ruff version.
    rev: 'v0.2.2'
    hooks:
      - id: ruff
        exclude: "(core/others/)"

I'm using a ruff.toml also where exclude=[...] basing excluding list.

peterbygrave commented 6 months ago

I have related issue in that I think include is also ignored when it is defined in pyproject.toml or ruff.toml too.

I can confirm exclude works in .toml files.

dhruvmanila commented 6 months ago

The include and exclude as mentioned in the PR description are part of pre-commit configuration and not Ruff. But pre-commit doesn't have any include key in that position (https://pre-commit.com/#pre-commit-configyaml---hooks), but it does have files (https://pre-commit.com/#config-files) which might be what you're looking for.

peterbygrave commented 6 months ago

The include and exclude as mentioned in the PR description are part of pre-commit configuration and not Ruff. But pre-commit doesn't have any include key in that position (https://pre-commit.com/#pre-commit-configyaml---hooks), but it does have files (https://pre-commit.com/#config-files) which might be what you're looking for.

Ah okay, I'll check that out. Thanks for the post 👍