From mboxrd@z Thu Jan 1 00:00:00 1970 From: cgit at cryptocrack.de (Lukas Fleischer) Date: Tue, 21 Feb 2012 14:27:17 +0100 Subject: [PATCH v2 3/3] highlight: fix syntax highlighting for program versions > 2 In-Reply-To: <1329826411-6301-3-git-send-email-mailings@hupie.com> References: <1329826411-6301-1-git-send-email-mailings@hupie.com> <1329826411-6301-3-git-send-email-mailings@hupie.com> Message-ID: <20120221132717.GC12346@blizzard> On Tue, Feb 21, 2012 at 01:13:31PM +0100, Ferry Huberts wrote: > From: Ferry Huberts > > Signed-off-by: Ferry Huberts > --- > filters/syntax-highlighting.sh | 22 ++++++++++++++++++++-- > 1 files changed, 20 insertions(+), 2 deletions(-) > > diff --git a/filters/syntax-highlighting.sh b/filters/syntax-highlighting.sh > index 0f97fea..387960d 100755 > --- a/filters/syntax-highlighting.sh > +++ b/filters/syntax-highlighting.sh > @@ -42,5 +42,23 @@ declare EXTENSION="${BASENAME##*.}" > # map Makefile and Makefile.* to .mk > [ "${BASENAME%%.*}" == "Makefile" ] && EXTENSION=mk > > -# the sed with   is a workaround for empty lines getting filtered out > -exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null | sed -r 's/^[[:space:]]*$/\ /' > +# get highlight version > +declare regex='^[[:space:]]*highlight[[:space:]]+version[[:space:]]+([[:digit:]]+).*' > +declare -i highlightVersion=$(highlight --version | grep -E "${regex}" | sed -r "s/${regex}/\1/") > + > +if [[ ${highlightVersion} -le 2 ]]; then > + # for highlight <= 2.x > + > + # the sed with   is a workaround for empty lines getting filtered out > + exec highlight --force -f -I -X -S $EXTENSION 2>/dev/null | sed -r 's/^[[:space:]]*$/\ /' > +else > + # for other highlight versions > + > + # workaround for --force bug: > + # set to plain text when highlight doesn't know the format > + echo "test" | highlight -f -I -O xhtml -S $EXTENSION &>/dev/null > + [ ${?} -ne 0 ] && EXTENSION="txt" > + > + # the sed with   is a workaround for empty lines getting filtered out > + exec highlight -f -I -O xhtml -S $EXTENSION 2>/dev/null | sed -r 's/^[[:space:]]*$/\ /' > +fi Good to know that this is broken, but your solution seems like a hack without any explanation... Could you elaborate why this is needed and why this is the proper way to fix this regression, please? > -- > 1.7.7.6