ZIm/assets/icons/file_icons
Marshall Bowers e60123bbdc
Allow icon themes to provide their own file associations (#24926)
This PR adds the ability for icon themes to provide their own file
associations.

The old `file_types.json` that was previously used to make these
associations has been removed in favor of storing them on the default
theme.

Icon themes have two new fields on them:

- `file_stems`: A mapping of file stems to icon keys.
- `file_suffixes`: A mapping of file suffixes to icon keys.

These mappings produce icon keys which can then be used in `file_icons`
to associate them to a particular icon:

```json
{
  "file_stems": {
    "Makefile": "make"
  },
  "file_suffixes": {
    "idr": "idris"
  },
  "file_icons": {
    "idris": { "path": "./icons/idris.svg" },
    "make": { "path": "./icons/make.svg" }
  }
}
```

When loading an icon theme, the `file_stems` and `file_icons` fields
will be merged with the ones from the base icon theme, with the values
from the icon theme being loaded overriding ones in the base theme.

Release Notes:

- Added the ability for icon themes to provide their own file
associations.
2025-02-15 00:35:13 +00:00
..
ai.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
archive.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
astro.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
audio.svg Improve audio files icon (#21441) 2024-12-03 00:40:46 -03:00
book.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
bun.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
c.svg Icons for js, c, cc, h, jsx, and tsx file types (#11116) 2024-04-27 21:24:54 -06:00
camera.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
chevron_down.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
chevron_left.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
chevron_right.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
chevron_up.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
code.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
coffeescript.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
conversations.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
cpp.svg Properly register new icons (#11132) 2024-04-28 10:43:10 -04:00
css.svg Add new CSS logo (#22382) 2024-12-23 21:42:39 +00:00
dart.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
database.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
diff.svg Add language icons to the language selector (#21298) 2024-12-02 15:01:09 -03:00
docker.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
elixir.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
elm.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
erlang.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
eslint.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
file.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
folder.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
folder_open.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
font.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
fsharp.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
git.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
gleam.svg Update Gleam icon (#19978) 2024-10-30 15:29:32 -04:00
go.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
graphql.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
hash.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
haskell.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
hcl.svg Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529) 2024-10-22 16:03:58 -04:00
heroku.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
html.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
image.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
info.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
java.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
javascript.svg Properly register new icons (#11132) 2024-04-28 10:43:10 -04:00
julia.svg Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529) 2024-10-22 16:03:58 -04:00
kotlin.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
lock.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
lua.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
magnifying_glass.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
metal.svg Add metal icon (#21720) 2024-12-12 15:23:20 -08:00
nim.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
nix.svg Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529) 2024-10-22 16:03:58 -04:00
notebook.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
ocaml.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
package.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
phoenix.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
php.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
plus.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
prettier.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
prisma.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
project.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
python.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
r.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
react.svg Icons for js, c, cc, h, jsx, and tsx file types (#11116) 2024-04-27 21:24:54 -06:00
replace.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
replace_all.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
replace_next.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
roc.svg Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529) 2024-10-22 16:03:58 -04:00
ruby.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
rust.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
sass.svg Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529) 2024-10-22 16:03:58 -04:00
scala.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
settings.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
swift.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
tcl.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
terminal.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
terraform.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
toml.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
typescript.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
v.svg Add V file icon (#20017) 2024-12-02 10:51:28 -03:00
video.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
vue.svg Update to UI and Framework Icons (#9468) 2024-03-18 10:59:19 -04:00
zig.svg Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529) 2024-10-22 16:03:58 -04:00