instance
e of
são palavras-chave em Haskell. Mas eles também aparecem em mensagens de erro como No instance for... arising from the use of...
. Gostaria de dizer listings
que instance
after No
não deve ser considerado uma palavra-chave (embora não remova totalmente o destaque). É possível?
Baseado emProibindo palavras-chave em listagens, Eu esperei
literate={use of}{use of}6
funcionaria, mas não funciona (estranhamente, fornecer 11 como comprimento para No instance
produz "Constante alfabética inadequada" e "Número ausente, tratado como zero").
Exemplo de documento:
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1,T2A]{fontenc}
\usepackage{color}
\usepackage{listings}
\lstset{
language=Haskell,
basicstyle=\ttfamily\footnotesize,
keywordstyle=\color{blue},
literate={use of}{use of}6
}
\begin{document}
\begin{lstlisting}
<interactive>:11:1: error:
No instance for (Num Bool) arising from a use of '+'
In the expression: True + False
In an equation for 'it': it = True + False
\end{lstlisting}
\end{document}
O resultado desejado é que Num
, Bool
, True
e False
ainda estão destacados, mas instance
e of
não deveriam estar (de preferência sem alterar o conteúdo do lstlisting
ambiente).