feat(revamp): add zsh and neovim configs, add an install script and a dependencies list
This commit is contained in:
@@ -0,0 +1,11 @@
|
||||
#compdef mand manp
|
||||
#autoload
|
||||
|
||||
#
|
||||
# Completes mand and manp.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
_man
|
||||
@@ -0,0 +1,23 @@
|
||||
#
|
||||
# Opens man pages in Dash.app.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
function mand {
|
||||
if (( $# > 0 )); then
|
||||
zstyle -s ':prezto:module:osx:man' dash-keyword 'dashkw' || dashkw='manpages'
|
||||
open "dash://$dashkw%3A$1" 2> /dev/null
|
||||
if (( $? != 0 )); then
|
||||
print "$0: Dash is not installed" >&2
|
||||
break
|
||||
fi
|
||||
else
|
||||
print 'What manual page do you want?' >&2
|
||||
fi
|
||||
|
||||
unset dashkw
|
||||
}
|
||||
|
||||
mand "$@"
|
||||
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# Opens man pages in Preview.app.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
function manp {
|
||||
local page
|
||||
if (( $# > 0 )); then
|
||||
for page in "$@"; do
|
||||
mandoc -T pdf "$(/usr/bin/man -w $page)" | open -fa Preview
|
||||
done
|
||||
else
|
||||
print 'What manual page do you want?' >&2
|
||||
fi
|
||||
}
|
||||
|
||||
manp "$@"
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Displays the macOS download history.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# function osx-ls-download-history {
|
||||
|
||||
local db
|
||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||
sqlite3 "$db" 'SELECT LSQuarantineDataURLString FROM LSQuarantineEvent'
|
||||
fi
|
||||
done
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,15 @@
|
||||
#
|
||||
# Deletes .DS_Store and __MACOSX directories.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# function osx-rm-dir-metadata {
|
||||
|
||||
find "${@:-$PWD}" \( \
|
||||
-type f -name '.DS_Store' -o \
|
||||
-type d -name '__MACOSX' \
|
||||
\) -print0 | xargs -0 rm -rf
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Deletes the macOS download history.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# function osx-rm-download-history {
|
||||
|
||||
local db
|
||||
for db in ~/Library/Preferences/com.apple.LaunchServices.QuarantineEventsV*; do
|
||||
if grep -q 'LSQuarantineEvent' < <(sqlite3 "$db" .tables); then
|
||||
sqlite3 "$db" 'DELETE FROM LSQuarantineEvent; VACUUM'
|
||||
fi
|
||||
done
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,16 @@
|
||||
#
|
||||
# Displays the current Finder.app directory.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# function pfd {
|
||||
|
||||
osascript 2> /dev/null <<EOF
|
||||
tell application "Finder"
|
||||
return POSIX path of (target of first window as text)
|
||||
end tell
|
||||
EOF
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,19 @@
|
||||
#
|
||||
# Displays the current Finder.app selection.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# function pfs {
|
||||
|
||||
osascript 2>&1 <<EOF
|
||||
tell application "Finder" to set the_selection to selection
|
||||
if the_selection is not {}
|
||||
repeat with an_item in the_selection
|
||||
log POSIX path of (an_item as text)
|
||||
end repeat
|
||||
end if
|
||||
EOF
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,14 @@
|
||||
#
|
||||
# Previews files in Quick Look.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# function ql {
|
||||
|
||||
if (( $# > 0 )); then
|
||||
qlmanage -p "$@" &> /dev/null
|
||||
fi
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,56 @@
|
||||
#
|
||||
# Opens a new Terminal.app/iTerm.app tab in the current directory.
|
||||
#
|
||||
# Authors:
|
||||
# Sorin Ionescu <sorin.ionescu@gmail.com>
|
||||
#
|
||||
|
||||
# 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
|
||||
}
|
||||
|
||||
[[ "$the_app" == 'iTerm2' ]] && {
|
||||
osascript 2> /dev/null <<EOF
|
||||
tell application "iTerm2"
|
||||
tell current window
|
||||
create tab with default profile
|
||||
tell current session to write text "${command}"
|
||||
end tell
|
||||
end tell
|
||||
EOF
|
||||
}
|
||||
|
||||
# }
|
||||
@@ -0,0 +1,31 @@
|
||||
#
|
||||
# Moves files to the macOS trash.
|
||||
#
|
||||
|
||||
# function trash {
|
||||
|
||||
emulate -L zsh
|
||||
setopt LOCAL_OPTIONS EXTENDED_GLOB
|
||||
|
||||
local file
|
||||
local -a files=()
|
||||
for file in $@; do
|
||||
if [[ -e $file ]]; then
|
||||
# ':a' gets the full path (do not use ':A', which would resolve symlinks)
|
||||
files+=("the POSIX file \"${file:a}\"")
|
||||
else
|
||||
print "trash: No such file or directory '$file'." >&2
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
|
||||
if (( $#files == 0 )); then
|
||||
print 'usage: trash <files...>' >&2
|
||||
return 64 # Match rm's return code.
|
||||
fi
|
||||
|
||||
# Join file list with commas, and tell Finder to trash that list.
|
||||
local file_list="${(pj., .)files}"
|
||||
osascript 2>&1 > /dev/null -e "tell app \"Finder\" to move { "${file_list}" } to trash"
|
||||
|
||||
# }
|
||||
Reference in New Issue
Block a user