如何在创建用户定义语言时包含C语言关键字的检测

时间:2016-05-27 16:57:49

标签: c notepad++

我正在尝试创建一个用于Notepad ++的UDL。目标是拥有一个UDL,它基本上是将所有C语法与特定程序使用的某些特殊关键字相结合的结果。

问题在于,现在完成UDL定义的方式不允许在C中正确实现关键字的检测,因为它们之间缺少空格。

I can't obtain the recognition of this keywords with my UDL defined language

我尝试将与C语言相关的stylers.xml和langs.xml关键字和样式节点复制到我的UDL .xml文件中,但它似乎不起作用。

有人可以告诉我是否有办法实现这一目标?

2 个答案:

答案 0 :(得分:0)

如果您只想在C样式中添加关键字,则可能只想添加自定义关键字。在样式配置器中,TYPE WORD和INSTRUCTION WORD样式有一个用户定义关键字的部分。

据我所知,Notepad ++中的UDL并不像内置语言那样功能齐全。他们使用更基本的系统进行语法突出显示,并且更加有限。即使您直接使用XML文件,我也怀疑您是否能够复制C突出显示。希望自定义关键字足以满足您的使用目的。

答案 1 :(得分:0)

我得到了答案!

可以从langs.xml文件中复制C关键字(直接进入UDL GUI),但不能复制样式。相反,必须手动设置样式以模仿内置的C样式器:

definition of C keywords

对于空格,代码如下:

如果(条件)

不包含两个关键字,它由四个关键字组成。在UDL解密它之前,需要定义它们中的每一个:

关键字:if condition

运营商:()

definition of operators

一旦告诉UDL有什么大括号,Notepad ++就能正确地突出显示所有关键字。

致Loreia L.的答案