From a3f9c9f4627a5c4904e4673b369404faa40907fe Mon Sep 17 00:00:00 2001 From: George Rawlinson Date: Thu, 8 Jul 2021 17:16:17 +0000 Subject: [PATCH] refactor: colourise ls based on operating system Use different method for coloured ls on macOS & Linux. --- source/aliases.zsh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/source/aliases.zsh b/source/aliases.zsh index 5904714..259f7f3 100644 --- a/source/aliases.zsh +++ b/source/aliases.zsh @@ -11,10 +11,21 @@ alias cp='cp -i' alias mv='mv -i' # ls -alias ls='ls --color=auto --human-readable --group-directories-first' -alias l='ls --classify -l' -alias la='ls --classify -la' -alias lr='ls --classify -tR' +if [[ -v OSTYPE ]]; then + if [[ "$OSTYPE" == "linux"* ]]; then + alias ls='ls --color=auto --human-readable --group-directories-first' + elif [[ "$OSTYPE" == "darwin"* ]]; then + # check for coreutils presence, otherwise we're using bsd ls + if command -v gls &> /dev/null; then + alias ls='gls --color=auto --human-readable --group-directories-first' + else + alias ls='ls -G' + fi + fi +fi +alias l='ls -l' +alias la='ls -la' +alias lr='ls -lR' # directories setopt AUTO_CD # prefix command with 'cd' if it cannot be executed, e.g. '..' becomes 'cd ..'