Documentation

glyf

Look up Unicode glyphs by name (fuzzy search) or codepoint. Blazing fast.

Usage

glyf <query>                # auto: hex/codepoint -> lookup, else fuzzy search
glyf -c <codepoint>         # exact codepoint lookup (279f, U+279F, 0x279F)
glyf -s <query>             # force name search
glyf -p <codepoint>         # record a pick in frecency db
glyf -l                     # list all entries
glyf -b <block>             # filter by Unicode block name
glyf -C <cat>               # filter by general category (Lu, Nd, L*, P*)
glyf -S <source>            # filter by source (unicode, nerdfonts)
glyf -I <set>               # filter by Nerd Fonts icon set (dev, fa, cod)
glyf --list-blocks          # list all Unicode blocks
glyf --list-categories      # list general categories
glyf --list-sources         # list all sources
glyf --list-icon-sets       # list icon sets with descriptions
glyf -t <n>                 # typo tolerance (default: 2, 0 = exact)
glyf -f <format>            # output format: plain, pretty, tsv
glyf -n <n>                 # max results (default: 50)
glyf --sort <field>         # sort by: relevance (default), name, codepoint

Frecency

Frequently picked codepoints float to the top of empty and fuzzy searches. Records are persisted to $XDG_DATA_HOME/glyf/frecency.bin

Lua module

Build with cargo build --features mlua --release to produce libglyf.so.

local glyf = require("glyf")

-- fuzzy search; opts: limit (50), max_typos (nil = no limit), sort (relevance/name/codepoint)
glyf.search("lua", { limit = 10, sort = "name" })

-- lookup by codepoint string: U+0041, 0x279F, A, etc.
glyf.lookup("U+1F600")

-- record a pick in frecency db
glyf.record(0x1F600)

-- get frecency count for a codepoint
glyf.frecency_get(0x0041)

-- path to frecency db file
glyf.frecency_path()

Neovim plugin

coming soon

Planned

  • Emoji (emoji-data.txt + CLDR annotations keywords)
  • ratatui TUI
  • Reverse lookup for multi-character strings

Data