A maneira correta: preencha um relatório de erro através do canal apropriado do seu projeto, por exemplo, org-submit-bug-report
ou report-emacs-bug
e discuta por que a classe de sintaxe do seu personagem favorito deve ser alterada.
Como alternativa, você pode modificar a tabela de sintaxe adequada (info "(elisp) Syntax Tables")
, em sua init.el
.
Vamos tentar a 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))
Como alternativa, você pode usar as variáveis de fallback. Aqui está um resumo que deve funcionar, mas que você pode querer tornar mais bonito:
(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
da sua resposta.Esta resposta não responde à sua pergunta sobre como configurar
electric-pair-mode
. Mas isso pode levar você aos resultados desejados.O
wrap-region
pacote disponível no Melpa pode ser a resposta para o seu problema. Aqui está uma breve descrição do seu github:Aqui está como eu o configurei para funcionar nos meus modos selecionados. O snippet também cobre os pontos que você levantou na sua pergunta; sobre
org-mode
marcadores de propriedade de fonte.Gostaria de acrescentar que este pacote funciona muito bem com o
expand-region
pacote (também disponível no Melpa).Com estes 2 pacotes, quando eu estou
org-mode
, fazendo:MY-EXPAND-REGION-BINDING
*
em uma palavra vai torná-lo em negrito.fonte
wrap-region
pacote; é bastante útil. Atualmente, estou tentando reduzir o número de pacotes de terceiros dos quais dependo, por isso não usarei esta solução, mas ela definitivamente merece uma menção aqui! :)Com base na resposta de itsjeyd:
fonte
(?\= . ?\=)