列表 moredelim 选项未按预期工作

列表 moredelim 选项未按预期工作

我在使用 lstlistings 包时遇到了问题。我需要创建自己的语言定义,其中有关键字“test”,但也需要在某个特定位置转义关键字突出显示,该位置是名称“variable test”的一部分。我设置了一个分隔符,但它没有按我预期的那样工作。“test”仍然被突出显示为关键字。我已经尝试使用不可见的分隔符,但结果相同。

\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage{color}
\usepackage{listings}
\lstdefinelanguage{script}{
    keywords={test,
    },
    morecomment=[s]{'}{'},
    morestring=[b]",
    sensitive=false,
}
\lstdefinestyle{default}{
    inputencoding=utf8,
    extendedchars=\true,
    backgroundcolor=\color[HTML]{FEFDFF},
    breaklines=true,
    frame=single,
    keepspaces=true,
    keywordstyle=\color{blue},
    commentstyle=\color{orange}\emph,
    numbers=left,
    breakatwhitespace=false,
    moredelim=[s][basicstyle]{variable}{test},
}
\begin{document}
\begin{lstlisting}[style=default,language=script]
variable test
\end{lstlisting}
\end{document}

在此处输入图片描述

附言:我基本上只是用下划线替换了空格。这不是最优雅的解决方案,但它有效。

相关内容