TypeSymbol yazanmwk
winget install --id=yazanmwk.TypeSymbol -e Type math-like shorthand and convert it into Unicode symbols across apps.
winget install --id=yazanmwk.TypeSymbol -e Type math-like shorthand and convert it into Unicode symbols across apps.
System-wide math shorthand for macOS, with explicit controls for testing, toggling, and safe app-by-app behavior.
Type mathematical shorthand system-wide—alpha becomes α, -> becomes →, and your formulas read like real math.
| 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.
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.
%%{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
%%{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
| 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 |
# 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.
# Preview a transform without the daemon
typesymbol test "alpha -> beta"
# Config
typesymbol config init
typesymbol config show
# Daemon
typesymbol daemon status
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 | x² |
Coverage is rule-based and configurable, so behavior stays predictable.
Complete syntax examples: docs/syntax-guide.md
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.
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 |
Do not post suspected vulnerabilities in public issues first. See docs/SECURITY.md for how to report them responsibly.