diff --git a/Readme.md b/Readme.md index 084506f..87efb52 100644 --- a/Readme.md +++ b/Readme.md @@ -89,4 +89,5 @@ Copyright (c) 2014 Jonathan Wiesel # Contributors :heart: -* [claui](https://github.com/claui) \ No newline at end of file +* [claui](https://github.com/claui) +* [@danielbayley](https://github.com/danielbayley) diff --git a/cmds/install.js b/cmds/install.js index dd56470..fb818c1 100644 --- a/cmds/install.js +++ b/cmds/install.js @@ -6,6 +6,7 @@ module.exports = function(program) { program .command('install ') + .alias('i') .description('Install specified workflow.') .action(function(bundleID, options){ diff --git a/cmds/list.js b/cmds/list.js index 97aff2c..fcdc779 100644 --- a/cmds/list.js +++ b/cmds/list.js @@ -7,6 +7,7 @@ module.exports = function(program) { program .command('list') + .alias('ls') .description('List installed workflows.') .action(function(){ diff --git a/cmds/remove.js b/cmds/remove.js index aee29de..d2b8bf8 100644 --- a/cmds/remove.js +++ b/cmds/remove.js @@ -6,6 +6,7 @@ module.exports = function(program) { program .command('remove ') + .alias('rm') .description('Remove specified workflow.') .action(function(bundleID, options){ diff --git a/lib/awm.js b/lib/awm.js index 986c284..8ee23b7 100644 --- a/lib/awm.js +++ b/lib/awm.js @@ -14,9 +14,8 @@ var exec = require('child_process').exec; var PACKAL_URL = 'https://raw.github.com/packal/repository/master/'; var MANIFEST_URL = PACKAL_URL + 'manifest.xml'; -var LOCAL_STORAGE_DIR = process.env.HOME + '/.awm/'; -var manifestFile = LOCAL_STORAGE_DIR + 'manifest.json'; -var cacheDir = LOCAL_STORAGE_DIR + 'cached/'; +var cacheDir = process.env.AWM_CACHE || process.env.HOME + '/Library/Caches/awm/'; +var manifestFile = cacheDir + 'manifest.json'; var fetchAndParseManifest = function(callback) { @@ -225,11 +224,9 @@ var getWorkflowDir = function(bundleId, callback) { var getAlfredPreference = function(callback){ - var alfredPref = process.env.HOME + '/Library/Preferences/com.runningwithcrayons.Alfred-Preferences.plist'; + var alfredPref = process.env.HOME + '/Library/Preferences/com.runningwithcrayons.Alfred-Preferences*.plist'; - var alfredNewStyle = process.env.HOME + '/Library/Preferences/com.runningwithcrayons.Alfred-Preferences-NewStyle.plist'; - - exec('plutil -convert xml1 ' + alfredPref + ' -o ' + alfredNewStyle, function(error){ + exec('plutil -convert xml1 ' + alfredPref + ' -o -', function(error, data){ if(error){ console.error(('Cannot convert Alfred base preference file : \n' + error).red); @@ -237,9 +234,9 @@ var getAlfredPreference = function(callback){ }else{ - var prefFile = plist.parse(fs.readFileSync(alfredNewStyle, 'utf8')); + var prefs = plist.parse(data); - var location = (prefFile.syncfolder === undefined) ? process.env.HOME + '/Library/Application Support/Alfred 2' : prefFile.syncfolder.replace('~', process.env.HOME); + var location = (prefs.syncfolder === undefined) ? process.env.HOME + '/Library/Application Support/Alfred 3' : prefs.syncfolder.replace('~', process.env.HOME); callback(location + '/Alfred.alfredpreferences/workflows/'); } @@ -255,7 +252,6 @@ module.exports = { getWorkflowDir: getWorkflowDir, config: { packalUrl: PACKAL_URL, - directory: LOCAL_STORAGE_DIR, cacheDir: cacheDir, manifest: manifestFile, getAlfredPreference: getAlfredPreference diff --git a/scripts/cleanup.js b/scripts/cleanup.js index 0205cff..b2f9507 100644 --- a/scripts/cleanup.js +++ b/scripts/cleanup.js @@ -3,5 +3,5 @@ var awm = require('../lib/awm'); var fs = require('fs-extra'); -fs.removeSync(awm.config.directory); +fs.removeSync(awm.config.cacheDir); process.exit(); diff --git a/scripts/init.js b/scripts/init.js index 3b85407..fc81a07 100644 --- a/scripts/init.js +++ b/scripts/init.js @@ -1,13 +1,10 @@ 'use strict'; var awm = require('../lib/awm'); -var fs = require('fs'); +var fs = require('fs-extra'); -if (!fs.existsSync(awm.config.directory)) { - fs.mkdirSync(awm.config.directory); - if(!fs.existsSync(awm.config.cacheDir)){ - fs.mkdirSync(awm.config.cacheDir); - } +if (!fs.existsSync(awm.config.cacheDir)) { + fs.mkdirpSync(awm.config.cacheDir); } awm.fetchAndParseManifest(function(jsManifest){