Skip to content

Icons

Rezi includes a small icon registry for common UI glyphs. Icons are rendered as text, so they work in any terminal.

Usage

import { ui, rgb } from "@rezi-ui/core";

ui.icon("status.check");
ui.icon("arrow.right", { style: { fg: rgb(0, 255, 0) } });
ui.icon("ui.search", { fallback: true });

Categories

Icon paths are grouped by category:

  • file.* — file/folder
  • status.* — status (check, cross, warning, etc.)
  • arrow.* — arrows/chevrons
  • git.* — git status
  • ui.* — common UI actions (close, menu, play, etc.)

Fallback behavior

Each icon has:

  • a primary glyph (may be Unicode and may be intentionally unset for some icons)
  • an ASCII fallback

Use fallback: true to force the ASCII-safe glyph:

import { ui } from "@rezi-ui/core";

ui.icon("git.modified", { fallback: true });
ui.icon("file.folder", { fallback: true });

If the primary glyph is unset ((none) in the tables below), you should use fallback: true until a glyph set is provided.

Icon registry

The following tables list every registered icon path, its primary glyph, and its fallback.

file.*

Icon path Glyph Fallback Width
file.file (none) [] 1
file.fileCode (none) <> 1
file.fileText (none) == 1
file.fileConfig (none) @@ 1
file.fileBinary (none) ## 1
file.folder (none) [+] 1
file.folderOpen (none) [-] 1
file.folderGit (none) [g] 1

status.*

Icon path Glyph Fallback Width
status.check [x] 1
status.cross [X] 1
status.warning [!] 1
status.info [i] 1
status.error [E] 1
status.question ? [?] 1
status.pending [ ] 1
status.success [*] 1
status.dot * 1
status.circle o 1
status.circleFilled * 1
status.square [ ] 1
status.squareFilled [x] 1

arrow.*

Icon path Glyph Fallback Width
arrow.up ^ 1
arrow.down v 1
arrow.left < 1
arrow.right > 1
arrow.upDown | 1
arrow.leftRight - 1
arrow.chevronUp ^ 1
arrow.chevronDown v 1
arrow.chevronLeft < 1
arrow.chevronRight > 1
arrow.triangleUp ^ 1
arrow.triangleDown v 1
arrow.triangleLeft < 1
arrow.triangleRight > 1
arrow.arrowReturn <- 1
arrow.arrowTab -> 1

git.*

Icon path Glyph Fallback Width
git.modified M 1
git.added + + 1
git.deleted - 1
git.renamed R 1
git.copied C 1
git.untracked ? ? 1
git.ignored I 1
git.conflict ! ! 1
git.staged S 1
git.branch (none) * 1
git.commit (none) o 1
git.merge (none) Y 1
git.stash (none) $ 1

ui.*

Icon path Glyph Fallback Width
ui.menu = 1
ui.close × x 1
ui.search (none) / 1
ui.settings (none) * 1
ui.edit e 1
ui.copy c 1
ui.paste (none) p 1
ui.cut (none) x 1
ui.save (none) S 1
ui.undo u 1
ui.redo r 1
ui.refresh R 1
ui.sync (none) ~ 1
ui.lock (none) # 1
ui.unlock (none) - 1
ui.visible (none) o 1
ui.hidden (none) - 1
ui.expand + + 1
ui.collapse - 1
ui.filter (none) Y 1
ui.sort (none) ^v 1
ui.pin (none) P 1
ui.bookmark (none) B 1
ui.star * 1
ui.starEmpty o 1
ui.heart <3 1
ui.heartEmpty <> 1
ui.home (none) ~ 1
ui.terminal (none) >_ 1
ui.debug (none) D 1
ui.play > 1
ui.pause || 1
ui.stop [] 1
ui.record () 1