Правильный путь: заполните отчет об ошибке через соответствующий канал вашего проекта, например, org-submit-bug-report
или report-emacs-bug
и обсудите, почему следует изменить класс синтаксиса вашего любимого персонажа.
В качестве альтернативы вы можете изменить правильную синтаксическую таблицу (info "(elisp) Syntax Tables")
в своем init.el
.
Давайте попробуем Org:
(with-eval-after-load 'org
(modify-syntax-entry ?/ "(/" org-mode-syntax-table)
(modify-syntax-entry ?= "(=" org-mode-syntax-table)
(add-hook 'org-mode-hook 'electric-pair-mode))
Кроме того, вы можете использовать резервные переменные. Вот определение, которое должно работать, но которое вы можете сделать красивее:
(defun rasmus/electric-pairs-with-local-pairs (pairs)
"Start electric pair with buffer-local PAIRS.
PAIRS is a list of strings and/or cons of strings."
(require 'elec-pair)
(let ((ec-lists '(electric-pair-pairs electric-pair-text-pairs)))
(mapc 'make-local-variable ec-lists)
(mapc (lambda (L)
(mapc (lambda (elm) (add-to-list L elm))
(mapcar (lambda (x)
(if (consp x)
(cons (string-to-char (car x))
(string-to-char (cdr x)))
(cons (string-to-char x)
(string-to-char x))))
pairs)))
ec-lists))
(electric-pair-mode t))
(with-eval-after-load 'org
(add-hook 'org-mode-hook
(lambda ()
(rasmus/electric-pairs-with-local-pairs
'("/" "=" ("`" . "'"))))))
defun
в вашем ответе.Этот ответ не отвечает на ваш вопрос о том, как настроить
electric-pair-mode
. Но это может привести вас к желаемым результатам.wrap-region
Пакет , доступный на Melpa может быть ответ на вашу проблему. Вот краткое описание его github:Вот как я настроил его для работы в выбранных мной режимах. Фрагмент также охватывает вопросы, которые вы подняли в своем вопросе; о
org-mode
маркерах свойств шрифта.Я хотел бы добавить, что этот пакет действительно хорошо работает с
expand-region
пакетом (также доступен на Melpa).С этими 2 пакетами, когда я буду
org-mode
, делаю:MY-EXPAND-REGION-BINDING
*
одним словом выделю жирным шрифтом.источник
wrap-region
пакета; это довольно полезно. В настоящее время я пытаюсь уменьшить количество сторонних пакетов, от которых я зависит, поэтому я не буду использовать это решение, но оно определенно заслуживает упоминания здесь! :)Опираясь на ответ своего Джейд:
источник
(?\= . ?\=)