I'm afraid this is not really possible. All icons are part of the Javascript that creates the SVG's dynamically with layers based on extensions. Even if you could hack the minified Javascript and self-host it, it would be a complicated operation ... This isn't just SVG files that are loaded into place ... It's dynamically generated SVG icons, part of the Files application interface.
I think the only way to achieve something like that would be to hack it via CSS _files/css/custom.css
. Example:
/* hide the existing SVG for .html files */
[data-name="*.html"] .svg-file {
opacity: 0;
}
/* add a custom background to .html elements */
[data-name="*.html"] {
background-image: url('/path/to/my-custom-icon.svg');
/* you will likely need more background styles here to set the background to display correctly */
}
You may also need to tweak it on a per-layout basis, or there might be a better way to do it, but it would have to be done by CSS.