Load customizing files in which chain style options are written.
Install customizer
with npm:
$ npm install --save customizer
var Customizer = require('customizer');
var customizer = new Customizer();
customizer.customized.colors = {
help: {
title: black,
command: {
name: 'blue',
description: 'black',
option: {
name: 'magenta',
description: 'black',
},
},
},
};
customizer.makeCustomizable();
(~/.apprc file)
colors.help.title = 'cyan';
colors.help.command.description = 'white';
colors.help.command.option.description = 'gray';
var filepath = path.resolve(os.homedir(), '.apprc');
customizer.customize(filepath, function(e) {
if (e.notfound) {
console.error('File not found: ' + e.file));
} else if (e.readerror) {
console.error('Error in file: ' + e.file + ' : ' + e.cause.message));
}
});
customizer.enumerated.colors = function(key, color) {
console.log(key + ' = "' + color + '"');
};
customizer.enumerated.colors.before = function() {
console.log('// Color mapping');
};
customizer.enumerated.colors.after = function() {
console.log();
};
customizer.enumerate();
(console output)
// Color mapping
colors.help.command.description = "gray"
colors.help.command.name = "blue"
colors.help.command.option.description = "gray"
colors.help.command.option.name = "blue"
A customizable option tree.
A user defined function which lists a pair of a option key and a option value.
A user defined function which outputs something before a option.
A user defined function which outputs something after a option.
Makes user specified options customizable. This function is needed to execute before using customizer.customize
function.
Loads a customizing file.
- filepath : string -- a customizing file path.
- errCb : function(e : object) --- a callback function for errors.
If filepath
was not found, e.notfound
is true
. If loading filepath
was failed, e.readerror
is true
. You can get filepath
with e.file
. And you can get the error object with e.cause
.
Lists customizable options. To set the format of the list, define customizer.enumerate[optname]/.before/.after
functions.
Copyright (C) 2016 Takayuki Sato
This program is free software under MIT License. See the file LICENSE in this distribution for mode details.