[PATCH v2 3/3] highlight: fix syntax highlighting for program versions > 2
Ferry Huberts
mailings at hupie.com
Tue Feb 21 14:47:51 CET 2012
On 21-02-12 14:27, Lukas Fleischer wrote:
> On Tue, Feb 21, 2012 at 01:13:31PM +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 | 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?
>
ok, thought it was clear.
On CentOS 6.2 (use 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.
see https://bugzilla.redhat.com/show_bug.cgi?id=795567
--
Ferry Huberts
More information about the CGit
mailing list