Giter Club home page Giter Club logo

bash-echolorized's Introduction

Script IO: Pretty and minimal bash output

This library helps you write prettier bash scripts for CI/CD, git hooks, ...

Installation

You can require the package via composer for PHP projects, or npm/yarn for Browser/Node projects.

composer require --dev barthy-koeln/bash-echolorized
yarn add -D bash-echolorized

Importing & usage

If this package is required via composer:

#!/usr/bin/env bash

DIR=$(realpath "$(dirname "${BASH_SOURCE[0]}")")

# if required via composer
source "$DIR/vendor/bin/echolorized"

# if required via yarn/npm
source "$DIR/node_modules/.bin/echolorized"

Basic usage:

e_info "Checking Twig Code"
e_success "All done"
e_warning "Careful!"
e_error "That did NOT work."

Output:

Baisc usage output

Advanced usage (git pre-commit example):

colored_output "$GREEN" "\n[EXECUTING PRE COMMIT HOOK]"
e_info "USE ${YELLOW}git commit -n -m 'your message'${RESET} to bypass these checks."
echo -e ''

e_info "Checking YAML config"

if ! "$DIR/console" --quiet lint:yaml config; then
  e_error "Error in YAML config. Run ${YELLOW}bin/console lint:yaml${RESET} to check.\n"
  exit 1
fi

e_success "All good, staging additional changes.\n"
git update-index --again

Output:

Advanced usage output with error Advanced usage output with success


tagged_output "$YELLOW" "BUILD" "Fetching dependencies"
tagged_output "$YELLOW" "BUILD" "Building bundles"
tagged_output "$YELLOW" "BUILD" "Making binaries executable"
tagged_output "$GREEN" "TEST" "Tests are green" " "

tagged_output "$RED" "¯\_(ツ)_/¯" "Dunno..?\n" "\n"

tagged_output "$YELLOW" "DIRECTORY" "src"
tagged_output "$GREEN" "FILE" "README.md" "\t"
tagged_output "$GREEN" "FILE" "package.json" "\t"
tagged_output "$GREEN" "FILE" "composer.json" "\t"

Output:

Advanced usage output with error

Methods:

colored_output() {
  # $1: Color
  # $2: Text
}
tagged_output() {
  # $1: Color
  # $2: Tag
  # $3: After tag
  # $4: Before tag (tabs, newlines, ...)
}

bash-echolorized's People

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.