This commit is contained in:
Andrey Anurin
2016-05-16 23:46:33 -07:00
commit 916d13f93e
412 changed files with 37846 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
Node.js
=======
Provides utility functions for [Node.js][1], loads the Node Version Manager, and
enables [npm][2] completion.
nvm
---
[nvm][5] allows for managing multiple, isolated Node.js installations in the
home directory.
Functions
---------
- `node-doc` opens the Node.js online [API documentation][3] in the default
browser.
- `node-info` exposes information about the Node.js environment via the
`$node_info` associative array.
Theming
-------
To display the version number of the current Node.js version, define the
following style inside the `prompt_name_setup` function.
# %v - Node.js version.
zstyle ':prezto:module:node:info:version' format 'version:%v'
Then add `$node_info[version]` to either `$PROMPT` or `$RPROMPT` and call
`node-info` in `prompt_name_preexec` hook function.
Authors
-------
*The authors of this module should be contacted via the [issue tracker][4].*
- [Sorin Ionescu](https://github.com/sorin-ionescu)
- [Zeh Rizzatti](https://github.com/zehrizzatti)
[1]: http://nodejs.org
[2]: http://npmjs.org
[3]: http://nodejs.org/api
[4]: https://github.com/sorin-ionescu/prezto/issues
[5]: https://github.com/creationix/nvm

View File

@@ -0,0 +1,14 @@
#
# Opens the Node.js online API documentation in the default browser.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
if [[ -z "$BROWSER" ]]; then
print "$0: no web browser defined" >&2
return 1
fi
# TODO: Make the sections easier to use.
"$BROWSER" "http://nodejs.org/docs/$(node --version | sed 's/-.*//')/api/all.html#${1}"

View File

@@ -0,0 +1,24 @@
#
# Exposes information about the Node.js environment via the $node_info
# associative array.
#
# Authors:
# Zeh Rizzatti <zehrizzatti@gmail.com>
#
local version
local version_format
local version_formatted
unset node_info
typeset -gA node_info
if (( $+functions[nvm_version] )); then
version="${$(nvm_version)#v}"
fi
if [[ "$version" != (none|) ]]; then
zstyle -s ':prezto:module:node:info:version' format 'version_format'
zformat -f version_formatted "$version_format" "v:$version"
node_info[version]="$version_formatted"
fi

View File

@@ -0,0 +1,34 @@
#
# Loads the Node Version Manager and enables npm completion.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
# Zeh Rizzatti <zehrizzatti@gmail.com>
#
# Load manually installed NVM into the shell session.
if [[ -s "$HOME/.nvm/nvm.sh" ]]; then
source "$HOME/.nvm/nvm.sh"
# Load package manager installed NVM into the shell session.
elif (( $+commands[brew] )) && [[ -d "$(brew --prefix nvm 2>/dev/null)" ]]; then
source $(brew --prefix nvm)/nvm.sh
# Return if requirements are not found.
elif (( ! $+commands[node] )); then
return 1
fi
# Load NPM completion.
if (( $+commands[npm] )); then
cache_file="${0:h}/cache.zsh"
if [[ "$commands[npm]" -nt "$cache_file" || ! -s "$cache_file" ]]; then
# npm is slow; cache its output.
npm completion >! "$cache_file" 2> /dev/null
fi
source "$cache_file"
unset cache_file
fi