mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-07-01 18:39:26 +00:00
Compare commits
4 Commits
belak/zdeb
...
pull/628-e
Author | SHA1 | Date | |
---|---|---|---|
9ab6ab0d66 | |||
0a3d29ce5e | |||
366cadecf0 | |||
3debe8bdf6 |
11
modules/explainshell/README.md
Normal file
11
modules/explainshell/README.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#Explainshell
|
||||||
|
|
||||||
|
Adds a keybinding and a function to open
|
||||||
|
[explainshell.com](http://www.explainshell.com) with the content of the command
|
||||||
|
line.
|
||||||
|
|
||||||
|
##Settings
|
||||||
|
###Key-Binding
|
||||||
|
The keybinding to open [explainshell.com](http://www.explainshell.com)
|
||||||
|
|
||||||
|
`zstyle ':prezto:module:explainshell' key-binding '^K'`
|
63
modules/explainshell/init.zsh
Normal file
63
modules/explainshell/init.zsh
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
#
|
||||||
|
# Adds a explain function and explainshell widget
|
||||||
|
#
|
||||||
|
# Authors
|
||||||
|
# C Lentfort
|
||||||
|
#
|
||||||
|
|
||||||
|
function _expand_alias_recursive {
|
||||||
|
local _alias
|
||||||
|
for word in "$@"; do
|
||||||
|
# Check if word is aliased
|
||||||
|
_alias=$aliases[$word]
|
||||||
|
if [ -n "$_alias" ]; then
|
||||||
|
# Check if found alias and given command are identical
|
||||||
|
if [[ "$_alias" != "${(j: :)@}" ]]; then
|
||||||
|
_expand_alias_recursive "${(z)_alias}"
|
||||||
|
else
|
||||||
|
_explainshell_expanded_buffer+=$1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
_explainshell_expanded_buffer+=$word
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function explain {
|
||||||
|
local url
|
||||||
|
# We don't explain empty buffers
|
||||||
|
if (( $# == 0 )); then
|
||||||
|
return 1;
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Replace aliases with their actual expansions
|
||||||
|
_explainshell_expanded_buffer=()
|
||||||
|
_expand_alias_recursive $@
|
||||||
|
_explainshell_expanded_buffer=(${(u)_explainshell_expanded_buffer})
|
||||||
|
# base url with first command already injected
|
||||||
|
# $ explain tar
|
||||||
|
# => http://explainshel.com/explain/tar?args=
|
||||||
|
url="http://explainshell.com/explain?cmd="
|
||||||
|
|
||||||
|
# iterates over remaining args and adds builds the rest of the url
|
||||||
|
for i in "$_explainshell_expanded_buffer"; do
|
||||||
|
url=$url"$i""+"
|
||||||
|
done
|
||||||
|
|
||||||
|
unset _explainshell_expanded_buffer
|
||||||
|
# opens url in browser
|
||||||
|
$BROWSER -t $url &> /dev/null
|
||||||
|
}
|
||||||
|
|
||||||
|
function explainshell {
|
||||||
|
explain ${(z)BUFFER}
|
||||||
|
}
|
||||||
|
|
||||||
|
zle -N explainshell
|
||||||
|
|
||||||
|
zstyle -s ':prezto:module:explainshell' key-binding 'key_binding'
|
||||||
|
if [[ -n "$key_binding" ]]; then
|
||||||
|
bindkey "$key_binding" explainshell
|
||||||
|
fi
|
||||||
|
|
||||||
|
unset key_binding
|
@ -28,6 +28,9 @@ elif (( $+commands[chruby-exec] )); then
|
|||||||
source "${commands[chruby-exec]:h:h}/share/chruby/chruby.sh"
|
source "${commands[chruby-exec]:h:h}/share/chruby/chruby.sh"
|
||||||
if zstyle -t ':prezto:module:ruby:chruby' auto-switch; then
|
if zstyle -t ':prezto:module:ruby:chruby' auto-switch; then
|
||||||
source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh"
|
source "${commands[chruby-exec]:h:h}/share/chruby/auto.sh"
|
||||||
|
|
||||||
|
# If a default Ruby is set, switch to it.
|
||||||
|
chruby_auto
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Prepend local gems bin directories to PATH.
|
# Prepend local gems bin directories to PATH.
|
||||||
|
@ -4,7 +4,8 @@ SSH
|
|||||||
Provides for an easier use of [SSH][1] by setting up [ssh-agent][2].
|
Provides for an easier use of [SSH][1] by setting up [ssh-agent][2].
|
||||||
|
|
||||||
This module is disabled on Mac OS X due to custom Apple SSH support rendering it
|
This module is disabled on Mac OS X due to custom Apple SSH support rendering it
|
||||||
unnecessary.
|
unnecessary. Use `ssh-add -K` to store identities in Keychain; they will be
|
||||||
|
added to `ssh-agent` automatically and persist between reboots.
|
||||||
|
|
||||||
Settings
|
Settings
|
||||||
--------
|
--------
|
||||||
|
Reference in New Issue
Block a user