模式不能处理反引号的反斜杠
目前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
Jon O.所说的:使用syntax-propertize-function
。 例如
(setq-local syntax-propertize-function
(syntax-propertize-rules ("`(\)`" (1 "."))))
Fix已经被提交到Git仓库,所需的Emacs最低为24.3,这已经在Debian Sid上测试过了。
链接地址: http://www.djcxy.com/p/80635.html