hyper-folder-icon
Advanced tools
Comparing version 1.2.1 to 1.3.0
@@ -6,2 +6,3 @@ const Icns = require('apple-icns'); | ||
const winIco = require('./windows').default; | ||
const gnomeIcon = require('./gnome'); | ||
@@ -22,2 +23,3 @@ const RESOURCEFORK = 'rf'; | ||
class AbstractFile { | ||
constructor(folder) { | ||
@@ -54,2 +56,4 @@ | ||
case 'linux': | ||
this.type = GNOME; | ||
break; | ||
default: | ||
@@ -81,6 +85,6 @@ break; | ||
resolve(_buffer); | ||
resolve({buffer:_buffer,format:'image/png'}); | ||
}); | ||
} else { | ||
resolve('Icon not found'); | ||
reject('Icon not found'); | ||
} | ||
@@ -194,6 +198,12 @@ | ||
case GNOME: | ||
return new Promise((resolve,reject) => { | ||
gnomeIcon(this.folder) | ||
.then((img) => resolve(img)) | ||
.catch((err) => reject(err)); | ||
}); | ||
break; | ||
case WINDOWS: | ||
return new Promise((resolve,reject) => { | ||
winIco(this.folder) | ||
.then((png) => resolve(png)) | ||
.then((png) => resolve({buffer:png,format:'image/png'})) | ||
.catch((err) => reject(err)); | ||
@@ -200,0 +210,0 @@ }); |
15
index.js
@@ -47,4 +47,7 @@ const iconFinder = require('./iconfinder').iconFinder; | ||
iconFinder(realPath) | ||
.then(icon => resolve(Buffer.from(icon).toString('base64'))) | ||
.catch(error => reject(defaultIcon)); | ||
.then(icon => resolve({ | ||
buffer: Buffer.from(icon.buffer).toString('base64'), | ||
format:icon.format | ||
})) | ||
.catch(error => reject({buffer: defaultIcon, format: "image/png" })); | ||
} | ||
@@ -92,3 +95,3 @@ }); | ||
this.state = { | ||
iconData: defaultIcon, | ||
iconData: {buffer: defaultIcon, format: "image/png" }, | ||
cwd: rcwd | ||
@@ -112,3 +115,3 @@ }; | ||
className: 'folder_icon', | ||
src:"data:image/png;base64," + this.state.iconData | ||
src:"data:" + this.state.iconData.format + ";base64," + this.state.iconData.buffer | ||
}) | ||
@@ -159,3 +162,3 @@ ) | ||
this.state = { | ||
iconData: defaultIcon, | ||
iconData: {buffer: defaultIcon, format: "image/png" }, | ||
cwd: rcwd | ||
@@ -221,3 +224,3 @@ }; | ||
className: 'folder_icon', | ||
src:"data:image/png;base64," + this.state.iconData | ||
src:"data:" + this.state.iconData.format + ";base64," + this.state.iconData.buffer | ||
}) | ||
@@ -224,0 +227,0 @@ ) |
{ | ||
"name": "hyper-folder-icon", | ||
"version": "1.2.1", | ||
"version": "1.3.0", | ||
"description": "Use folder icons in MacOS and Windows with Hyper", | ||
@@ -26,4 +26,6 @@ "main": "./index.js", | ||
"decode-ico": "^0.2.1", | ||
"gvfs-meta-node": "^0.1.1", | ||
"ini-config-parser": "^1.0.3", | ||
"jimp": "^0.2.28", | ||
"mime-types": "^2.1.18", | ||
"plist": "^3.0.1", | ||
@@ -30,0 +32,0 @@ "resourceforkjs": "0.0.4" |
@@ -18,2 +18,6 @@ hyper-folder-icon | ||
# Features for Linux/gnome | ||
- Show custom GNOME icon from gvfs metadata | ||
## Optional Configuration keys | ||
@@ -20,0 +24,0 @@ |
18964
468
37
8
+ Addedgvfs-meta-node@^0.1.1
+ Addedmime-types@^2.1.18
+ Addedgvfs-meta-node@0.1.2(transitive)