避免在列表中突出显示某些单词后面的关键字

避免在列表中突出显示某些单词后面的关键字

instanceof是 Haskell 中的关键字。但它们也出现在错误消息中,例如。No instance for... arising from the use of...我想说listingsafter不应被视为关键字(但不会完全删除突出显示)。可能吗?instanceNo

基于禁止在列表中使用关键字, 我希望

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)。TrueFalseinstanceoflstlisting

相关内容