Run pre-commit hook entry. Allow to run pre-commit hooks for text editor formatting / linting needs
Project description
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
Python 3.7 or later
pre-commit 2.19.0 or later
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.
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
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for pre-commit-run-hook-entry-1.0.0b0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75999b054da7e8987b1de318e1e4ec3ae2e642f91ad0785f9f225d3eecea53fd |
|
MD5 | ae25f2f52ff68c3f26ab3e6881b86c31 |
|
BLAKE2b-256 | b17dae154fadd5a9d115810c2182df7736f4da6cef91c07502611aeb0e13dbe3 |
Hashes for pre_commit_run_hook_entry-1.0.0b0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 884a5bdd7214ff63a17d34ce8bc6913792e69e6217282363c36517b9cc2f48e1 |
|
MD5 | b31f33880aded42ffd770312bd04234a |
|
BLAKE2b-256 | 285e4772980c7b3bd55074b0811df18f81eaa8f5c0b8a7a2e493f97680f36418 |