我正在尝试为注释写为
的语言创建一个emacs语法高亮显示 ; A single line comment
;; 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)
有人知道如何将这些结合起来吗?
答案 0 :(得分:2)
如果您可以在每个分号开始单行注释后添加空格,您可以将其视为其中一个注释开始序列的第二个字符,然后这是一个适用于我的代码段:
(define-derived-mode sbgl-mode prog-mode "sbgl"
(set (make-local-variable 'font-lock-defaults)
'(nil ;; keywords
nil ;; keywords-only
nil ;; case-fold
((?\; . ". 1234b")
(?\n . ">")
(?\ . "- 2")))))
如果没有,那么你总是可以选择在通过syntax-propertize-function
变量(或font-lock-syntactic-keywords
变量用于预Emacs24)之前进行语法分析。
答案 1 :(得分:0)
您可以尝试以下内容:
(modify-syntax-entry ?\; "< 1234b" sbgl-mode-syntax-table)
(modify-syntax-entry ?\n ">" sbgl-mode-syntax-table)