symfreq

Crates.iosymfreq
lib.rssymfreq
version0.3.0
created_at2025-10-15 16:15:57.775902+00
updated_at2026-01-04 14:02:19.404402+00
descriptionA CLI tool for analyzing symbol frequency in source code
homepage
repositoryhttps://github.com/vaskort/symfreq
max_upload_size
id1884645
size41,056
Vasilis Kortsimelidis (vaskort)

documentation

README

symfreq

Crates.io

A CLI tool for analyzing symbol frequency in source code files.

Motivation

Built to learn Rust while optimizing keyboard layouts for a custom split keyboard. This tool helps identify which symbols appear most frequently in your codebase, making it easier to design efficient key placements.

Installation

With Homebrew (macOS/Linux)

brew tap vaskort/symfreq
brew install symfreq

With Cargo

cargo install symfreq

Usage

Analyze a directory with default extensions (rs, js, jsx, ts, tsx):

symfreq ./src

Specify custom file extensions:

symfreq ./src --exts rs,toml,md

Or use the short flag:

symfreq ./src -e c,h,cpp

Output

The tool displays a table showing each symbol and its percentage frequency:

┌────────┬─────────┐
│ Symbol │ Percent │
├────────┼─────────┤
│ (      │ 15.23%  │
│ )      │ 15.20%  │
│ ,      │ 12.45%  │
│ :      │ 8.34%   │
└────────┴─────────┘

Options

  • -e, --exts <EXTENSIONS> - Comma-separated list of file extensions to analyze ("rs,ts,tsx")
  • -h, --help - Print help
  • -V, --version - Print version

License

MIT

Commit count: 0

cargo fmt