Files · Items: one icon map, file icon, file row and file grid

The crate had two maps from a file's name to its icon, in chat and in the
file tree, and they disagreed. One map now lives in primitives, over the
Lucide file-* icons, and chat, agent, the file tree and the directory
listing use it. FileIcon draws it for a file or a folder. FileItem is a
file's row, a ListItem with its size and when it changed. FileList is the
directory listing. FileGrid lays tiles in the order given, with a cursor
seeded from the owner's pick: arrows by tile and by row, Home, End, Enter
and a double press to open. The count of what fits a width has one home,
layout's columns_for, and fit builds on it.
This commit is contained in:
ZacharyZhang-NY committed 2026-09-26 19:40:10 -04:00
1 parent e75171c995
commit a846e10847
36 files changed
+1024 -77

No files matched your search

+10
View File
@@ -129,9 +129,19 @@ icons! {
ExternalLink => "external-link",
EyeOff => "eye-off",
Eye => "eye",
FileArchive => "file-archive",
FileAudio => "file-audio",
FileCode => "file-code",
FileCog => "file-cog",
FileImage => "file-image",
FileJson => "file-json",
FilePlus => "file-plus",
FileSpreadsheet => "file-spreadsheet",
FileTerminal => "file-terminal",
FileText => "file-text",
File => "file",
FileType => "file-type",
FileVideoCamera => "file-video-camera",
Filter => "filter",
Fingerprint => "fingerprint",
Flag => "flag",