有时需要在代码里写一些中文注释,但Emacs的show-paren-mode
对中文括号的支持似乎不太好?
(show-paren-mode 1)
当中文里存在空格时候,显示有问题,看如下例子:
英文没问题。
中文,但是中间没有空格,也没问题。
中文,但是中间有空格,显示不正常。
有时需要在代码里写一些中文注释,但Emacs的show-paren-mode
对中文括号的支持似乎不太好?
(show-paren-mode 1)
当中文里存在空格时候,显示有问题,看如下例子:
英文没问题。
中文,但是中间没有空格,也没问题。
中文,但是中间有空格,显示不正常。
似乎是类 lisp 模式下特有的 bug。
(defun test-show-paren (mode text)
(with-temp-buffer
(funcall mode)
(insert text)
(goto-char (point-max))
(show-paren--default)))
(test-show-paren 'emacs-lisp-mode "(英文 括号)" ) ;; => (7 8 1 2 nil)
(test-show-paren 'emacs-lisp-mode "(中文 括号)") ;; => (7 8 5 6 t)
(test-show-paren 'lisp-mode "(中文 括号)") ;; => (7 8 5 6 t)
(test-show-paren 'clojure-mode "(中文 括号)") ;; => (7 8 5 6 t)
(test-show-paren 'c-mode "(中文 括号)") ;; => (7 8 1 2 nil)
(test-show-paren 'python-mode "(中文 括号)") ;; => (7 8 1 2 nil)
show-paren 代码不长,可以研究一下。