浏览代码

fix(gnu-utils): reset ls alias to use GNU-based --color argument (#11527)

Fixes #11503
Marc Cornellà 2 年之前
父节点
当前提交
cd647b6dc6
共有 1 个文件被更改,包括 11 次插入0 次删除
  1. 11 0
      plugins/gnu-utils/gnu-utils.plugin.zsh

+ 11 - 0
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