Evite destacar palavras-chave após certas palavras nas listagens

Evite destacar palavras-chave após certas palavras nas listagens

instancee ofsã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 listingsque instanceafter Nonã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 instanceproduz "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, Truee Falseainda estão destacados, mas instancee ofnão deveriam estar (de preferência sem alterar o conteúdo do lstlistingambiente).

informação relacionada