aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLAN-TW <lantw44@gmail.com>2013-11-30 01:01:52 +0800
committerLAN-TW <lantw44@gmail.com>2013-11-30 01:01:52 +0800
commit303248458bce04868a59ecfd92a0a1fae9badd0d (patch)
tree81ad33b18354c949f3888131ff7cda035b058baf
parenta7fb4577e3200609b19b52ccc7da300c613f127c (diff)
downloadconfigfile-303248458bce04868a59ecfd92a0a1fae9badd0d.tar.gz
configfile-303248458bce04868a59ecfd92a0a1fae9badd0d.tar.zst
configfile-303248458bce04868a59ecfd92a0a1fae9badd0d.zip
cgit: 加入 syntax-highlighting.shcgit-20131129
-rw-r--r--README3
-rwxr-xr-xcgit/syntax-highlighting.sh52
2 files changed, 55 insertions, 0 deletions
diff --git a/README b/README
index b2460d7..86bdece 100644
--- a/README
+++ b/README
@@ -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