Toolkits that render their own UI need icons, and the good free sets ship as
loose SVG files with no Go packaging. go-icons closes that gap: each repo
embeds a curated subset of one free, MIT-licensed icon set and serves it by name.
The file-type packs (seti, material) key on a file name —
Icon(filename) matches by base name, then extension, then a generic-document
fallback, and Folder() returns the folder glyph. The general-purpose pack
(iconoir) keys on the icon's own name — Icon(name), with
Has and Names to enumerate the set.
Seti UI file-type icons (Jesse Weed, MIT)
A curated subset of the Seti UI icon set embedded as SVG documents keyed by file name. Icon(filename) matches by exact base name first (go.mod, LICENSE, .gitignore), then by extension, then falls back to a generic document; Folder() returns the folder glyph. Pure data โ it returns SVG strings and draws nothing.
Material Icon Theme file-type icons (Material Extensions, MIT)
A curated subset of the Material Icon Theme embedded as SVG documents keyed by file name. Same small contract as seti โ Icon(filename) resolves by base name then extension with a generic-document fallback, Folder() returns the folder glyph. Pure data โ it returns SVG strings and draws nothing.
Iconoir general-purpose UI icons (Luca Burgio, MIT)
The Iconoir line icon set embedded as SVG documents keyed by the icon's own name (zoom-in, folder, undo, settings, โฆ). Icon(name) returns the glyph or an empty string when unknown; Has and Names enumerate the set. Icons stroke in currentColor, so the renderer's ink recolours them. Pure data โ it returns SVG strings and draws nothing.
vscode-icons file-type icons (Roberto Huertas, MIT)
A curated subset of the vscode-icons set embedded as SVG documents keyed by file name. Same small contract as seti โ Icon(filename) resolves by base name then extension with a generic-document fallback, Folder() returns the folder glyph. Every embedded icon is verified to rasterise under go-gfx/gfx; icons using unsupported SVG features are omitted. Pure data โ it returns SVG strings and draws nothing.
Devicon language & tool logos (konpa, MIT)
Colourful programming-language and tool logos from Devicon, embedded as SVG. Unlike a file-type theme, Icon(filename) maps a source file's extension to the logo of the language it is written in (.go โ Go, .py โ Python, .tex โ LaTeX โฆ); unknown files and Folder() fall back to two minimal neutral glyphs. Every logo is verified to rasterise under go-gfx/gfx. Pure data โ it returns SVG strings and draws nothing.