symfreq 0.3.0

A CLI tool for analyzing symbol frequency in source code
Documentation

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