浏览代码

Solaris portability tweaks.

Moinak Ghosh 9 年之前
父节点
当前提交
5e328e3a9c
共有 4 个文件被更改,包括 35 次插入2 次删除
  1. 6 1
      lib/completion.zsh
  2. 1 0
      oh-my-zsh.sh
  3. 21 0
      plugins/colored-man/colored-man.plugin.zsh
  4. 7 1
      tools/check_for_upgrade.sh

+ 6 - 1
lib/completion.zsh

@@ -25,7 +25,12 @@ bindkey -M menuselect '^o' accept-and-infer-next-history
 
 zstyle ':completion:*:*:*:*:*' menu select
 zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
-zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
+if [ "$PLAT" = "SunOS" ]
+then
+  zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm"
+else
+  zstyle ':completion:*:*:*:*:processes' command "ps -u `whoami` -o pid,user,comm -w -w"
+fi
 
 # disable named-directories autocompletion
 zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories

+ 1 - 0
oh-my-zsh.sh

@@ -1,3 +1,4 @@
+PLAT=`uname -s`
 # Check for updates on initial load...
 if [ "$DISABLE_AUTO_UPDATE" != "true" ]; then
   /usr/bin/env ZSH=$ZSH DISABLE_UPDATE_PROMPT=$DISABLE_UPDATE_PROMPT zsh -f $ZSH/tools/check_for_upgrade.sh

+ 21 - 0
plugins/colored-man/colored-man.plugin.zsh

@@ -1,3 +1,21 @@
+if [ "${PLAT}" = "SunOS" ]
+then
+	if [ ! -x ${HOME}/bin/nroff ]
+	then
+		mkdir -p ${HOME}/bin
+		cat > ${HOME}/bin/nroff <<EOF
+#!/bin/sh
+if [ -n "\$_NROFF_U" -a "\$1,\$2,\$3" = "-u0,-Tlp,-man" ]; then
+	shift
+	exec /usr/bin/nroff -u\${_NROFF_U} "\$@"
+fi
+#-- Some other invocation of nroff
+exec /usr/bin/nroff "\$@"
+EOF
+	chmod +x ${HOME}/bin/nroff
+	fi
+fi
+
 man() {
       env \
       	  LESS_TERMCAP_mb=$(printf "\e[1;31m") \
@@ -7,5 +25,8 @@ man() {
 	  LESS_TERMCAP_so=$(printf "\e[1;44;33m") \
 	  LESS_TERMCAP_ue=$(printf "\e[0m") \
 	  LESS_TERMCAP_us=$(printf "\e[1;32m") \
+	  PAGER=/usr/bin/less \
+	  _NROFF_U=1 \
+	  PATH=${HOME}/bin:${PATH} \
 	  			   man "$@"
 }

+ 7 - 1
tools/check_for_upgrade.sh

@@ -1,7 +1,13 @@
 #!/bin/sh
 
+PLAT=`uname -s`
 function _current_epoch() {
-  echo $(($(date +%s) / 60 / 60 / 24))
+  if [ "$PLAT" = "SunOS" ]
+  then
+    echo $(($(perl -e 'print time') / 60 / 60 / 24))
+  else
+    echo $(($(date +%s) / 60 / 60 / 24))
+  fi
 }
 
 function _update_zsh_update() {