Code coverage report for lib/builder.js

Statements: 81.82% (9 / 11)      Branches: 100% (0 / 0)      Functions: 0% (0 / 1)      Lines: 81.82% (9 / 11)      Ignored: none     

All files » lib/ » builder.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82                                                      1 1   1 1 1 1         1                     1                                                               1
//
// 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 colorize = require('./colorize');
 
var user = require('./partials/user');
var hostname = require('./partials/hostname');
var cwd = require('./partials/cwd');
var git = require('./partials/git');
 
/**
 * @namespace bashprompt.builder
 */
var builder = {};
 
 
 
/**
 * Builds Bash prompt
 *
 * {@link bashprompt.builder.build}
 *
 * @param cback {function} - Callback function executed once the prompt is built
 */
builder.build = function (cback) {
    'use strict';
 
    // TODO
    // * Add git.
    // git.branchInfo(function (err, branchName) {
    //     if (!err && branchName) {
    //         prompt.push(colorize.format(' ', 238, 236));
    //         prompt.push(colorize.format(branchName.name, 248, 236));
    //         prompt.push(colorize.format(' ', 248, 236));
    //         prompt.push(colorize.format('', 236, 0));
    //     } else {
    //         prompt.push(colorize.format('', 238, 0));
    //     }
    //     cback(prompt);
    // });
    var context = {
        start_space: colorize.format(' ', 233, 243),
        username: colorize.format(user.username(), 233, 243),
        arroba: colorize.format('@', 233, 243),
        hostname: colorize.format(hostname.shortHostname(), 233, 243),
        hostname_space: colorize.format(' ', 233, 243),
        hostname_arrow: colorize.format(' ', 243, 238),
        path: colorize.format(cwd.currentWorkDirectory(), 248, 238),
        path_space: colorize.format(' ', 248, 238),
        path_arrow: colorize.format('', 238, 0)
    };
 
    return context;
};
 
/** @module bashprompt/builder */
module.exports = builder;