give-em-hell
v1.5.0
Published
Give 'Em Hell: Find and count em dashes, en dashes, and hyphens in your codebase
Maintainers
Readme
Give 'Em Hell 🔥
Find and count em dashes (—), en dashes (–), and hyphens (-) in your codebase.

Installation
npm install -g give-em-hellOr use directly with npx (no install needed):
npx give-em-hellUsage
# Scan current directory
give-em-hell
# Scan specific directory
give-em-hell /path/to/your/project
# Use with npx
npx give-em-hell /path/to/your/projectOutput Example
🔍 Scanning for dashes in: /Users/you/project
⏳ Files processed: 150 | Skipped: 12 | Errors: 0
📊 Dash Statistics:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Em Dash (—): 253
En Dash (–): 23,452
Hyphen (-): 352
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Total: 24,057
📁 Files processed: 150
⏭️ Files skipped: 12
⏱️ Time taken: 2.34sFeatures
- Memory Efficient: Streams files instead of loading them entirely into memory
- Smart Filtering: Automatically skips binary files and common non-code directories
- Progress Tracking: Real-time progress updates for large codebases
- Safe Defaults: 10MB file size limit and 50-level recursion depth limit
- Error Resilient: Continues processing even when individual files fail
What Gets Scanned
Included File Types
.js, .jsx, .ts, .tsx, .py, .java, .c, .cpp, .h, .hpp, .cs, .rb, .go, .rs, .swift, .kt, .php, .html, .css, .scss, .sass, .less, .vue, .svelte, .md, .txt, .json, .xml, .yaml, .yml
Excluded Directories
node_modules.gitdistbuildcoverage.next.cachevendorbower_components- Hidden directories (starting with
.)
Why?
Typography matters! This tool helps you:
- Ensure consistency in dash usage across your codebase
- Find accidental em/en dash usage in code
- Audit documentation and comments for proper dash usage
- Have fun with typography statistics
License
MIT © mlot.ai
Resources
Publisher
Max's Lab of Things Visit mlot.ai
Contributing
Issues and PRs welcome at github.com/incrediblecrab/give-em-hell
