Skip to content

playpauseandstop/pre-commit-run-hook-entry

Repository files navigation

pre-commit-run-hook-entry

CI pre-commit black Latest Version Python versions BSD License Coverage

Run pre-commit hook entry. Allow to run pre-commit hooks for text editor formatting / linting needs.

Danger Zone

IMPORTANT: This is highly experimental tool as pre-commit internals does not intend to be used in other scripts. It might be broken after new pre-commit release.

TO USE WITH CAUTION!

Requirements

License

pre-commit-run-hook-entry is licensed under the terms of BSD-3-Clause license.

Installation

pip install pre-commit-run-hook-entry

Usage

pre-commit-run-hook-entry HOOK [ARGS]
pre-commit-which-hook-entry HOOK

Prerequisites

pre-commit-run-hook-entry only works in directories, where pre-commit run --all HOOK is executable.

pre-commit Versions Support

pre-commit-run-hook-entry version pre-commit version
1.0.0b0 or lower 3.8.0 or lower
1.0.0rc0 or higher 4.0.0 or higher

VS Code Integration

Example below illustrates how to configure VS Code to use black, flake8 & mypy pre-commit hooks for formatting & linting,

{
    "python.formatting.provider": "black",
    "python.formatting.blackPath": "pre-commit-run-hook-entry",
    "python.formatting.blackArgs": ["black"],
    "python.linting.enabled": true,
    "python.linting.flake8Enabled": true,
    "python.linting.flake8Path": "pre-commit-run-hook-entry",
    "python.linting.flake8Args": ["flake8"],
    "python.linting.mypyEnabled": true,
    "python.linting.mypyPath": "pre-commit-run-hook-entry",
    "python.linting.mypyArgs": ["mypy"]
}

Sublime Text 3 Integration

isorted

{
    "isorted.isort_command": ["pre-commit-run-hook-entry", "isort"]
}

sublack

From one point sublack has builtin pre-commit integration, but it seems do not respect settings from pyproject.toml, to fix this use pre-commit-run-black-entry as sublack.black_command,

{
    "sublack.black_command": "pre-commit-run-black-entry"
}

SublimeLinter-flake8

{
    "SublimeLinter.linters.flake8.executable": "pre-commit-run-hook-entry",
    "SublimeLinter.linters.flake8.args": ["--", "flake8"]
}

SublimeLinter-contrib-mypy

{
    "SublimeLinter.linters.mypy.executable": "pre-commit-run-hook-entry",
    "SublimeLinter.linters.mypy.args": ["--", "mypy"]
}

SublimeJsPrettier

First, you need to find out path to prettier hook entry with,

pre-commit-which-hook-entry prettier

Then, paste command output (<OUTPUT>) into plugin config,

{
    "js_prettier": {
        "prettier_cli_path": "<OUTPUT>"
    }
}

SublimeLinter-eslint

First, you need to find out path to eslint hook entry with,

pre-commit-which-hook-entry eslint

Then, paste command output (<OUTPUT>) into plugin config,

{
    "SublimeLinter.linters.eslint.executable": "<OUTPUT>",
    "SublimeLinter.linters.eslint.env": {
        "NODE_PATH": "<OUTPUT>/../../lib/node_modules"
    }
}

IMPORTANT: If you're using any additionalDependencies for eslint hook, you need to configure NODE_PATH, so plugin will be able to find out given dependencies.

Issues & Feature Requests

Feel free to submit new issue or feature request at GitHub

About

Run pre-commit hook entry. Allow to run pre-commit hooks for text editor formatting / linting needs.

Topics

Resources

License

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy