pre-commit-run-hook-entry
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.9 or later
- pre-commit 4.0 or later
License
pre-commit-run-hook-entry is licensed under the terms of
BSD-3-Clause license.
Installation
Usage
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,
Then, paste command output () into plugin config,
"js_prettier": {
"prettier_cli_path": "
}
}
SublimeLinter-eslint
First, you need to find out path to eslint hook entry with,
Then, paste command output () into plugin config,
"SublimeLinter.linters.eslint.executable": ",
"SublimeLinter.linters.eslint.env": {
"NODE_PATH": "
}
}
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