Избегайте выделения ключевых слов после определенных слов в списках.

Избегайте выделения ключевых слов после определенных слов в списках.

instanceи ofявляются ключевыми словами в Haskell. Но они также появляются в сообщениях об ошибках, таких как No instance for... arising from the use of.... Я хотел бы сказать listings, что instanceafter Noне следует считать ключевым словом (не удаляя при этом подсветку полностью). Возможно ли это?

На основеЗапрет ключевых слов в листингах, Я надеялся

literate={use of}{use of}6

Это бы помогло, но этого не происходит (странно, но указание 11 в качестве длины No instanceприводит к появлению «Неправильная буквенная константа» и «Отсутствует число, рассматривается как ноль»).

Пример документа:

\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}

Желаемый результат заключается в том, что Num, Bool, Trueи Falseпо-прежнему подсвечиваются, а instanceи ofне должны подсвечиваться (предпочтительно без изменения содержимого lstlistingсреды).

Связанный контент