Skip to content

yazanmwk/TypeSymbol

Repository files navigation

TypeSymbol hero banner

Release License


Gradient divider

macOS Syntax Guide Contributing Security


System-wide math shorthand for macOS, with explicit controls for testing, toggling, and safe app-by-app behavior.


TypeSymbol

Type mathematical shorthand system-wide—alpha becomes α, -> becomes , and your formulas read like real math.


See it in one glance

You type (shorthand) You get (Unicode)
alpha -> beta α → β
for all x in A ∀ x ∈ A
int 0 -> inf x ∫₀^∞ x dx
sum_(i=1)^n i^2 ∑ᵢ₌₁ⁿ i²

Transforms follow your config (Greek, operators, integrals, sums, products, limits, transforms, set logic, probability/statistics, scripts, and more). Use typesymbol test "..." to preview any string.


What this is

TypeSymbol is a local, system-wide typing engine for math notation.

Instead of switching tools or opening symbol pickers, you keep typing in plain text and TypeSymbol expands it into Unicode math where you already work: notes, chats, docs, editors, and browsers.

It is built for one goal: reduce friction between thinking in math and writing in software.


How it works

Runtime flow

%%{init: { "theme": "base", "themeVariables": { "primaryColor": "#1a1020", "primaryTextColor": "#e8e0f0", "lineColor": "#ba53e6", "tertiaryColor": "#1f1630" } } }%%
flowchart TB
    A[Type shorthand in any app]
    B[Press trigger key enter or ctrl-space]
    C[Check daemon is running]
    D{App excluded?}
    E[Pass through unchanged]
    F[Normalize input spacing and phrase forms]
    G[Apply core symbol rules aliases and operators]
    H[Apply math packs integrals sums products limits transforms sets probability]
    I[Apply scripts and roots superscript subscript sqrt]
    J[Assemble final Unicode output]
    K[Inject output into focused app]
    L[You see formatted math instantly]

    A --> B --> C --> D
    D -- yes --> E
    D -- no --> F --> G --> H --> I --> J --> K --> L
Loading

Control flow

%%{init: { "theme": "base", "themeVariables": { "primaryColor": "#1a1020", "primaryTextColor": "#e8e0f0", "lineColor": "#ba53e6", "tertiaryColor": "#1f1630" } } }%%
flowchart TB
    C1[typesymbol on or off]
    C2[typesymbol daemon status]
    C3[typesymbol config init]
    C4[typesymbol config show]
    C5[typesymbol test input]
    R1[Runtime enabled or paused]
    R2[Health visibility]
    R3[Config baseline created]
    R4[Active rules and trigger inspected]
    R5[Preview without live injection]

    C1 --> R1
    C2 --> R2
    C3 --> R3
    C4 --> R4
    C5 --> R5
Loading
  1. A Rust engine parses and expands your math shorthand.
  2. A background daemon watches input so replacement can happen globally (not just inside one app).
  3. A native macOS adapter handles input capture and text injection.

Control surface (why the controls exist)

Control What it does Why it matters
typesymbol on / typesymbol off Enable or pause global replacement instantly You can safely switch contexts without uninstalling or editing config
typesymbol daemon status Shows whether the background service is running Quick health check when symbols are not appearing
typesymbol config init Creates a local config with defaults Gives you an explicit, editable baseline instead of hidden behavior
typesymbol config show Prints the active config Confirms which symbol families and triggers are currently active
typesymbol test "..." Previews transforms without injecting into apps Lets you validate rules before using them in live text fields
Trigger setting (enter / ctrl-space) Chooses when replacement is applied Balances speed vs control based on your typing style
Excluded apps list Prevents replacement in selected apps Avoids accidental transforms in terminals, editors, or sensitive inputs

Install

Official install paths

# macOS (Homebrew)
brew install yazanmwk/homebrew-tap/typesymbol

Verify:

typesymbol test "alpha -> beta"
typesymbol daemon status

All alternative install methods (manual assets, from source, troubleshooting) are in docs/install.md.


Contribution policy

  • Open source contributions are welcome (features, fixes, docs, tests).
  • Maintainers handle all version tags and official releases.
  • Pull requests do not publish release artifacts.

Quick start

# Preview a transform without the daemon
typesymbol test "alpha -> beta"

# Config
typesymbol config init
typesymbol config show

# Daemon
typesymbol daemon status

Syntax types supported

TypeSymbol covers the main math shorthand families below.

Family Examples you type Output style
Core symbols alpha, theta, pi, inf, ->, <=, != α, θ, π, , , ,
Scripts & roots x^10, x_i, a_1, sqrt(x), sqrt x x¹⁰, xᵢ, a₁, √(x), √x
Calculus int 0 -> inf x, sum_(i=1)^n, product from i = 1 to n of i, limit x to 0 of ..., partial/partial x ... ∫₀^∞ ..., ∑..., ∏..., lim..., ∂/∂x ...
Transforms laplace of f(t), inverse laplace of F(s), fourier transform of x(t) ℒ{...}, ℒ⁻¹{...}, ℱ{...}
Sets & logic for all x in A, there exists y not in B, subseteq, union, intersection ∀ x ∈ A, ∃ y ∉ B, , ,
Probability & stats `probability of A B, expected value of X, variance of X`
Natural language normalization x power of 2

Coverage is rule-based and configurable, so behavior stays predictable.

Complete syntax examples: docs/syntax-guide.md


Why TypeSymbol

  • Keep flow state: type plain shorthand and get math symbols without leaving your current app.
  • Work everywhere on macOS: applies system-wide, not only inside one editor.
  • Stay in control: explicit triggers, quick on/off, test mode, and per-app exclusions.
  • Trust the output: deterministic rule-based transforms with config you can inspect and edit.

Repository map

Only the main areas most contributors need:

TypeSymbol/
├── crates/
│   ├── typesymbol-core/              # Parsing + transform engine
│   ├── typesymbol-config/            # Config model + defaults
│   ├── typesymbol-daemon/            # Runtime + input event pipeline
│   ├── typesymbol-platform-macos/    # Native macOS adapter
│   └── typesymbol-cli/               # CLI + TUI entrypoint
└── docs/                             # Install, syntax, contributing, security

Release and packaging infrastructure is maintainer-only and intentionally omitted from this contributor-facing map.


Documentation

Index of all guides: docs/README.md.

Doc What it’s for
docs/install.md Detailed install, PATH, and platform notes
docs/CONTRIBUTING.md Build from source, tests, and PR workflow
docs/SECURITY.md Responsible disclosure
LICENSE MIT License

Security

Do not post suspected vulnerabilities in public issues first. See docs/SECURITY.md for how to report them responsibly.


Let's Connect

GitHub LinkedIn Email Issues


About

No description, website, or topics provided.

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors