diff --git a/icons/ferret_icon.svg b/icons/ferret_icon.svg
new file mode 100644
index 0000000000..292b9b7a4a
--- /dev/null
+++ b/icons/ferret_icon.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/ferret_lockfile.svg b/icons/ferret_lockfile.svg
new file mode 100644
index 0000000000..6d1c3997b9
--- /dev/null
+++ b/icons/ferret_lockfile.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/icons/ferret_manifest.svg b/icons/ferret_manifest.svg
new file mode 100644
index 0000000000..49d871ae8e
--- /dev/null
+++ b/icons/ferret_manifest.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/core/icons/fileIcons.ts b/src/core/icons/fileIcons.ts
index 1e921f9467..ce83833d23 100644
--- a/src/core/icons/fileIcons.ts
+++ b/src/core/icons/fileIcons.ts
@@ -19,6 +19,12 @@ export const fileIcons: FileIcons = {
name: 'markdown',
fileExtensions: ['md', 'markdown', 'rst'],
},
+ { name: 'ferret_icon', fileExtensions: ['fer', 'ferret'] },
+ { name: 'ferret_manifest', fileNames: ['fer.ret'] },
+ {
+ name: 'ferret_lockfile',
+ fileNames: ['ferret.lock'],
+ },
{ name: 'blink', fileExtensions: ['blink'], light: true },
{ name: 'css', fileExtensions: ['css'] },
{ name: 'sass', fileExtensions: ['scss', 'sass'] },
diff --git a/src/core/icons/languageIcons.ts b/src/core/icons/languageIcons.ts
index 2d6d97a51e..708d8d915f 100644
--- a/src/core/icons/languageIcons.ts
+++ b/src/core/icons/languageIcons.ts
@@ -22,6 +22,9 @@ export const languageIcons: LanguageIcon[] = [
{ name: 'toml', light: true, ids: ['toml'] },
{ name: 'diff', ids: ['diff'] },
{ name: 'json', ids: ['json', 'jsonl', 'jsonc', 'json5'] },
+ { name: 'ferret_icon', ids: ['ferret'] },
+ { name: 'ferret_manifest', ids: ['ferret-ret'] },
+ { name: 'ferret_lockfile', ids: ['ferret-lock'] },
{ name: 'blink', ids: ['blink'] },
{ name: 'java', ids: ['java'] },
{ name: 'razor', ids: ['razor', 'aspnetcorerazor'] },