Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Ohmyzsh
Commits
250bee9c
Commit
250bee9c
authored
Jul 23, 2011
by
Robby Russell
Browse files
Merge pull request #206 from sorin-ionescu/plugin-osx
Vastly improved Mac OS X plugin
parents
92467e0b
5e5096da
Changes
2
Show whitespace changes
Inline
Side-by-side
plugins/osx/_man-preview
0 → 100644
View file @
250bee9c
#compdef man-preview
#autoload
_man
plugins/osx/osx.plugin.zsh
View file @
250bee9c
alias
showfiles
=
'defaults write com.apple.finder AppleShowAllFiles TRUE; killall Finder'
alias
hidefiles
=
'defaults write com.apple.finder AppleShowAllFiles FALSE; killall Finder'
# ------------------------------------------------------------------------------
# FILE: osx.plugin.zsh
# DESCRIPTION: oh-my-zsh plugin file.
# AUTHOR: Sorin Ionescu (sorin.ionescu@gmail.com)
# VERSION: 1.0.1
# ------------------------------------------------------------------------------
# Recursively delete .DS_Store files
alias
rm-dsstore
=
"find . -name '*.DS_Store' -type f -delete"
function
savepath
()
{
pwd
>
~/.current_path~
}
function
tab
()
{
savepath
osascript
>
/dev/null
<<
EOF
on do_submenu(app_name, menu_name, menu_item, submenu_item)
-- bring the target application to the front
tell application app_name
activate
end tell
local command
=
"cd
\\\"
$PWD
\\\"
"
((
$#
>
0
))
&&
command
=
"
${
command
}
;
$*
"
the_app
=
$(
osascript 2>/dev/null
<<
EOF
tell application "System Events"
tell process app_name
tell menu bar 1
tell menu bar item menu_name
tell menu menu_name
tell menu item menu_item
tell menu menu_item
click menu item submenu_item
end tell
end tell
end tell
end tell
name of first item of (every process whose frontmost is true)
end tell
end tell
end tell
end do_submenu
do_submenu("Terminal", "Shell", "New Tab", 1)
EOF
}
)
function
itab
()
{
savepath
osascript
>
/dev/null
<<
EOF
on do_submenu(app_name, menu_name, menu_item)
-- bring the target application to the front
tell application app_name
activate
end tell
[[
"
$the_app
"
==
'Terminal'
]]
&&
{
osascript 2>/dev/null
<<
EOF
tell application "System Events"
tell process app_name
tell menu bar 1
tell menu bar item menu_name
tell menu menu_name
click menu item menu_item
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 "Finder"
return POSIX path of (target of window 1 as alias)
end tell
end do_submenu
EOF
}
do_submenu("iTerm", "Shell", "New Tab")
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
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment