init
This commit is contained in:
45
.zprezto/modules/node/README.md
Normal file
45
.zprezto/modules/node/README.md
Normal 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
|
14
.zprezto/modules/node/functions/node-doc
Normal file
14
.zprezto/modules/node/functions/node-doc
Normal 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}"
|
24
.zprezto/modules/node/functions/node-info
Normal file
24
.zprezto/modules/node/functions/node-info
Normal 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
|
34
.zprezto/modules/node/init.zsh
Normal file
34
.zprezto/modules/node/init.zsh
Normal 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
|
Reference in New Issue
Block a user