bashprompt
Version:
A bash prompt framework in node.js
157 lines (125 loc) • 5.73 kB
HTML
<html lang="en">
<head>
<meta charset="utf-8">
<title>JSDoc: Source: cli.js</title>
<script src="scripts/prettify/prettify.js"> </script>
<script src="scripts/prettify/lang-css.js"> </script>
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link type="text/css" rel="stylesheet" href="styles/prettify-tomorrow.css">
<link type="text/css" rel="stylesheet" href="styles/jsdoc-default.css">
</head>
<body>
<div id="main">
<h1 class="page-title">Source: cli.js</h1>
<section>
<article>
<pre class="prettyprint source"><code>//
// BEGIN LICENSE BLOCK
//
// The MIT License (MIT)
//
// Copyright (c) 2014 Raül Pérez
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of
// this software and associated documentation files (the "Software"), to deal in
// the Software without restriction, including without limitation the rights to
// use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
// the Software, and to permit persons to whom the Software is furnished to do so,
// subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all
// copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// END LICENSE BLOCK
//
var template = require('./theme/template');
var context = require('./theme/context');
/**
* @namespace bashprompt.cli
*/
var cli = {};
/**
* Run CLI
*
* {@link bashprompt.cli.run}
*/
cli.run = function () {
'use strict';
var program = require('nomnom');
// Command Build
program.command('build')
.help('Build Bash prompt')
.callback(function () {
var tpl_source = '';
tpl_source += '{{start_space:233,243}}';
tpl_source += '{{username:233,243}}';
tpl_source += '{{at:233,243}}';
tpl_source += '{{hostname:233,243}}';
tpl_source += '{{hostname_space_start:233,243}}';
tpl_source += '{{hostname_arrow:243,238}}';
tpl_source += '{{hostname_space_end:233,238}}';
tpl_source += '{{path:248,238}}';
tpl_source += '{{path_space:248,238}}';
tpl_source += '{{path_arrow:238,236}}';
tpl_source += '{{git_space_start:248,236}}';
tpl_source += '{{git_branch_name:248,236}}';
tpl_source += '{{git_space_end:248,236}}';
tpl_source += '{{git_arrow:236,0}}';
tpl_source += '{{end_space:236,0}}';
var tpl_context = context.build();
var tpl_compiled = template.compile(tpl_source, tpl_context);
var res = template.render(tpl_compiled);
process.stdout.write(res);
}
);
// Option --version
program.option('version', {
full: 'version',
flag: true,
help: 'Show version number',
callback: function () {
return require('../package.json').version;
}
});
// Option --verbose / -v
program.option('verbose', {
abbr: 'v',
full: 'verbose',
flag: true,
help: 'Verbose mode ( more info on what is doing )'
});
// Option --help / -h
program.option('help', {
abbr: 'h',
full: 'help',
flag: true,
help: 'Display this info and exit'
});
program.parse();
};
/** @module bashprompt/cli */
module.exports = cli;</code></pre>
</article>
</section>
</div>
<nav>
<h2><a href="index.html">Index</a></h2><h3>Modules</h3><ul><li><a href="module-bashprompt.html">bashprompt</a></li><li><a href="cli.html">bashprompt/cli</a></li><li><a href="colorize.html">bashprompt/colorize</a></li><li><a href="context.html">bashprompt/context</a></li><li><a href="cwd.html">bashprompt/partials/cwd</a></li><li><a href="git.html">bashprompt/partials/git</a></li><li><a href="hostname.html">bashprompt/partials/hostname</a></li><li><a href="shell.html">bashprompt/partials/shell</a></li><li><a href="user.html">bashprompt/partials/user</a></li><li><a href="theme.html">bashprompt/theme</a></li><li><a href="template.html">bashprompt/theme/template</a></li></ul><h3>Namespaces</h3><ul><li><a href="bashprompt.html">bashprompt</a></li><li><a href="bashprompt.cli.html">cli</a></li><li><a href="bashprompt.colorize.html">colorize</a></li><li><a href="bashprompt.context.html">context</a></li><li><a href="bashprompt.partials.html">partials</a></li><li><a href="bashprompt.partials.cwd.html">cwd</a></li><li><a href="bashprompt.partials.git.html">git</a></li><li><a href="bashprompt.partials.hostname.html">hostname</a></li><li><a href="bashprompt.partials.shell.html">shell</a></li><li><a href="bashprompt.partials.user.html">user</a></li><li><a href="bashprompt.theme.html">theme</a></li><li><a href="bashprompt.theme.template.html">template</a></li></ul>
</nav>
<br clear="both">
<footer>
Documentation generated by <a href="https://github.com/jsdoc3/jsdoc">JSDoc 3.2.2</a> on Sun Feb 23 2014 18:54:28 GMT+0100 (CET)
</footer>
<script> prettyPrint(); </script>
<script src="scripts/linenumber.js"> </script>
</body>
</html>