mirror of
https://github.com/dcarrillo/prezto.git
synced 2025-06-14 23:01:42 +00:00
Moved hub into the git plugin.
This commit is contained in:
10
plugins/osx/README.md
Normal file
10
plugins/osx/README.md
Normal file
@ -0,0 +1,10 @@
|
||||
Provides the following commands.
|
||||
|
||||
- `tab` create a new tab (works in both _Terminal_ and _iTerm_).
|
||||
- `pfd` print current _Finder_ directory.
|
||||
- `pfs` print current _Finder_ selection.
|
||||
- `cdf` cd to current _Finder_ directory.
|
||||
- `pushdf` pushd to current _Finder_ directory.
|
||||
- `ql` quick look at files.
|
||||
- `manp` Open MAN pages in _Preview.app_.
|
||||
- `trash` Move files and folders to _Trash_.
|
@ -1,5 +0,0 @@
|
||||
#compdef man-preview
|
||||
#autoload
|
||||
|
||||
_man
|
||||
|
6
plugins/osx/functions/pfd
Normal file
6
plugins/osx/functions/pfd
Normal file
@ -0,0 +1,6 @@
|
||||
osascript 2>/dev/null <<EOF
|
||||
tell application "Finder"
|
||||
return POSIX path of (target of window 1 as alias)
|
||||
end tell
|
||||
EOF
|
||||
|
11
plugins/osx/functions/pfs
Normal file
11
plugins/osx/functions/pfs
Normal file
@ -0,0 +1,11 @@
|
||||
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
|
||||
|
34
plugins/osx/functions/tab
Normal file
34
plugins/osx/functions/tab
Normal file
@ -0,0 +1,34 @@
|
||||
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
|
||||
}
|
13
plugins/osx/functions/trash
Normal file
13
plugins/osx/functions/trash
Normal file
@ -0,0 +1,13 @@
|
||||
local trash_dir="${HOME}/.Trash"
|
||||
local trash_item
|
||||
local item
|
||||
for item in "${@}"; do
|
||||
if [[ -e "${item}" ]] || [[ -L "${item}" ]]; then
|
||||
trash_item="${trash_dir}/${item:t}"
|
||||
if [[ -e "${trash_item}" ]] || [[ -L "${trash_item}" ]]; then
|
||||
trash_item="${trash_item} $(date "+%H-%M-%S")"
|
||||
fi
|
||||
mv -f "${item}" "${trash_item}"
|
||||
fi
|
||||
done
|
||||
|
@ -1,103 +1,23 @@
|
||||
# ------------------------------------------------------------------------------
|
||||
# FILE: osx.plugin.zsh
|
||||
# DESCRIPTION: oh-my-zsh plugin file.
|
||||
# AUTHOR: Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
# VERSION: 1.0.2
|
||||
# ------------------------------------------------------------------------------
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
|
||||
# Change directory to the current Finder directory.
|
||||
alias cdf='cd "$(pfd)"'
|
||||
|
||||
function tab() {
|
||||
local command="cd \\\"$PWD\\\""
|
||||
(( $# > 0 )) && command="${command}; $*"
|
||||
# Push directory to the current Finder directory.
|
||||
alias pushdf='pushd "$(pfd)"'
|
||||
|
||||
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
|
||||
}
|
||||
# Open files in Quick Look.
|
||||
function ql() {
|
||||
(( $# > 0 )) && qlmanage -p "$@" &> /dev/null
|
||||
}
|
||||
|
||||
function pfd() {
|
||||
osascript 2>/dev/null <<EOF
|
||||
tell application "Finder"
|
||||
return POSIX path of (target of window 1 as alias)
|
||||
end tell
|
||||
EOF
|
||||
}
|
||||
|
||||
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
|
||||
# Open man pages in Preview.
|
||||
function manp() {
|
||||
(( $# > 0 )) && man -t "$@" | open -f -a Preview
|
||||
}
|
||||
compdef _man manp
|
||||
|
||||
# Delete .DS_Store and __MACOSX directories.
|
||||
function rm-osx-cruft() {
|
||||
find ${@:-$PWD} \( -type f -name ".DS_Store" \) -o \( -type d -name '__MACOSX' \) -delete
|
||||
find "${@:-$PWD}" \( -type f -name '.DS_Store' \) -o \( -type d -name '__MACOSX' \) -print0 | xargs rm -rf
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user