Skip to main content

git grep wrapper for arguments re-ordering, that can use options after filenames

Project description

Git grep wrapper for arguments re-ordering, that can use options after filenames.

This is “gErp”, not “gRep”.

Description

Original git grep command is sensitive to the order of arguments. For example, you use git grep, and you want to add option -l in tail, but you must type in the correct order.

# original git grep
git grep pattern target -l  # NG `fatal: bad flag '-l' used after filename`
git grep -l pattern target  # OK

git-gerp is allow to use options after patterns and filenames.

# use `g(e)rp`, instead of `g(r)ep`
git gerp pattern target -l  # OK, you can add option '-l' in tail

git-gerp is replace arguments, and execute git grep.

Replacement rules:

  1. Find option arguments (and option’s parameters), move these to ahead.

  2. Move rest plain arguments to behind.

  3. If find double-dash --, treat after arguments as plain.

Requirements

  • Python 2.6+ or Python 3

Installation

  1. Install this package using pip:

    pip install git-gerp

    and you can run under your repository:

    git gerp ...
  2. Define git alias (optional):

    # define alias `g`
    git config --global alias.g gerp

    and you can run:

    git g ...

Usage

git gerp [<git-grep-argument>...]

Examples:

# simple
git gerp pattern
git gerp pattern path

# tail options
git gerp pattern path -l -A5 --max-depth 2

# support boolean expressions, and '(', ')'
git gerp \( -e pattern1 --and -e pattern2 \) --or -e pattern3 path -l

# support '--'
git gerp pattern -l -- path1 path2 -i  # pathspecs is ['path1', 'path2', '-i']

Licence

MIT

Author

htaketani

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

git-gerp-0.1.1.tar.gz (2.9 kB view hashes)

Uploaded Source

Built Distribution

git_gerp-0.1.1-py3-none-any.whl (3.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page