Add file icons for Zig, Julia, SCSS, HCL, Nix, and Roc (#19529)

Derek Briggs and Marshall Bowers created

Release Notes:

- Added file icons for Zig, Julia, SCSS, HCL, Nix, and Roc files.

<img width="733" alt="image"
src="https://github.com/user-attachments/assets/37602be7-173f-40d1-8177-3d35b11d4208">

---------

Co-authored-by: Marshall Bowers <elliott.codes@gmail.com>

Change summary

assets/icons/file_icons/file_types.json | 25 +++++++++++++++++++++++++
assets/icons/file_icons/hcl.svg         |  1 +
assets/icons/file_icons/julia.svg       |  5 +++++
assets/icons/file_icons/nix.svg         |  8 ++++++++
assets/icons/file_icons/roc.svg         |  7 +++++++
assets/icons/file_icons/sass.svg        |  1 +
assets/icons/file_icons/zig.svg         |  5 +++++
7 files changed, 52 insertions(+)

Detailed changes

assets/icons/file_icons/file_types.json 🔗

@@ -65,6 +65,7 @@
     "h": "c",
     "handlebars": "code",
     "hbs": "template",
+    "hcl": "hcl",
     "heex": "elixir",
     "heic": "image",
     "heif": "image",
@@ -89,6 +90,7 @@
     "json": "storage",
     "jsonc": "storage",
     "jsx": "react",
+    "julia": "julia",
     "jxl": "image",
     "kt": "kotlin",
     "ldf": "storage",
@@ -116,6 +118,7 @@
     "myd": "storage",
     "myi": "storage",
     "nim": "nim",
+    "nix": "nix",
     "nu": "terminal",
     "odp": "document",
     "ods": "document",
@@ -143,12 +146,15 @@
     "rb": "ruby",
     "rebar.config": "erlang",
     "rkt": "code",
+    "roc": "roc",
     "rs": "rust",
     "rtf": "document",
+    "sass": "sass",
     "sav": "storage",
     "sc": "scala",
     "scala": "scala",
     "scm": "code",
+    "scss": "sass",
     "sdf": "storage",
     "sh": "terminal",
     "sql": "storage",
@@ -182,6 +188,7 @@
     "yaml": "settings",
     "yml": "settings",
     "yrl": "erlang",
+    "zig": "zig",
     "zlogin": "terminal",
     "zsh": "terminal",
     "zsh_aliases": "terminal",
@@ -266,6 +273,9 @@
     "haskell": {
       "icon": "icons/file_icons/haskell.svg"
     },
+    "hcl": {
+      "icon": "icons/file_icons/hcl.svg"
+    },
     "heroku": {
       "icon": "icons/file_icons/heroku.svg"
     },
@@ -278,6 +288,9 @@
     "javascript": {
       "icon": "icons/file_icons/javascript.svg"
     },
+    "julia": {
+      "icon": "icons/file_icons/julia.svg"
+    },
     "kotlin": {
       "icon": "icons/file_icons/kotlin.svg"
     },
@@ -293,6 +306,9 @@
     "nim": {
       "icon": "icons/file_icons/nim.svg"
     },
+    "nix": {
+      "icon": "icons/file_icons/nix.svg"
+    },
     "ocaml": {
       "icon": "icons/file_icons/ocaml.svg"
     },
@@ -317,12 +333,18 @@
     "react": {
       "icon": "icons/file_icons/react.svg"
     },
+    "roc": {
+      "icon": "icons/file_icons/roc.svg"
+    },
     "ruby": {
       "icon": "icons/file_icons/ruby.svg"
     },
     "rust": {
       "icon": "icons/file_icons/rust.svg"
     },
+    "sass": {
+      "icon": "icons/file_icons/sass.svg"
+    },
     "scala": {
       "icon": "icons/file_icons/scala.svg"
     },
@@ -361,6 +383,9 @@
     },
     "vue": {
       "icon": "icons/file_icons/vue.svg"
+    },
+    "zig": {
+      "icon": "icons/file_icons/zig.svg"
     }
   }
 }

assets/icons/file_icons/julia.svg 🔗

@@ -0,0 +1,5 @@
+<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+<circle cx="8" cy="5" r="2.75" fill="black"/>
+<circle cx="4.75" cy="11" r="2.75" fill="black" fill-opacity="0.5"/>
+<circle cx="11.25" cy="11" r="2.75" fill="black" fill-opacity="0.75"/>
+</svg>

assets/icons/file_icons/nix.svg 🔗

@@ -0,0 +1,8 @@
+<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M6.00005 4.76556L4.76569 2.74996M6.00005 4.76556L3.75 4.76563M6.00005 4.76556L7.25006 4.7656" stroke="black" stroke-width="1.5" stroke-linecap="round"/>
+<path d="M10.0232 11.2311L11.2675 13.2406M10.0232 11.2311L12.2732 11.2199M10.0232 11.2311L8.7732 11.2373" stroke="black" stroke-opacity="0.5" stroke-width="1.5" stroke-linecap="round"/>
+<path d="M9.99025 4.91551L10.9985 2.77781M9.99025 4.91551L8.75599 3.03419M9.99025 4.91551L10.6759 5.9607" stroke="black" stroke-opacity="0.5" stroke-width="1.5" stroke-linecap="round"/>
+<path d="M6.0323 11.1009L5.03465 13.2436M6.0323 11.1009L7.27585 12.9761M6.0323 11.1009L5.34151 10.0592" stroke="black" stroke-width="1.5" stroke-linecap="round"/>
+<path d="M11.883 8.19023L14.2466 8.19287M11.883 8.19023L13.0602 6.27268M11.883 8.19023L11.229 9.25547" stroke="black" stroke-width="1.5" stroke-linecap="round"/>
+<path d="M4.12354 7.8356L1.76002 7.84465M4.12354 7.8356L2.95585 9.75894M4.12354 7.8356L4.7723 6.76713" stroke="black" stroke-opacity="0.5" stroke-width="1.5" stroke-linecap="round"/>
+</svg>

assets/icons/file_icons/roc.svg 🔗

@@ -0,0 +1,7 @@
+<svg width="17" height="16" viewBox="0 0 17 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M5.51497 2.02702L1.92042 1.95067C1.69543 1.94589 1.57917 2.21756 1.73796 2.37702L6.24865 6.9068C6.42388 7.08277 6.72071 6.92326 6.67067 6.68002L5.75454 2.22659C5.73103 2.11231 5.63161 2.02949 5.51497 2.02702Z" fill="black" fill-opacity="0.5"/>
+<path d="M8.05816 7.38492L12.1366 8.02844C12.3704 8.06532 12.5198 7.78697 12.3599 7.61255L7.30439 2.09814C7.13336 1.91159 6.82522 2.06811 6.87499 2.31624L7.852 7.18714C7.87257 7.28971 7.95483 7.36862 8.05816 7.38492Z" fill="black"/>
+<path d="M9.0952 10.9797L11.3824 9.35081C11.564 9.22151 11.4983 8.93722 11.2785 8.90058L8.496 8.43683C8.31974 8.40746 8.17047 8.56712 8.21162 8.74101L8.70689 10.8337C8.74777 11.0064 8.95062 11.0827 9.0952 10.9797Z" fill="black" fill-opacity="0.5"/>
+<path d="M5.10282 13.9632L7.59108 12.4532C7.68331 12.3972 7.72923 12.2884 7.70498 12.1832L6.75736 8.07484C6.699 7.8218 6.34133 7.81448 6.27266 8.06491L4.73201 13.6834C4.67223 13.9014 4.90954 14.0805 5.10282 13.9632Z" fill="black"/>
+<path d="M11.3183 4.89351L13.1588 7.03149L15.535 6.14302C15.7099 6.07761 15.754 5.85043 15.6161 5.72438L13.7222 3.99219L11.4546 4.48614C11.2695 4.52645 11.1947 4.74995 11.3183 4.89351Z" fill="black"/>
+</svg>

assets/icons/file_icons/zig.svg 🔗

@@ -0,0 +1,5 @@
+<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M14.25 12H11C10.794 12 10.6764 11.7648 10.8 11.6L11.925 10.1C11.9722 10.037 12.0463 10 12.125 10H12.75C12.8881 10 13 9.88807 13 9.75V6.25C13 6.11193 12.8881 6 12.75 6H12.4045C12.2187 6 12.0978 5.80442 12.1809 5.6382L12.9309 4.1382C12.9732 4.0535 13.0598 4 13.1545 4H14.25C14.3881 4 14.5 4.11193 14.5 4.25V11.75C14.5 11.8881 14.3881 12 14.25 12Z" fill="black"/>
+<path d="M1.75 4H5C5.20601 4 5.32361 4.23519 5.2 4.4L4.075 5.9C4.02779 5.96295 3.95369 6 3.875 6H3.25C3.11193 6 3 6.11193 3 6.25V9.75C3 9.88807 3.11193 10 3.25 10H3.59549C3.78134 10 3.90221 10.1956 3.8191 10.3618L3.0691 11.8618C3.02675 11.9465 2.94018 12 2.84549 12H1.75C1.61193 12 1.5 11.8881 1.5 11.75V4.25C1.5 4.11193 1.61193 4 1.75 4Z" fill="black"/>
+<path d="M7.55748 6H5.95006C5.74177 6 5.62482 5.76022 5.75306 5.59609L6.92493 4.09609C6.97231 4.03544 7.04498 4 7.12194 4H9.93075C9.97607 4 10.0205 3.98769 10.0594 3.96437L11.6408 3.0155C11.8641 2.88154 12.1179 3.13555 11.9837 3.3587L8.22612 9.6083C8.12629 9.77433 8.24508 9.98591 8.43881 9.98712L10.0039 9.9969C10.2092 9.99818 10.3255 10.2327 10.2023 10.3969L9.075 11.9C9.02779 11.963 8.95369 12 8.875 12H6.55383C6.51835 12 6.48328 12.0076 6.45094 12.0222L4.32473 12.9824C4.10122 13.0833 3.88113 12.8356 4.00771 12.6255L7.77161 6.37903C7.87201 6.2124 7.75202 6 7.55748 6Z" fill="black"/>
+</svg>