Skip to main content

A tool to grep through the AST of a source file

Project description

grep-ast

Grep soure code files and see matching lines with useful context that show how they fit into the code. See the loops, functions, methods, classes, etc that contain all the matching lines. Get a sense of what's inside a matched class or function definition. You see relevant code from every layer of the abstract syntax tree, above and below the matches.

Grep-AST is built with tree-sitter and tree-sitter-languages. So it supports a lot of popular code languages.

Install

python -m pip install git+https://github.com/paul-gauthier/grep-ast.git

Usage

Basic usage:

grep-ast [pattern] [filenames...]

Full options list:

usage: grep_ast.py [-h] [-i] [--color] [--no-color] [--encoding ENCODING] [--languages] [--verbose]
                   [pat] [filenames ...]

positional arguments:
  pat                  the pattern to search for
  filenames            the files to display

options:
  -h, --help           show this help message and exit
  -i, --ignore-case    ignore case distinctions
  --color              force color printing
  --no-color           disable color printing
  --encoding ENCODING  file encoding
  --languages          print the parsers table
  --verbose            enable verbose output

Examples

Here we search for "encoding" in the source to this tool:

aider screencast

Here we search for "TreeContext" in the source to this tool:

aider screencast

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

grep-ast-0.2.0.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

grep_ast-0.2.0-py3-none-any.whl (11.0 kB view details)

Uploaded Python 3

File details

Details for the file grep-ast-0.2.0.tar.gz.

File metadata

  • Download URL: grep-ast-0.2.0.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for grep-ast-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e7cf6d26a74e91441dec5cd70b13e6f6b3ee22c64c3a2c99fdfa6cb7d61e3162
MD5 120b6ac183a375e6669c180ebee6f0b4
BLAKE2b-256 93cbcc7605b6eb75f607f2f8e6e3a302798b1e4733eba96fd57eba5db460f1bb

See more details on using hashes here.

File details

Details for the file grep_ast-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: grep_ast-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 11.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for grep_ast-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ccf8532cfc9db841a4788975178ebcc74c80bdc32e4131610585175c3d73a510
MD5 26d4c58011cf47e3c5d56561a58ecf2f
BLAKE2b-256 bd20f37d3d3dac35f7b64c406a3c1a323c1da63f8395348a5f2a57802fcdaae5

See more details on using hashes here.

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