列表:以不同方式格式化字符串的一部分(字符串内的标记语言)

列表:以不同方式格式化字符串的一部分(字符串内的标记语言)

我为 .NET 模板引擎创建了一个新的语言定义,其中 C# 代码中的部分字符串是标记。

例子:

string templateString = @"{% for name in names %} 
Hallo {{ name }} 
{% endfor %}";

{% 和 %} 和 {{ 和 }} 之间的所有内容都是模板引擎的一部分,并且应该采用与字符串不同的格式。

我的语言定义如下:

 \lstdefinelanguage{dotliquid}[Sharp]{C}
 {morecomment=[s][\color{liquidgreen}]{\{\%}{\%\}},
 morecomment=[s][\color{liquidgreen}]{\{\{}{\}\}}
 }

当我有包含模板代码的普通 C# 代码(不在字符串内)时,它可以正常工作,但在上面的示例中,完整的字符串以一种方式格式化。

有什么方法可以实现这个吗?我尝试了 moredelim 和 deletestring,但没有得到想要的结果。

相关内容