X-Git-Url: https://gitweb.ps.run/ps-cgit/blobdiff_plain/1b09cbd303d889ec2636127584d57b7f1b70c25e..08352c7a02f057f6cbaf817ca7e53c53be590a62:/filters/syntax-highlighting.sh diff --git a/filters/syntax-highlighting.sh b/filters/syntax-highlighting.sh index 6b1c576..5fcc9c9 100755 --- a/filters/syntax-highlighting.sh +++ b/filters/syntax-highlighting.sh @@ -23,6 +23,17 @@ # table.blob .kwb { color:#830000; } # table.blob .kwc { color:#000000; font-weight:bold; } # table.blob .kwd { color:#010181; } +# +# The following environment variables can be used to retrieve the configuration +# of the repository for which this script is called: +# CGIT_REPO_URL ( = repo.url setting ) +# CGIT_REPO_NAME ( = repo.name setting ) +# CGIT_REPO_PATH ( = repo.path setting ) +# CGIT_REPO_OWNER ( = repo.owner setting ) +# CGIT_REPO_DEFBRANCH ( = repo.defbranch setting ) +# CGIT_REPO_SECTION ( = section setting ) +# CGIT_REPO_CLONE_URL ( = repo.clone-url setting ) +# # store filename and extension in local vars BASENAME="$1" @@ -31,4 +42,32 @@ EXTENSION="${BASENAME##*.}" # map Makefile and Makefile.* to .mk [ "${BASENAME%%.*}" == "Makefile" ] && EXTENSION=mk +# highlight versions 2 and 3 have different commandline options. Specifically, +# the -X option that is used for version 2 is replaced by the -O xhtml option +# for version 3. +# +# Version 2 can be found (for example) on EPEL 5, while version 3 can be +# found (for example) on EPEL 6. +# +# This is for version 2 exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null + +# This is for version 3 +# +# On CentOS 6.2 (using highlight from EPEL), when highlight doesn't know about +# an EXTENSION, it outputs a lua error and _no_ text, even when the --force +# option is used. +# +# Also see the bug reports at: +# http://sourceforge.net/tracker/?func=detail&aid=3490017&group_id=215618&atid=1034391 +# https://bugzilla.redhat.com/show_bug.cgi?id=795567 +# +# This workaround can be removed when the bug is fixed upstream and the new +# version is packaged in most distributions. +# +# The workaround is to set the extension to 'txt' (plain text) when highlight +# exits with an error (doesn't know the format). +# +#echo "test" | highlight -f -I -O xhtml -S $EXTENSION &>/dev/null +#[ ${?} -ne 0 ] && EXTENSION="txt" +#exec highlight --force -f -I -O xhtml -S $EXTENSION 2>/dev/null