-
-
Save Number-3434/184b74e1bf11758855f52ef1c076717e to your computer and use it in GitHub Desktop.
Icon Theme support for File Browser VS Code Extension
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!-- Copyright (C) Microsoft Corporation. All rights reserved. --> | |
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8" /> | |
<meta | |
http-equiv="Content-Security-Policy" | |
content=" | |
default-src | |
'none' | |
; | |
img-src | |
'self' | |
data: | |
blob: | |
vscode-remote-resource: | |
vscode-managed-remote-resource: | |
https: | |
; | |
media-src | |
'self' | |
; | |
frame-src | |
'self' | |
vscode-webview: https://*.vscode-webview-test.com; | |
; | |
object-src | |
'self' | |
; | |
script-src | |
'self' | |
'unsafe-eval' | |
'unsafe-inline' | |
blob: | |
; | |
style-src | |
'self' | |
'unsafe-inline' | |
; | |
connect-src | |
'self' | |
https: | |
ws: | |
; | |
font-src | |
'self' | |
vscode-remote-resource: | |
vscode-managed-remote-resource: | |
https://*.vscode-unpkg.net | |
; | |
require-trusted-types-for | |
'script' | |
; | |
trusted-types | |
amdLoader | |
cellRendererEditorText | |
defaultWorkerFactory | |
diffEditorWidget | |
diffReview | |
domLineBreaksComputer | |
dompurify | |
editorGhostText | |
editorViewLayer | |
notebookRenderer | |
stickyScrollViewLayer | |
tokenizeToString | |
; | |
" | |
/> | |
</head> | |
<body aria-label=""></body> | |
<script> | |
//# sourceMappingURL=https://ticino.blob.core.windows.net/sourcemaps/ea3859d4ba2f3e577a159bc91e3074c5d85c0523/core/vs/code/electron-browser/workbench/workbench.js.map | |
/* | |
* arrive.js | |
* v2.4.1 | |
* https://github.com/uzairfarooq/arrive | |
* MIT licensed | |
* | |
* Copyright (c) 2014-2017 Uzair Farooq | |
*/ | |
var Arrive = (function (e, t, n) { | |
"use strict"; | |
function r(e, t, n) { | |
l.addMethod(t, n, e.unbindEvent), | |
l.addMethod(t, n, e.unbindEventWithSelectorOrCallback), | |
l.addMethod(t, n, e.unbindEventWithSelectorAndCallback); | |
} | |
function i(e) { | |
(e.arrive = f.bindEvent), r(f, e, "unbindArrive"), (e.leave = d.bindEvent), r(d, e, "unbindLeave"); | |
} | |
if (e.MutationObserver && "undefined" != typeof HTMLElement) { | |
var o = 0, | |
l = (function () { | |
var t = | |
HTMLElement.prototype.matches || | |
HTMLElement.prototype.webkitMatchesSelector || | |
HTMLElement.prototype.mozMatchesSelector || | |
HTMLElement.prototype.msMatchesSelector; | |
return { | |
matchesSelector: function (e, n) { | |
return e instanceof HTMLElement && t.call(e, n); | |
}, | |
addMethod: function (e, t, r) { | |
var i = e[t]; | |
e[t] = function () { | |
return r.length == arguments.length ? r.apply(this, arguments) : "function" == typeof i ? i.apply(this, arguments) : n; | |
}; | |
}, | |
callCallbacks: function (e, t) { | |
t && t.options.onceOnly && 1 == t.firedElems.length && (e = [e[0]]); | |
for (var n, r = 0; (n = e[r]); r++) n && n.callback && n.callback.call(n.elem, n.elem); | |
t && | |
t.options.onceOnly && | |
1 == t.firedElems.length && | |
t.me.unbindEventWithSelectorAndCallback.call(t.target, t.selector, t.callback); | |
}, | |
checkChildNodesRecursively: function (e, t, n, r) { | |
for (var i, o = 0; (i = e[o]); o++) | |
n(i, t, r) && r.push({ callback: t.callback, elem: i }), | |
i.childNodes.length > 0 && l.checkChildNodesRecursively(i.childNodes, t, n, r); | |
}, | |
mergeArrays: function (e, t) { | |
var n, | |
r = {}; | |
for (n in e) e.hasOwnProperty(n) && (r[n] = e[n]); | |
for (n in t) t.hasOwnProperty(n) && (r[n] = t[n]); | |
return r; | |
}, | |
toElementsArray: function (t) { | |
return n === t || ("number" == typeof t.length && t !== e) || (t = [t]), t; | |
}, | |
}; | |
})(), | |
c = (function () { | |
var e = function () { | |
(this._eventsBucket = []), (this._beforeAdding = null), (this._beforeRemoving = null); | |
}; | |
return ( | |
(e.prototype.addEvent = function (e, t, n, r) { | |
var i = { target: e, selector: t, options: n, callback: r, firedElems: [] }; | |
return this._beforeAdding && this._beforeAdding(i), this._eventsBucket.push(i), i; | |
}), | |
(e.prototype.removeEvent = function (e) { | |
for (var t, n = this._eventsBucket.length - 1; (t = this._eventsBucket[n]); n--) | |
if (e(t)) { | |
this._beforeRemoving && this._beforeRemoving(t); | |
var r = this._eventsBucket.splice(n, 1); | |
r && r.length && (r[0].callback = null); | |
} | |
}), | |
(e.prototype.beforeAdding = function (e) { | |
this._beforeAdding = e; | |
}), | |
(e.prototype.beforeRemoving = function (e) { | |
this._beforeRemoving = e; | |
}), | |
e | |
); | |
})(), | |
a = function (t, r) { | |
var i = new c(), | |
o = this, | |
a = { fireOnAttributesModification: !1 }; | |
return ( | |
i.beforeAdding(function (n) { | |
var i, | |
l = n.target; | |
(l === e.document || l === e) && (l = document.getElementsByTagName("html")[0]), | |
(i = new MutationObserver(function (e) { | |
r.call(this, e, n); | |
})); | |
var c = t(n.options); | |
i.observe(l, c), (n.observer = i), (n.me = o); | |
}), | |
i.beforeRemoving(function (e) { | |
e.observer.disconnect(); | |
}), | |
(this.bindEvent = function (e, t, n) { | |
t = l.mergeArrays(a, t); | |
for (var r = l.toElementsArray(this), o = 0; o < r.length; o++) i.addEvent(r[o], e, t, n); | |
}), | |
(this.unbindEvent = function () { | |
var e = l.toElementsArray(this); | |
i.removeEvent(function (t) { | |
for (var r = 0; r < e.length; r++) if (this === n || t.target === e[r]) return !0; | |
return !1; | |
}); | |
}), | |
(this.unbindEventWithSelectorOrCallback = function (e) { | |
var t, | |
r = l.toElementsArray(this), | |
o = e; | |
(t = | |
"function" == typeof e | |
? function (e) { | |
for (var t = 0; t < r.length; t++) if ((this === n || e.target === r[t]) && e.callback === o) return !0; | |
return !1; | |
} | |
: function (t) { | |
for (var i = 0; i < r.length; i++) if ((this === n || t.target === r[i]) && t.selector === e) return !0; | |
return !1; | |
}), | |
i.removeEvent(t); | |
}), | |
(this.unbindEventWithSelectorAndCallback = function (e, t) { | |
var r = l.toElementsArray(this); | |
i.removeEvent(function (i) { | |
for (var o = 0; o < r.length; o++) | |
if ((this === n || i.target === r[o]) && i.selector === e && i.callback === t) return !0; | |
return !1; | |
}); | |
}), | |
this | |
); | |
}, | |
s = function () { | |
function e(e) { | |
var t = { attributes: !1, childList: !0, subtree: !0 }; | |
return e.fireOnAttributesModification && (t.attributes = !0), t; | |
} | |
function t(e, t) { | |
e.forEach(function (e) { | |
var n = e.addedNodes, | |
i = e.target, | |
o = []; | |
null !== n && n.length > 0 | |
? l.checkChildNodesRecursively(n, t, r, o) | |
: "attributes" === e.type && r(i, t, o) && o.push({ callback: t.callback, elem: i }), | |
l.callCallbacks(o, t); | |
}); | |
} | |
function r(e, t) { | |
return l.matchesSelector(e, t.selector) && (e._id === n && (e._id = o++), -1 == t.firedElems.indexOf(e._id)) | |
? (t.firedElems.push(e._id), !0) | |
: !1; | |
} | |
var i = { fireOnAttributesModification: !1, onceOnly: !1, existing: !1 }; | |
f = new a(e, t); | |
var c = f.bindEvent; | |
return ( | |
(f.bindEvent = function (e, t, r) { | |
n === r ? ((r = t), (t = i)) : (t = l.mergeArrays(i, t)); | |
var o = l.toElementsArray(this); | |
if (t.existing) { | |
for (var a = [], s = 0; s < o.length; s++) | |
for (var u = o[s].querySelectorAll(e), f = 0; f < u.length; f++) a.push({ callback: r, elem: u[f] }); | |
if (t.onceOnly && a.length) return r.call(a[0].elem, a[0].elem); | |
setTimeout(l.callCallbacks, 1, a); | |
} | |
c.call(this, e, t, r); | |
}), | |
f | |
); | |
}, | |
u = function () { | |
function e() { | |
var e = { childList: !0, subtree: !0 }; | |
return e; | |
} | |
function t(e, t) { | |
e.forEach(function (e) { | |
var n = e.removedNodes, | |
i = []; | |
null !== n && n.length > 0 && l.checkChildNodesRecursively(n, t, r, i), l.callCallbacks(i, t); | |
}); | |
} | |
function r(e, t) { | |
return l.matchesSelector(e, t.selector); | |
} | |
var i = {}; | |
d = new a(e, t); | |
var o = d.bindEvent; | |
return ( | |
(d.bindEvent = function (e, t, r) { | |
n === r ? ((r = t), (t = i)) : (t = l.mergeArrays(i, t)), o.call(this, e, t, r); | |
}), | |
d | |
); | |
}, | |
f = new s(), | |
d = new u(); | |
t && i(t.fn), | |
i(HTMLElement.prototype), | |
i(NodeList.prototype), | |
i(HTMLCollection.prototype), | |
i(HTMLDocument.prototype), | |
i(Window.prototype); | |
var h = {}; | |
return r(f, h, "unbindAllArrive"), r(d, h, "unbindAllLeave"), h; | |
} | |
})(window, "undefined" == typeof jQuery ? null : jQuery, void 0); | |
const styleSheet = document.createElement("style", { type: "text/css" }); | |
styleSheet.innerText = ` | |
.monaco-icon-label.codicon::before { | |
height: initial !important; | |
padding: 0 !important; | |
}`; | |
document.head.appendChild(styleSheet); | |
/** | |
* @param {HTMLElement} element | |
*/ | |
const addClasses = (element) => { | |
const filename = (element.parentElement.parentElement || element.parentElement).innerText.trim(); | |
if (!filename) return; | |
const extension = filename.split(".").pop(); | |
const dotfile = filename.startsWith(".") ? filename.substr(1) : ""; | |
element.classList.add( | |
extension + "-lang-file-icon", | |
filename + "-name-file-icon", | |
"file-icon", | |
"monaco-icon-label", | |
"config.js-ext-file-icon", | |
"ext-file-icon", | |
extension + "-ext-file-icon", | |
dotfile + "-ext-file-icon" | |
); | |
}; | |
document.arrive(".quick-input-list .codicon.codicon-file", function () { | |
addClasses(this); | |
}); | |
document.arrive(".quick-input-list .codicon.codicon-folder", function () { | |
this.classList.add("monaco-icon-label", "folder-icon"); | |
}); | |
</script> | |
<!-- Startup via workbench.js --> | |
<script src="workbench.js"></script> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment