Flannel

Bash Looks Better In Plaid

Download .zip Download .tar.gz View on GitHub

Flannel - Bash Looks Better in Plaid

This is a modular bash framework for sharing common scripts between your friends and fellow coders!

This is opinionated code! Chances are if what your doing doesn't fit in here, you can easily re factor it to play nice.

This is just a beginning of a project, note that we haven't reached beta yet, we haven't even reached a version number! This will use semantic versions with tagged releases when we get there. Nothing revolutionary should change to the usage API but I'm making no promises yet!

There is also a proof of concept environment variable manager for visual effects inspired by @odgrim. @odgrim did the ground work on auto completion and prompt as well as inspired this whole project / provided the specs and use cases for environment manager proof of concept.

For a more developer oriented overview see the developers markdown. In general the more complex modules should have an associated README.md with them, for example vfx, pather, fuzzy_plaid.

Manifesto

  1. If you do it twice, automate it
  2. Nice code is nice, automation is nicer, make pretty a secondary concern
  3. improve over time
  4. share lots. :)

Installation

OSX/Unix/Linux: ( one liner sources in bash_profile )

git clone git@github.com:fuag15/flannel ~/.flannel && echo "[[ -s ~/.flannel/init.bash ]] && . ~/.flannel/init.bash" >> ~/.bash_profile && . ~/.bash_profile

Windows: ( look into power shell? glhf )

I could provide a power shell conversion of this if there is interest. Let me know if you'd like to see one.

Chekcing out a store

Flannels basic module sharing system is thrift, it allows you to clone named / versioned git repos into contrib. The main thrift store is located at

fuag15/thrift.

To fetch this store:

thrift_fetch git@github.com:fuag15/thrift fuag15 thrift

Basic Usage

Once Installed the important functions are vest - load a module and jacket - load default config, named config, local configs.

Vest currently supports a form of auto complete.

vest: vest module_path_glob [options]

vest contrib/fuag15/thrift/prompt

jacket: jacket [named config]

jacket # will reload ~/.flannelrc and any ./.plaid_patch files
jacket work # will reload ~/.flannelrc then  ~/.work.flannelrc then any ./.plaid_patch files

More Documentation / References