From 44968b0b9ae494ee0353b8c2de44f62453ed29e8 Mon Sep 17 00:00:00 2001 From: Chen Houwu Date: Thu, 26 Dec 2013 21:39:30 +0800 Subject: [PATCH] add nodeenv-prompt plugin --- plugins/nodeenv-prompt/README.md | 35 +++++++++++++++++++ .../nodeenv-prompt/nodeenv-prompt.plugin.zsh | 18 ++++++++++ 2 files changed, 53 insertions(+) create mode 100644 plugins/nodeenv-prompt/README.md create mode 100644 plugins/nodeenv-prompt/nodeenv-prompt.plugin.zsh diff --git a/plugins/nodeenv-prompt/README.md b/plugins/nodeenv-prompt/README.md new file mode 100644 index 000000000..5ededeb69 --- /dev/null +++ b/plugins/nodeenv-prompt/README.md @@ -0,0 +1,35 @@ +oh-my-zsh::plugin::nodeenv-prompt +==================================== + +This is a plugin derived from +[virtualenv prompt](https://github.com/tonyseek/oh-my-zsh-virtualenv-prompt). +It support to customize the +[nodeenv](https://github.com/ekalinin/nodeenv) +prompt in oh-my-zsh themes. + +Installation +------------ + +You can install this plugin from shell: + + repo="git://github.com/chenhouwu/oh-my-zsh-nodeenv-prompt.git" + target="$HOME/.oh-my-zsh/custom/plugins/nodeenv-prompt" + + git clone $repo $target + + +Customize Theme +--------------- + +There are two constant strings which could be overrided in your custom theme. + +- `ZSH_THEME_NODEENV_PROMPT_PREFIX` +- `ZSH_THEME_NODEENV_PROMPT_SUFFIX` + +And the function `nodeenv_prompt_info` could be used in the prompt of your +theme. + +Example +------- + +See the [oh-my-zsh::theme::seeker](https://github.com/tonyseek/oh-my-zsh-seeker-theme). diff --git a/plugins/nodeenv-prompt/nodeenv-prompt.plugin.zsh b/plugins/nodeenv-prompt/nodeenv-prompt.plugin.zsh new file mode 100644 index 000000000..8d4bde03a --- /dev/null +++ b/plugins/nodeenv-prompt/nodeenv-prompt.plugin.zsh @@ -0,0 +1,18 @@ +export NODE_VIRTUAL_ENV_DISABLE_PROMPT=1 + +ZSH_THEME_NODEENV_PROMPT_PREFIX="(" +ZSH_THEME_NODEENV_PROMPT_SUFFIX=")" + +function nodeenv_prompt_info() { + if [ -n "$NODE_VIRTUAL_ENV" ]; then + + if [ "`basename "$NODE_VIRTUAL_ENV"`" = "__" ] ; then + # special case for Aspen magic directories + # see http://www.zetadev.com/software/aspen/ + local name="[`basename \`dirname "$NODE_VIRTUAL_ENV"\``]" + else + local name=`basename "$NODE_VIRTUAL_ENV"` + fi + echo "$ZSH_THEME_NODEENV_PROMPT_PREFIX$name$ZSH_THEME_NODEENV_PROMPT_SUFFIX" + fi +}