summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc Cornellà <hello@mcornella.com>2023-02-26 15:44:18 +0100
committerGitHub <noreply@github.com>2023-02-26 15:44:18 +0100
commitcd647b6dc6779a1aafa2bcc3a81ec10b65c783ac (patch)
tree621f72d5f14c1341ad820f4cb57379e0446f1f8c
parent277f38212aef31a6baba2cf1a0a355af611be5e0 (diff)
downloadzsh-cd647b6dc6779a1aafa2bcc3a81ec10b65c783ac.tar.gz
zsh-cd647b6dc6779a1aafa2bcc3a81ec10b65c783ac.tar.bz2
zsh-cd647b6dc6779a1aafa2bcc3a81ec10b65c783ac.zip
fix(gnu-utils): reset ls alias to use GNU-based --color argument (#11527)
Fixes #11503
-rw-r--r--plugins/gnu-utils/gnu-utils.plugin.zsh11
1 files changed, 11 insertions, 0 deletions
diff --git a/plugins/gnu-utils/gnu-utils.plugin.zsh b/plugins/gnu-utils/gnu-utils.plugin.zsh
index 9419127d8..6bd3e8463 100644
--- a/plugins/gnu-utils/gnu-utils.plugin.zsh
+++ b/plugins/gnu-utils/gnu-utils.plugin.zsh
@@ -61,3 +61,14 @@ __gnu_utils_preexec() {
autoload -Uz add-zsh-hook
add-zsh-hook preexec __gnu_utils_preexec
+
+# lib/theme-and-appearance.zsh sets the alias for ls not knowing that
+# we'll be using GNU ls. We'll reset this to use GNU ls --color.
+# See https://github.com/ohmyzsh/ohmyzsh/issues/11503
+#
+# The ls alias might look like:
+# - ls='ls -G'
+# - ls='gls --color=tty'
+if [[ -x "${commands[gls]}" && "${aliases[ls]}" = (*-G*|gls*) ]]; then
+ alias ls='ls --color=tty'
+fi