Code Monkey home page Code Monkey logo

pre-commit-run-hook-entry's Introduction

pre-commit-run-hook-entry

CI Workflow 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.

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.