aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--etc/fish_interactive.fish.in57
-rw-r--r--share/functions/grep.fish13
-rw-r--r--share/functions/ls.fish43
3 files changed, 55 insertions, 58 deletions
diff --git a/etc/fish_interactive.fish.in b/etc/fish_interactive.fish.in
index bbd89ab9..c54a5fa3 100644
--- a/etc/fish_interactive.fish.in
+++ b/etc/fish_interactive.fish.in
@@ -90,63 +90,6 @@ set_default fish_color_history_current cyan
set_default CDPATH . ~
#
-# Match colors for grep, if supported
-#
-
-if grep --color=auto --help 1>/dev/null 2>/dev/null
- set_exported_default GREP_COLOR '97;45'
- set_exported_default GREP_OPTIONS '--color=auto'
-end
-
-#
-# Color definitions for ls, if supported
-#
-
-if command ls --color=auto --help 1>/dev/null 2>/dev/null
-
- set -l color_document 35
- set -l color_image '01;35'
- set -l color_sound '01;35'
- set -l color_video '01;35'
- set -l color_archive '01;31'
- set -l color_command '01;32'
- set -l color_backup 37
-
- set -l default no=00 fi=00 'di=01;34' 'ln=01;36' 'pi=40;33' 'so=01;35' 'bd=40;33;01' 'cd=40;33;01' 'or=01;05;37;41' 'mi=01;05;37;41' ex=$color_command
-
- for i in .cmd .exe .com .btm .bat .sh .csh .fish
- set default $default "*$i=$color_command"
- end
-
- for i in .tar .tgz .arj .taz .lhz .zip .z .Z .gz .bz2 .bz .tz .rpm .cpio .jar .deb .rar .bin .hqx
- set default $default "*$i=$color_archive"
- end
-
- for i in .jpg .jpeg .gif .bmp .xbm .xpm .png .tif
- set default $default "*$i=$color_image"
- end
-
- for i in .mp3 .au .wav .aiff .ogg .wma
- set default $default "*$i=$color_sound"
- end
-
- for i in .avi .mpeg .mpg .divx .mov .qt .wmv .rm
- set default $default "*$i=$color_video"
- end
-
- for i in .htm .html .rtf .wpd .doc .pdf .ps .xls .swf .txt .tex .sxw .dvi INSTALL README ChangeLog
- set default $default "*$i=$color_document"
- end
-
- for i in '~' .bak
- set default $default "*$i=$color_backup"
- end
-
- set -gx LS_COLORS $default
-end
-
-
-#
# Remove temporary functions
#
diff --git a/share/functions/grep.fish b/share/functions/grep.fish
new file mode 100644
index 00000000..212fe3ca
--- /dev/null
+++ b/share/functions/grep.fish
@@ -0,0 +1,13 @@
+#
+# Match colors for grep, if supported
+#
+
+if grep --color=auto --help 1>/dev/null 2>/dev/null
+ if not set -q GREP_COLOR
+ set -gx GREP_COLOR '97;45'
+ end
+ if not set -q GREP_OPTIONS
+ set -gx GREP_OPTIONS '97;45'
+ end
+end
+
diff --git a/share/functions/ls.fish b/share/functions/ls.fish
index aa20f219..a3039d8a 100644
--- a/share/functions/ls.fish
+++ b/share/functions/ls.fish
@@ -2,11 +2,52 @@
# Make ls use colors if we are on a system that supports this
#
-if ls --version 1>/dev/null 2>/dev/null
+if command ls --version 1>/dev/null 2>/dev/null
# This is GNU ls
function ls -d (_ "List contents of directory")
command ls --color=auto --indicator-style=classify $argv
end
+
+ set -l color_document 35
+ set -l color_image '01;35'
+ set -l color_sound '01;35'
+ set -l color_video '01;35'
+ set -l color_archive '01;31'
+ set -l color_command '01;32'
+ set -l color_backup 37
+
+ set -l default no=00 fi=00 'di=01;34' 'ln=01;36' 'pi=40;33' 'so=01;35' 'bd=40;33;01' 'cd=40;33;01' 'or=01;05;37;41' 'mi=01;05;37;41' ex=$color_command
+
+ for i in .cmd .exe .com .btm .bat .sh .csh .fish
+ set default $default "*$i=$color_command"
+ end
+
+ for i in .tar .tgz .arj .taz .lhz .zip .z .Z .gz .bz2 .bz .tz .rpm .cpio .jar .deb .rar .bin .hqx
+ set default $default "*$i=$color_archive"
+ end
+
+ for i in .jpg .jpeg .gif .bmp .xbm .xpm .png .tif
+ set default $default "*$i=$color_image"
+ end
+
+ for i in .mp3 .au .wav .aiff .ogg .wma
+ set default $default "*$i=$color_sound"
+ end
+
+ for i in .avi .mpeg .mpg .divx .mov .qt .wmv .rm
+ set default $default "*$i=$color_video"
+ end
+
+ for i in .htm .html .rtf .wpd .doc .pdf .ps .xls .swf .txt .tex .sxw .dvi INSTALL README ChangeLog
+ set default $default "*$i=$color_document"
+ end
+
+ for i in '~' .bak
+ set default $default "*$i=$color_backup"
+ end
+
+ set -gx LS_COLORS $default
+
else
# BSD, OS X and a few more support colors through the -G switch instead
if ls / -G 1>/dev/null 2>/dev/null