使用语法表的emacs模式下的单行和多行注释
我正在尝试为一种语言创建一个emacs语法突出显示,在这种语言中,注释被写成使用语法表的emacs模式下的单行和多行注释,emacs,elisp,syntax-highlighting,Emacs,Elisp,Syntax Highlighting,我正在尝试为一种语言创建一个emacs语法突出显示,在这种语言中,注释被写成 ;单行注释 ;; This comment has multipline lines ;; 为此,我需要修改语法表中的条目。我发现以下内容非常适用于多行评论: (modify-syntax-entry ?\; ". 1234" sbgl-mode-syntax-table) 以下内容适用于单行注释: (modify-syntax-entry ?\; "< b" sbgl-mode-syntax-tabl
;单行注释
;; This comment has
multipline lines ;;
为此,我需要修改语法表中的条目。我发现以下内容非常适用于多行评论:
(modify-syntax-entry ?\; ". 1234" sbgl-mode-syntax-table)
以下内容适用于单行注释:
(modify-syntax-entry ?\; "< b" sbgl-mode-syntax-table)
(modify-syntax-entry ?\n "> b" sbgl-mode-syntax-table)
(修改语法条目?\;“b”sbgl模式语法表)
有人知道如何组合这些功能吗?您可以尝试以下方法:
(modify-syntax-entry ?\; "< 1234b" sbgl-mode-syntax-table)
(modify-syntax-entry ?\n ">" sbgl-mode-syntax-table)
(修改语法条目?\;“<1234b”sbgl模式语法表)
(修改语法条目?\n“>”sbgl模式语法表)
如果你能在每一个分号后面添加一个空格来开始一行注释,你可以将它作为注释开始序列中的第二个字符,下面是一个对我有用的代码片段:
(定义派生模式sbgl模式程序模式“sbgl”
(设置(使局部变量的字体锁定为默认值)
'(无;;关键字
无;仅限关键字
零;箱子折叠
(((?\;.“.1234b”)
(?\n“>”)
(?\ . "- 2")))))
如果没有,那么您总是可以选择通过
syntax propertize function
variable(或font-lock syntactic keywords
variable for pre-Emacs24)在字体化之前进行语法分析。这不是我想要的。这需要任何注释以;;结尾
表示单行注释可以以开头代码>但必须在上结束代码>。实际上,任何以开头的注释代码>被认为是多行的。事实上,这是一个thinko,抱歉。恐怕您必须使用类似于语法属性化函数的功能。您在这方面运气好吗?