From d368b8d406ed75df255f8eca20f117ca578ede89 Mon Sep 17 00:00:00 2001 From: Andrew Prentice Date: Sun, 29 Jan 2017 14:27:17 -0500 Subject: [PATCH] fix(configuration): missing command aliases --- bin/commands/configuration/get.js | 2 +- bin/commands/configuration/init.js | 2 +- bin/commands/configuration/set.js | 2 +- src/commands/configuration/get.js | 1 + src/commands/configuration/init.js | 1 + src/commands/configuration/set.js | 1 + 6 files changed, 6 insertions(+), 3 deletions(-) diff --git a/bin/commands/configuration/get.js b/bin/commands/configuration/get.js index 63f15d3..8a03085 100644 --- a/bin/commands/configuration/get.js +++ b/bin/commands/configuration/get.js @@ -1 +1 @@ -'use strict';var themes=require('../../themes');var tools=require('../../tools');var chalk=require('chalk');var dot=require('dotty');var noon=require('noon');var CFILE=process.env.HOME+'/.leximaven.noon';exports.command='get ';exports.desc='Retrieve a config value';exports.builder={};exports.handler=function(argv){var key=argv.key;var value=null;tools.checkConfig(CFILE);var config=noon.load(CFILE);var theme=themes.loadTheme(config.theme);if(config.verbose)themes.label(theme,'down','Configuration');if(dot.exists(config,key)){value=/\./i.test(key)?dot.get(config,key):config[key];}else{throw new Error('Option '+key+' not found.');}console.log('Option '+chalk.white.bold(key)+' is '+chalk.white.bold(value)+'.');}; \ No newline at end of file +'use strict';var themes=require('../../themes');var tools=require('../../tools');var chalk=require('chalk');var dot=require('dotty');var noon=require('noon');var CFILE=process.env.HOME+'/.leximaven.noon';exports.command='get ';exports.aliases=['g'];exports.desc='Retrieve a config value';exports.builder={};exports.handler=function(argv){var key=argv.key;var value=null;tools.checkConfig(CFILE);var config=noon.load(CFILE);var theme=themes.loadTheme(config.theme);if(config.verbose)themes.label(theme,'down','Configuration');if(dot.exists(config,key)){value=/\./i.test(key)?dot.get(config,key):config[key];}else{throw new Error('Option '+key+' not found.');}console.log('Option '+chalk.white.bold(key)+' is '+chalk.white.bold(value)+'.');}; \ No newline at end of file diff --git a/bin/commands/configuration/init.js b/bin/commands/configuration/init.js index 1fb5ffa..a26f439 100644 --- a/bin/commands/configuration/init.js +++ b/bin/commands/configuration/init.js @@ -1 +1 @@ -'use strict';var themes=require('../../themes');var chalk=require('chalk');var fs=require('fs');var noon=require('noon');var os=require('os');var CFILE=process.env.HOME+'/.leximaven.noon';var PKGDIR=process.env.NODE_PATH+'/leximaven/';exports.command='init';exports.desc='Initialize config file';exports.builder={force:{alias:'f',desc:'Force overwriting configuration file',default:false,type:'boolean'}};exports.handler=function(argv){var obj=null;var configExists=null;var dirExists=null;try{fs.statSync('default.config.noon');configExists=true;}catch(e){if(e.code==='ENOENT')configExists=false;}if(configExists){obj=noon.load('default.config.noon');}else{try{fs.statSync(PKGDIR);dirExists=true;}catch(e){if(e.code==='ENOENT'){dirExists=false;}}if(dirExists){obj=noon.load(PKGDIR+'default.config.noon');}else{throw new Error('Package dir not found, set NODE_PATH per documentation.');}}obj.dmuse.date.stamp=new Date().toJSON();obj.onelook.date.stamp=new Date().toJSON();obj.rbrain.date.stamp=new Date().toJSON();obj.wordnik.date.stamp=new Date().toJSON();var fileExists=null;try{fs.statSync(CFILE);fileExists=true;}catch(e){if(e.code==='ENOENT'){fileExists=false;}}if(fileExists){if(argv.f){var _config=noon.load(CFILE);obj.dmuse.date.stamp=_config.dmuse.date.stamp;obj.dmuse.date.remain=_config.dmuse.date.remain;obj.onelook.date.stamp=_config.onelook.date.stamp;obj.onelook.date.remain=_config.onelook.date.remain;obj.rbrain.date.stamp=_config.rbrain.date.stamp;obj.rbrain.date.remain=_config.rbrain.date.remain;obj.wordnik.date.stamp=_config.wordnik.date.stamp;obj.wordnik.date.remain=_config.wordnik.date.remain;noon.save(CFILE,obj);console.log('Overwrote '+chalk.white.bold(CFILE)+'.');}else{console.log('Using configuration at '+chalk.white.bold(CFILE)+'.');}}else if(!fileExists){noon.save(CFILE,obj);console.log('Created '+chalk.white.bold(CFILE)+'.');}var config=noon.load(CFILE);var theme=themes.loadTheme(config.theme);if(os.platform()==='windows')themes.label(theme,'right','Notice','Please see the README for best user experience on Windows.');if(argv.v){themes.label(theme,'down','Configuration');console.log('Your current configuration is:');console.log(noon.stringify(config,{indent:2,align:true,maxalign:32,sort:true,colors:true}));console.log('');}}; \ No newline at end of file +'use strict';var themes=require('../../themes');var chalk=require('chalk');var fs=require('fs');var noon=require('noon');var os=require('os');var CFILE=process.env.HOME+'/.leximaven.noon';var PKGDIR=process.env.NODE_PATH+'/leximaven/';exports.command='init';exports.aliases=['i'];exports.desc='Initialize config file';exports.builder={force:{alias:'f',desc:'Force overwriting configuration file',default:false,type:'boolean'}};exports.handler=function(argv){var obj=null;var configExists=null;var dirExists=null;try{fs.statSync('default.config.noon');configExists=true;}catch(e){if(e.code==='ENOENT')configExists=false;}if(configExists){obj=noon.load('default.config.noon');}else{try{fs.statSync(PKGDIR);dirExists=true;}catch(e){if(e.code==='ENOENT'){dirExists=false;}}if(dirExists){obj=noon.load(PKGDIR+'default.config.noon');}else{throw new Error('Package dir not found, set NODE_PATH per documentation.');}}obj.dmuse.date.stamp=new Date().toJSON();obj.onelook.date.stamp=new Date().toJSON();obj.rbrain.date.stamp=new Date().toJSON();obj.wordnik.date.stamp=new Date().toJSON();var fileExists=null;try{fs.statSync(CFILE);fileExists=true;}catch(e){if(e.code==='ENOENT'){fileExists=false;}}if(fileExists){if(argv.f){var _config=noon.load(CFILE);obj.dmuse.date.stamp=_config.dmuse.date.stamp;obj.dmuse.date.remain=_config.dmuse.date.remain;obj.onelook.date.stamp=_config.onelook.date.stamp;obj.onelook.date.remain=_config.onelook.date.remain;obj.rbrain.date.stamp=_config.rbrain.date.stamp;obj.rbrain.date.remain=_config.rbrain.date.remain;obj.wordnik.date.stamp=_config.wordnik.date.stamp;obj.wordnik.date.remain=_config.wordnik.date.remain;noon.save(CFILE,obj);console.log('Overwrote '+chalk.white.bold(CFILE)+'.');}else{console.log('Using configuration at '+chalk.white.bold(CFILE)+'.');}}else if(!fileExists){noon.save(CFILE,obj);console.log('Created '+chalk.white.bold(CFILE)+'.');}var config=noon.load(CFILE);var theme=themes.loadTheme(config.theme);if(os.platform()==='windows')themes.label(theme,'right','Notice','Please see the README for best user experience on Windows.');if(argv.v){themes.label(theme,'down','Configuration');console.log('Your current configuration is:');console.log(noon.stringify(config,{indent:2,align:true,maxalign:32,sort:true,colors:true}));console.log('');}}; \ No newline at end of file diff --git a/bin/commands/configuration/set.js b/bin/commands/configuration/set.js index 407909f..c0c967f 100644 --- a/bin/commands/configuration/set.js +++ b/bin/commands/configuration/set.js @@ -1 +1 @@ -'use strict';var themes=require('../../themes');var tools=require('../../tools');var chalk=require('chalk');var dot=require('dotty');var noon=require('noon');var CFILE=process.env.HOME+'/.leximaven.noon';exports.command='set ';exports.desc='Set a config value';exports.builder={};exports.handler=function(argv){var key=argv.key;var value=argv.value;value=tools.checkBoolean(value);tools.checkConfig(CFILE);var config=noon.load(CFILE);var theme=themes.loadTheme(config.theme);if(config.verbose)themes.label(theme,'down','Configuration');if(dot.exists(config,key)){if(/\./i.test(key)){if(/^\w*\.date/i.test(key)){throw new Error("API limits hardcoded, can't set this key.");}else{dot.put(config,key,value);}}else{config[key]=value;}}else{throw new Error('Option '+key+' not found.');}noon.save(CFILE,config);console.log('Set option '+chalk.white.bold(key)+' to '+chalk.white.bold(value)+'.');}; \ No newline at end of file +'use strict';var themes=require('../../themes');var tools=require('../../tools');var chalk=require('chalk');var dot=require('dotty');var noon=require('noon');var CFILE=process.env.HOME+'/.leximaven.noon';exports.command='set ';exports.aliases=['s'];exports.desc='Set a config value';exports.builder={};exports.handler=function(argv){var key=argv.key;var value=argv.value;value=tools.checkBoolean(value);tools.checkConfig(CFILE);var config=noon.load(CFILE);var theme=themes.loadTheme(config.theme);if(config.verbose)themes.label(theme,'down','Configuration');if(dot.exists(config,key)){if(/\./i.test(key)){if(/^\w*\.date/i.test(key)){throw new Error("API limits hardcoded, can't set this key.");}else{dot.put(config,key,value);}}else{config[key]=value;}}else{throw new Error('Option '+key+' not found.');}noon.save(CFILE,config);console.log('Set option '+chalk.white.bold(key)+' to '+chalk.white.bold(value)+'.');}; \ No newline at end of file diff --git a/src/commands/configuration/get.js b/src/commands/configuration/get.js index 02113f8..6c1f291 100644 --- a/src/commands/configuration/get.js +++ b/src/commands/configuration/get.js @@ -8,6 +8,7 @@ const noon = require('noon') const CFILE = `${process.env.HOME}/.leximaven.noon` exports.command = 'get ' +exports.aliases = ['g'] exports.desc = 'Retrieve a config value' exports.builder = {} exports.handler = (argv) => { diff --git a/src/commands/configuration/init.js b/src/commands/configuration/init.js index fc742f4..8a11b41 100644 --- a/src/commands/configuration/init.js +++ b/src/commands/configuration/init.js @@ -9,6 +9,7 @@ const CFILE = `${process.env.HOME}/.leximaven.noon` const PKGDIR = `${process.env.NODE_PATH}/leximaven/` exports.command = 'init' +exports.aliases = ['i'] exports.desc = 'Initialize config file' exports.builder = { force: { diff --git a/src/commands/configuration/set.js b/src/commands/configuration/set.js index b069187..841a0a2 100644 --- a/src/commands/configuration/set.js +++ b/src/commands/configuration/set.js @@ -8,6 +8,7 @@ const noon = require('noon') const CFILE = `${process.env.HOME}/.leximaven.noon` exports.command = 'set ' +exports.aliases = ['s'] exports.desc = 'Set a config value' exports.builder = {} exports.handler = (argv) => {