我的语法文件中有以下三行来设置注释。注释以#
开头,允许内嵌或单独行。
syn keyword myTodo contained TODO FIXME
syn match myComment "^#.*" contains=myTodo
syn match myComment "\s#.*"ms=s+1 contains=myTodo
只要在#
之前没有字符(包括大括号等),它就会起作用。
我试图创建一个这样的规则:
syn match myComment ".*#.*"ms=s+1 contains=myTodo
但这会将整行描述为评论。
即使在#
之前有角色,我还需要做些什么来使其正确风格?
修改
syn match myComment "\s*#.*"ms=s+1 contains=myTodo
正确地在#
之后高亮显示文字,#
之前的文字没有被设置为评论,但#
没有被设置为评论。
答案 0 :(得分:0)
如果我理解得很好,就没有必要在尖锐的星座前描述这场比赛。
如果您只是尝试这样做会发生什么:
syn keyword myTodo contained TODO FIXME
syn match myComment "#.*$" contains=myTodo
这是一个简单的案例,它不会处理字符串中包含尖锐符号的情况(例如,如果语法中有一些字符串)。要进一步处理此问题,您可以添加:
syn match Constant /\v"([^\\]|\\.)*"/
syn match Normal /^.*$/ contains=Constant,myComment