Nor*_*löw 7 emacs elisp d syntax-highlighting string-literals
目前Emacs https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode无法正确突出显示
`\`
Run Code Online (Sandbox Code Playgroud)
因为它不理解单个反斜杠在这样的原始字符串文字中是自包含的.
我相信这个来自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)))
Run Code Online (Sandbox Code Playgroud)
与这个问题高度相关.如何解决这个问题的想法?
另见:http://forum.dlang.org/post/kqzbgawuzyemcyjnsuin@forum.dlang.org
Jon O. 所说:使用syntax-propertize-function. 例如
(setq-local syntax-propertize-function
(syntax-propertize-rules ("`\\(\\\\\\)`" (1 "."))))
Run Code Online (Sandbox Code Playgroud)