Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. ptags

ptags

MITRustv0.3.5

A parallel universal-ctags wrapper that accelerates tag generation for git repositories by up to 5x.

GitHubGitHub
142 stars10 forks0 contributors

What is ptags?

ptags is a command-line tool that wraps universal-ctags to generate code tags exclusively for git-tracked files, using parallel processing to significantly speed up tag generation. It solves the problem of slow tag creation in large repositories by distributing the work across multiple threads.

Target Audience

Developers working with large git repositories who use ctags for code navigation and want faster tag generation, particularly those managing monorepos or codebases with thousands of files.

Value Proposition

ptags offers up to 5x faster tag generation than standard universal-ctags by leveraging parallel processing, while maintaining git-aware filtering and compatibility with existing ctags workflows.

Overview

A parallel universal-ctags wrapper for git repository

Use Cases

Best For

  • Accelerating tag generation in large git repositories
  • Generating tags for monorepos with multiple subdirectories
  • Maintaining ctags compatibility while improving performance
  • Creating tags only for git-tracked files (respecting .gitignore)
  • Tuning tag generation performance with configurable thread counts
  • Integrating fast code navigation into existing development workflows

Not Ideal For

  • Projects not using git or using other version control systems like SVN
  • Developers who frequently need tags for untracked or ignored files without manual flags
  • Environments with strict binary dependency management or where installing ctags/git is impractical
  • Workflows requiring real-time or incremental tag updates without full regeneration

Pros & Cons

Pros

Parallel Speed Boost

Uses multiple threads to run ctags in parallel, achieving up to 5x faster tag generation on large codebases, as benchmarked with repositories like Linux and Chromium in the README.

Git-First Design

Automatically respects .gitignore rules and tracks only git-managed files by default, with options to include untracked or ignored files, ensuring focused and relevant tags.

Flexible Configuration

Supports TOML configuration files for customizing thread counts, binary paths, and ctags options, allowing personalized workflows as shown in the sample config generation.

Cross-Platform Compatibility

Works with both Universal Ctags and Exuberant Ctags, and offers installation via cargo, binaries, and package managers like AUR, making it accessible across systems.

Cons

External Dependency Burden

Relies on pre-installed ctags and git binaries; if these are missing or outdated, ptags fails or underperforms, adding setup complexity and potential version conflicts.

Git-Centric Limitation

Primarily designed for git workflows, so including non-tracked or submodule files requires explicit flags, which can be cumbersome for mixed or non-standard environments.

Batch-Only Generation

Lacks incremental updates or caching; it regenerates tags from scratch each run, which can be inefficient for frequent updates in large repositories compared to more integrated tools.

Frequently Asked Questions

Quick Stats

Stars142
Forks10
Contributors0
Open Issues0
Last commit17 hours ago
CreatedSince 2018

Tags

#developer-tools#performance-optimization#universal-ctags#developer-productivity#code-navigation#parallel-processing#rust-cli#rust#git-tools#ctags

Built With

R
Rust

Included in

Rust56.6k
Auto-fetched 9 hours ago

Related Projects

goosegoose

an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM

Stars54,013
Forks6,205
Last commit9 hours ago
justjust

🤖 Just a command runner

Stars35,682
Forks840
Last commit6 days ago
misemise

dev tools, env vars, task runner

Stars33,616
Forks1,421
Last commit9 hours ago
jjjj

A Git-compatible VCS that is both simple and powerful

Stars31,448
Forks1,204
Last commit12 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub