diff options
author | LAN-TW <lantw44@gmail.com> | 2013-11-30 01:01:52 +0800 |
---|---|---|
committer | LAN-TW <lantw44@gmail.com> | 2013-11-30 01:01:52 +0800 |
commit | 303248458bce04868a59ecfd92a0a1fae9badd0d (patch) | |
tree | 81ad33b18354c949f3888131ff7cda035b058baf | |
parent | a7fb4577e3200609b19b52ccc7da300c613f127c (diff) | |
download | configfile-303248458bce04868a59ecfd92a0a1fae9badd0d.tar.gz configfile-303248458bce04868a59ecfd92a0a1fae9badd0d.tar.zst configfile-303248458bce04868a59ecfd92a0a1fae9badd0d.zip |
cgit: 加入 syntax-highlighting.shcgit-20131129
-rw-r--r-- | README | 3 | ||||
-rwxr-xr-x | cgit/syntax-highlighting.sh | 52 |
2 files changed, 55 insertions, 0 deletions
@@ -8,6 +8,9 @@ bash_include,正確的檔名是 ~/.bash_include . ~/.bash_include fi +cgit,這是我的 cgit 設定檔 + 用於線上瀏覽 git repository 的設定檔。 + screenrc,正確的檔名是 ~/.screenrc 主要功能是顯示狀態列以及程式結束時不關閉視窗。 diff --git a/cgit/syntax-highlighting.sh b/cgit/syntax-highlighting.sh new file mode 100755 index 0000000..843c128 --- /dev/null +++ b/cgit/syntax-highlighting.sh @@ -0,0 +1,52 @@ +#!/bin/sh + +BASENAME="$1" +EXTENSION="${BASENAME##*.}" +TABSTOP="4" + +[ "${BASENAME}" = "${EXTENSION}" ] && EXTENSION=txt +[ -z "${EXTENSION}" ] && EXTENSION=txt + +while \ + [ "${EXTENSION}" = "in" ] || \ + [ "${EXTENSION}" = "inc" ] || \ + [ "${EXTENSION}" = "template" ]; do + BASENAME="${BASENAME%.*}"; EXTENSION="${BASENAME##*.}" +done + +case "${EXTENSION}" in + *project|*proj|*props|glade*) EXTENSION="xml" ;; + *mount) EXTENSION="ini" ;; + 'service'|'target'|'socket'|'path'|'timer'|'client') EXTENSION="ini" ;; + 'desktop'|'convert') EXTENSION="ini" ;; + 'doap'|'ui'|'rdf'|'omf'|'page'|'etspec'|'galview') EXTENSION="xml" ;; + 'json') EXTENSION="js" ;; + 'xpm') EXTENSION="c" ;; + 'ac'|'m4'|'po'|'dirs') EXTENSION="sh" ;; + 'am') EXTENSION="mk" ;; + 's') EXTENSION="asm" ;; +esac + +case "${BASENAME%%.*}" in + Makefile|makefile|GNUmakefile|BSDmakefile|Makevars) EXTENSION=mk ;; + pkg-install|pkg-deinstall|pkg-req|rc) EXTENSION=sh ;; + PKGBUILD|bash_include) EXTENSION=bash ;; + POTFILES) EXTENSION=ini ;; + vimrc|vimadd) EXTENSION=vim ;; +esac + +case "${CGIT_REPO_NAME}" in + taiwan-online-judge*) TABSTOP=8 ;; + *) TABSTOP=4 ;; +esac + +HIGHLIGHT="/usr/bin/highlight --force -f -I --inline-css -s edit-gedit -O xhtml -t $TABSTOP -S $EXTENSION" + +case "${CGIT_REPO_NAME}" in + *bbs|maple3-itoc) + /usr/bin/iconv -f Big5 -t UTF-8 | $HIGHLIGHT 2>/dev/null + ;; + *) + exec $HIGHLIGHT 2>/dev/null + ;; +esac |