目前,Emacs https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode无法正确突出显示
`\`
因为它并不了解单个反斜杠 在这样的原始字符串文字中自包含。
我相信这个摘自d-mode.el
(defvar d-mode-syntax-table nil
"Syntax table used in d-mode buffers.")
(or d-mode-syntax-table
(setq d-mode-syntax-table
(let ((table (funcall (c-lang-const c-make-mode-syntax-table d))))
;; Make it recognize D `backquote strings`
(modify-syntax-entry ?` "\"" table)
;; Make it recognize D's nested /+ +/ comments
(modify-syntax-entry ?+ ". 23n" table)
table)))
与此问题密切相关。关于如何解决这个问题的想法?
另请参阅:http://forum.dlang.org/post/kqzbgawuzyemcyjnsuin@forum.dlang.org
答案 0 :(得分:3)
Jon O.说:使用syntax-propertize-function
。 E.g。
(setq-local syntax-propertize-function
(syntax-propertize-rules ("`\\(\\\\\\)`" (1 "."))))
答案 1 :(得分:1)
现在已经将修复程序提交到Git存储库,其中必需的Emacs最小值为24.3,因为它已经在Debian Sid上进行了测试。