🎩 Robust alfred alfred.schembri.me
alfred
README.md

Robust Text #

Convert text's case or style it in fancy Unicode fonts from Alfred, and paste the result.

Built as part of Robust Alfred.

Usage #

Keyword What it does
case text List every case style of the text
fancy text List every fancy style of the text

Each row shows the transformed text, with the style's name below it. The following mappings are available on results:

Key Action
↩ Paste the result into the frontmost app
⌘C Copy the result without pasting

Both lists are also Universal Actions: select text anywhere, run Change case to… or Fancify text to…, and pick a style to replace the selection.

Every style also has its own keyword, which pastes the text typed after it in that style without picking from a list:

List Keyword Hello world becomes
case upper HELLO WORLD
case lower hello world
case title Hello World
case camel helloWorld
case pascal HelloWorld
case snake hello_world
case screaming HELLO_WORLD
case kebab hello-world
case alternating hElLo WoRlD
fancy bold 𝐇𝐞𝐥𝐥𝐨 𝐰𝐨𝐫𝐥𝐝
fancy italic 𝐻𝑒𝑙𝑙𝑜 𝑤𝑜𝑟𝑙𝑑
fancy script ℋℯ𝓁𝓁ℴ 𝓌ℴ𝓇𝓁𝒹
fancy double ℍ𝕖𝕝𝕝𝕠 𝕨𝕠𝕣𝕝𝕕
fancy mono 𝙷𝚎𝚕𝚕𝚘 𝚠𝚘𝚛𝚕𝚍
fancy fullwidth Hello world
fancy squared 🅷🅴🅻🅻🅾 🆆🅾🆁🅻🅳
fancy circled Ⓗⓔⓛⓛⓞ ⓦⓞⓡⓛⓓ
fancy strike H̶e̶l̶l̶o̶ w̶o̶r̶l̶d̶
fancy upside plɹoʍ ollǝH

Installation #

Download the workflow from alfred.schembri.me and open it, or build it yourself (see Development).

If downloading, note that the bundled binary is not notarized, so macOS quarantines downloaded copies and Gatekeeper will block the workflow the first time it runs. Remove the quarantine attribute before opening the file:

xattr -d com.apple.quarantine robust-alfred-text.alfredworkflow

(Alternatively, approve it after the first block under System Settings → Privacy & Security → Open Anyway).

Permissions #

  • Accessibility — to paste into the frontmost app. Alfred asks for it when it is first set up, under System Settings → Privacy & Security → Accessibility.

Development #

Built in Rust with powerpack.

cargo run -- case "hello world"      # the case list as Alfred JSON
cargo run -- do camel "hello world"   # one style, as its keyword runs it
cargo test              # unit and end-to-end tests
powerpack link          # symlink the workflow into Alfred for local testing
powerpack package       # build target/workflow/robust-alfred-text.alfredworkflow

The styles are one table, STYLES in src/transform.rs. Each style's keyword is its id, and its Run Script passes the id on (do camel), so a new style needs a Keyword and a Run Script in workflow/info.plist too; a test checks that every keyword applies its own style.

scripts/generate-icons.swift draws the row icons and tiles.

Attribution #

The Fancy tile incorporates Apple's sparkles SF Symbol, © Apple Inc., used here solely as decoration. It is not covered by this repository's MIT license.

License #

MIT, except as noted under Attribution.