[PATCH v3 RESEND 1/2] highlight: fix commandline options for different highlight versions

larsh at hjemli.net larsh at hjemli.net
Sun Mar 18 12:14:10 CET 2012


On Sun, Mar 18, 2012 at 11:44:16AM +0100, Ferry Huberts wrote:
> From: Ferry Huberts <ferry.huberts at pelagic.nl>
> 
> Signed-off-by: Ferry Huberts <ferry.huberts at pelagic.nl>
> ---
>  filters/syntax-highlighting.sh |   20 +++++++++++++++++++-
>  1 files changed, 19 insertions(+), 1 deletions(-)
> 
> diff --git a/filters/syntax-highlighting.sh b/filters/syntax-highlighting.sh
> index 6283ce9..65baaa0 100755
> --- a/filters/syntax-highlighting.sh
> +++ b/filters/syntax-highlighting.sh
> @@ -42,4 +42,22 @@ EXTENSION="${BASENAME##*.}"
>  # map Makefile and Makefile.* to .mk
>  [ "${BASENAME%%.*}" == "Makefile" ] && EXTENSION=mk
>  
> -exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null
> +#
> +# 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 CentOS 5, while version 3 can be
> +# found (for example) on CentOS 6.
> +#
> +# get highlight version
> +regex='^[[:space:]]*highlight[[:space:]]+version[[:space:]]+([[:digit:]]+).*'
> +highlightVersion=$(highlight --version | grep -E "${regex}" | sed -r "s/${regex}/\1/")
> +
> +if [[ ${highlightVersion} -le 2 ]]; then
> +  # for highlight versions <= 2.x
> +  exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null
> +else
> +  # for highlight versions >= 3.x
> +  exec highlight --force -f -I -O xhtml -S $EXTENSION 2>/dev/null
> +fi
> -- 

I really don't want the filter scripts to perform any more work than
necessary, so maybe we could to something like this instead:

diff --git a/filters/syntax-highlighting.sh b/filters/syntax-highlighting.sh
index 6283ce9..183bd68 100755
--- a/filters/syntax-highlighting.sh
+++ b/filters/syntax-highlighting.sh
@@ -42,4 +42,8 @@ EXTENSION="${BASENAME##*.}"
 # map Makefile and Makefile.* to .mk
 [ "${BASENAME%%.*}" == "Makefile" ] && EXTENSION=mk
 
+# This is for highlight v2
 exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null
+
+# If you're using highlight v3, use this command instead:
+#exec highlight --force -f -I -O xhtml -S $EXTENSION 2>/dev/null
--
larsh




More information about the CGit mailing list