diff options
Diffstat (limited to 'plugins/osx')
| -rw-r--r-- | plugins/osx/_man-preview | 5 | ||||
| -rw-r--r-- | plugins/osx/osx.plugin.zsh | 102 | 
2 files changed, 100 insertions, 7 deletions
diff --git a/plugins/osx/_man-preview b/plugins/osx/_man-preview new file mode 100644 index 000000000..6cc344ad4 --- /dev/null +++ b/plugins/osx/_man-preview @@ -0,0 +1,5 @@ +#compdef man-preview +#autoload + +_man + diff --git a/plugins/osx/osx.plugin.zsh b/plugins/osx/osx.plugin.zsh index fce88c796..682bb2667 100644 --- a/plugins/osx/osx.plugin.zsh +++ b/plugins/osx/osx.plugin.zsh @@ -1,11 +1,99 @@ +# ------------------------------------------------------------------------------ +#          FILE:  osx.plugin.zsh +#   DESCRIPTION:  oh-my-zsh plugin file. +#        AUTHOR:  Sorin Ionescu (sorin.ionescu@gmail.com) +#       VERSION:  1.0.1 +# ------------------------------------------------------------------------------ + +  function tab() { +  local command="cd \\\"$PWD\\\"" +  (( $# > 0 )) && command="${command}; $*" + +  the_app=$( +    osascript 2>/dev/null <<EOF +      tell application "System Events" +        name of first item of (every process whose frontmost is true) +      end tell +EOF +  ) + +  [[ "$the_app" == 'Terminal' ]] && { +    osascript 2>/dev/null <<EOF +      tell application "System Events" +        tell process "Terminal" to keystroke "t" using command down +        tell application "Terminal" to do script "${command}" in front window +      end tell +EOF +  } + +  [[ "$the_app" == 'iTerm' ]] && { +    osascript 2>/dev/null <<EOF +      tell application "iTerm" +        set current_terminal to current terminal +        tell current_terminal +          launch session "Default Session" +          set current_session to current session +          tell current_session +            write text "${command}" +          end tell +        end tell +      end tell +EOF +  } +} + +function pfd() {    osascript 2>/dev/null <<EOF -    tell application "System Events" -      tell process "Terminal" to keystroke "t" using command down -    end -    tell application "Terminal" -      activate -      do script with command "cd \"$PWD\"; $*" in window 1 +    tell application "Finder" +      return POSIX path of (target of window 1 as alias)      end tell  EOF -}
\ No newline at end of file +} + +function pfs() { +  osascript 2>/dev/null <<EOF +    set output to "" +    tell application "Finder" to set the_selection to selection +    set item_count to count the_selection +    repeat with item_index from 1 to count the_selection +      if item_index is less than item_count then set the_delimiter to "\n" +      if item_index is item_count then set the_delimiter to "" +      set output to output & ((item item_index of the_selection as alias)'s POSIX path) & the_delimiter +    end repeat +EOF +} + +function cdf() { +  cd "$(pfd)" +} + +function pushdf() { +  pushd "$(pfd)" +} + +function quick-look() { +  (( $# > 0 )) && qlmanage -p $* &>/dev/null & +} + +function man-preview() { +  man -t "$@" | open -f -a Preview +} + +function trash() { +  local trash_dir="${HOME}/.Trash" +  local temp_ifs=$IFS +  IFS=$'\n' +  for item in "$@"; do +    if [[ -e "$item" ]]; then +      item_name="$(basename $item)" +      if [[ -e "${trash_dir}/${item_name}" ]]; then +        mv -f "$item" "${trash_dir}/${item_name} $(date "+%H-%M-%S")" +      else +        mv -f "$item" "${trash_dir}/" +      fi +    fi +  done +  IFS=$temp_ifs +} +  | 
