Skip to content

Commit

Permalink
feat(helper): add os-type helper functions
Browse files Browse the repository at this point in the history
Add the following functions:

- is-darwin
- is-linux
- is-bsd
- is-cygwin

And apply them everywhere I found code doing that what these functions do.
  • Loading branch information
casaper authored and Stefan Rajkovic committed Apr 26, 2021
1 parent 2150aa1 commit 410736e
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 10 deletions.
2 changes: 1 addition & 1 deletion modules/haskell/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ if (( ! $+commands[ghc] )); then
fi

# Prepend Cabal per user directories to PATH.
if [[ "$OSTYPE" == darwin* && -d $HOME/Library/Haskell ]]; then
if is-darwin && [[ -d $HOME/Library/Haskell ]]; then
path=($HOME/Library/Haskell/bin(/N) $path)
else
path=($HOME/.cabal/bin(/N) $path)
Expand Down
20 changes: 20 additions & 0 deletions modules/helper/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,23 @@ function coalesce {
done
return 1
}

# is true on MacOS Darwin
function is-darwin {
[[ "$OSTYPE" == darwin* ]]
}

# is true on Linux's
function is-linux {
[[ "$OSTYPE" == linux* ]]
}

# is true on BSD's
function is-bsd {
[[ "$OSTYPE" == *bsd* ]]
}

# is true on Cygwin (Windows)
function is-cygwin {
[[ "$OSTYPE" == cygwin* ]]
}
2 changes: 1 addition & 1 deletion modules/homebrew/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#

# Return if requirements are not found.
if [[ "$OSTYPE" != (darwin|linux)* ]]; then
if ! is-darwin || ! is-linux; then
return 1
fi

Expand Down
2 changes: 1 addition & 1 deletion modules/macports/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
#

# Return if requirements are not found.
if [[ "$OSTYPE" != darwin* ]]; then
if ! is-darwin; then
return 1
fi

Expand Down
2 changes: 1 addition & 1 deletion modules/osx/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
#

# Return if requirements are not found.
if [[ "$OSTYPE" != darwin* ]]; then
if ! is-darwin; then
return 1
fi

Expand Down
2 changes: 1 addition & 1 deletion modules/perl/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ fi
# Local Module Installation
#

if [[ "$OSTYPE" == darwin* ]]; then
if is-darwin; then
# Perl is slow; cache its output.
cache_file="${TMPDIR:-/tmp}/prezto-perl-cache.$UID.zsh"
perl_path="$HOME/Library/Perl/5.12"
Expand Down
2 changes: 1 addition & 1 deletion modules/python/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ elif (( $+commands[pyenv] )); then
else
if [[ -n "$PYTHONUSERBASE" ]]; then
path=($PYTHONUSERBASE/bin $path)
elif [[ "$OSTYPE" == darwin* ]]; then
elif is-darwin; then
path=($HOME/Library/Python/*/bin(N) $path)
else
# This is subject to change.
Expand Down
2 changes: 1 addition & 1 deletion modules/rsync/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ fi

# macOS and HFS+ Enhancements
# https://bombich.com/kb/ccc5/credits
if [[ "$OSTYPE" == darwin* ]] && grep -q 'file-flags' <(rsync --help 2>&1); then
if is-darwin && grep -q 'file-flags' <(rsync --help 2>&1); then
_rsync_cmd="${_rsync_cmd} --crtimes --fileflags --protect-decmpfs --force-change"
fi

Expand Down
6 changes: 3 additions & 3 deletions modules/utility/init.zsh
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ if zstyle -t ':prezto:module:utility:grep' color; then
fi

# macOS Everywhere
if [[ "$OSTYPE" == darwin* ]]; then
if is-darwin; then
alias o='open'
elif [[ "$OSTYPE" == cygwin* ]]; then
elif is-cygwin; then
alias o='cygstart'
alias pbcopy='tee > /dev/clipboard'
alias pbpaste='cat /dev/clipboard'
Expand Down Expand Up @@ -150,7 +150,7 @@ fi
alias df='df -kh'
alias du='du -kh'

if [[ "$OSTYPE" == (darwin*|*bsd*) ]]; then
if is-darwin || is-bsd; then
alias topc='top -o cpu'
alias topm='top -o vsize'
else
Expand Down

0 comments on commit 410736e

Please sign in to comment.