Skip to main content

Summarize you FIXME, TODO, XXX (and other tags) comments so you don't forget them.

Reason this release was yanked:

deprecated since listme was rewritten in Go

Project description

listme

Summarize you FIXME, TODO, XXX (and other tags) comments so you don't forget them.

Features

  • ⚡ Blazingly fast recursive search! Thanks to ripgrep, massive codebases can be scanned very quickly.
  • 🌈 A nice and pretty summary with comment counts per tag is printed for each file.
  • 🏷 Tags can be customized by the user.
  • 🖨 Print the git author of each message, highlighting old commits.

This project was inspired by practical needs and by fixme. Since fixme is no longer maintained, it makes sense to have a new package (this time written in Python using ripgrep written in Rust) with some new features.

Installation

This package requires Python 3.8+, a recent version of git and ripgrep (13.0+). Both git and ripgrep should be available in your PATH. Then install with pip:

pip install listme

Usage

Simply call listme with the folder or file of interest as the first argument.

listme .

You should see an output like this:

Example output screenshot

Ripgrep uses .gitignore files present in your folders to ignore certain directories and files. If you want to add filters on top of ripgrep, use the --glob (-g) option.

Comments that were commited too long ago (limit set be the --age-limit parameter) are maked as old before the author's name: [☠ OLD John Doe]

Configuration

Most terminals should support all the Unicode symbols used in this project. If not, a patched font (e.g. one of nerd fonts) is higly recommended. Still, to ensure compatibility across many terminal emulators and fonts, a configuration wizard will pop up the first time you run listme asking if some symbols are rendered correctly.

To run the configuration wizard again, simply run:

listme-config

Options

  • path: Path to folder or file to scan for comments with tags.
  • --tags (-T): The tags that will be searched, input should be separated by spaces. Tags are shown in the file summary in the order defined here. Default tags: BUG, FIXME, XXX, TODO, HACK, OPTIMIZE, NOTE.
  • --glob (-g): Glob pattern to include/exclude files or folders in the search. Must be a single-quoted string. This argument is passed to ripgrep, so check ripgrep documentation for syntax details.
  • --age-limit (-l): Age limit (commit age) for comments. Comments older than this limit are marked.
  • --relative-path (-r): Use relative paths in the output. This is the default.
  • --full-path (-R): Use full absolute paths in the output.
  • --author (-a): Print git commit author names. This is the default.
  • --no-author (-A): Do not print git commit author names.
  • --summary (-s): Print a nice file summary. This is the default.
  • --no-summary (-S): Do not print a nice file summary.
  • --verbose (-v): print files which were ignored due to parsing errors.

Style options

The output can be printed in full (--full, the default), black-and-white (-b) or plain style (-p). Full style is recommended, and the only difference to black-and-white is (of course) colors.

Plain style is aimed towards machine consumption. The format is basically a filename line followed by all the comments in the format TAG:text. All comment lines are indented with one tab.

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

listme-0.2.tar.gz (46.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

listme-0.2-py3-none-any.whl (33.9 kB view details)

Uploaded Python 3

File details

Details for the file listme-0.2.tar.gz.

File metadata

  • Download URL: listme-0.2.tar.gz
  • Upload date:
  • Size: 46.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for listme-0.2.tar.gz
Algorithm Hash digest
SHA256 cccc1e2013b18ef6f358da32357e68da376215f58ef1f5ce53db4d4c3a62a847
MD5 5111fd41dfcf704fde27b9b6076aaf10
BLAKE2b-256 fe3b19269196cc26ed2b3cb588c453e5d0341a735d194df87419649a43af973e

See more details on using hashes here.

File details

Details for the file listme-0.2-py3-none-any.whl.

File metadata

  • Download URL: listme-0.2-py3-none-any.whl
  • Upload date:
  • Size: 33.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for listme-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d6c1a9125b4a734d8d8dcd6890e4d3ffa91a5745581e8e5b0f8301c97dcfaddb
MD5 0425c0620bb03ccc1d4a93960cf63bca
BLAKE2b-256 8ec7e553326be4558a28073d6c5ffff52d9f598120320c7bd34f7f58ada5eda3

See more details on using hashes here.

Supported by

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