Giter Club home page Giter Club logo

buildenv's Introduction

Writing an environment: Place it in environments//_load.sh When unloaded, it will execute environments//_teardown.sh Add hooks to environments//.sh

Extensions

Extensions are small plugins for buildenv that provide extra functionality, such as prompt information, support for other buildsystems, environment variables, etc.

To enable an extension, edit $BUILDENV_HOME/config/$USER.sh and add the following:

buildenv_load_extension extension-name

Available extensions:

vim

pkgconfig

cmake

git

autojump

autocomplete

prompt

Available hooks:

Special hooks:

Hooks that begin with an underscore handle special events that affect a single buildenv or extension.

_load Called once, when the environment or extension is loaded. A great place to define any library functions needed.

_teardown Called once, when the environment or extension is unloaded. A great place to run any cleanup code, such as undefining functions.

Normal hooks

These hooks represent various events in the buildenv system.

buildenv-loaded A new buildenv is loaded

buildenv-unloaded A buildenv is unloaded

buildenv-changed The current 'master' buildenv is changed

init Buildenv is completely loaded

report Called from within buildenv_report.

restore-all _buildenv_restore_all is about to restore the environment to original values

load-config A configuration is activated.

firstrun 'buildenv' was executed for the first time. Useful for any kind of initialization you'd otherwise want to delay until you know the user will be actually using buildenv.

prompt Whenever the shell prompt is regenerated. WARNING: This function needs to be pretty much instant, as bash does not show the prompt 'till it is done.

Update Mechanism

There is a rudimentary update mechanism that assumes $BUILDENV_HOME is a git repository, originally cloned from somewhere (has an 'origin' remote).

To use, run buildenv_update

buildenv's People

Contributors

tdfischer avatar

Watchers

 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.