隨筆-11  評論-10  文章-8  trackbacks-0
          用慣了git覺得沒有顏色的diff實在是無法忍受,還好emacs可以配置diff-mode的顏色,但svn diff卻沒有發(fā)現(xiàn)有參數(shù)可以指定highlight diff的,于是自己寫了一個。是一個bash腳本,用到了sed,linux下肯定沒有問題;windows下需要裝MinGW的bash,sed還有msys


          #!/bin/sh

          case 
          "$TERM" in
          msys)
          CONTEXT_COLOR
          =""
          ADD_COLOR
          =""
          DELETE_COLOR
          =""
          LOCATION_COLOR
          =""
          INDEX_COLOR
          =""
          NORM_COLOR
          =""
          ;;
          *)
          CONTEXT_COLOR
          =`tput setaf 7`
          ADD_COLOR
          =`tput setaf 2`
          DELETE_COLOR
          =`tput setaf 1`
          LOCATION_COLOR
          =`tput setaf 6`
          INDEX_COLOR
          =`tput setaf 5`
          NORM_COLOR
          =`tput sgr0`
          ;;
          esac

          svn diff $* |
          sed -e 
          "s/^+.*/${ADD_COLOR}&${NORM_COLOR}/g" -e "s/^-.*/${DELETE_COLOR}&${NORM_COLOR}/g" \
              -e 
          "s/^@@.*/${LOCATION_COLOR}&${NORM_COLOR}/g" -e "s/^[iI]ndex.*/${INDEX_COLOR}&${NORM_COLOR}/g" \
              -e 
          "s/.*/${CONTEXT_COLOR}&${NORM_COLOR}/g" |
          ${PAGER:-less -QRS}

          由于windows上沒有tput方法所以只能直接寫操作字符,上面方塊的字符可以通過下面命令將結(jié)果輸出到文件得到
          echo -e "\033[31mtest" > out

          tput setbf [0-7] 可以用來設置背景顏色。這有有顏色的代碼:
          http://www.frexx.de/xterm-256-notes/

          貼上來的代碼中有特殊字符,貌似被解析成奇怪的東西了,可以點擊這里下載


          posted on 2008-09-27 00:29 JBahamut 閱讀(3473) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 明水县| 贡觉县| 海安县| 扶余县| 织金县| 甘南县| 天祝| 个旧市| 同仁县| 济阳县| 安龙县| 友谊县| 西乌珠穆沁旗| 天镇县| 龙岩市| 栖霞市| 嘉禾县| 昭平县| 夏津县| 古田县| 油尖旺区| 九龙城区| 平罗县| 蒲江县| 临颍县| 灵丘县| 北碚区| 颍上县| 贺兰县| 弥勒县| 七台河市| 巴彦淖尔市| 稻城县| 深泽县| 汝阳县| 惠水县| 镇康县| 凉山| 颍上县| 商城县| 泗水县|