La bonne façon: remplissez un rapport de bogue via le canal approprié de votre projet, par exemple org-submit-bug-report
ou report-emacs-bug
et discutez pourquoi la classe de syntaxe de votre personnage préféré devrait être modifiée.
Alternativement, vous pouvez modifier la table de syntaxe appropriée (info "(elisp) Syntax Tables")
, dans votre init.el
.
Essayons 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))
Vous pouvez également utiliser les variables de secours. Voici un defun qui devrait fonctionner, mais que vous voudrez peut-être rendre plus joli:
(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
dans votre réponse.Cette réponse ne répond pas à votre question sur la configuration
electric-pair-mode
. Mais cela pourrait vous conduire aux résultats souhaités.Le
wrap-region
package disponible sur Melpa pourrait être la réponse à votre problème. Voici sa brève description de son github:Voici comment je l'ai configuré pour fonctionner dans mes modes sélectionnés. L'extrait couvre également les points que vous avez soulevés dans votre question; sur
org-mode
les marqueurs de propriété de police.Je voudrais ajouter que ce package fonctionne très bien avec le
expand-region
package (également disponible sur Melpa).Avec ces 2 packages, quand j'y suis
org-mode
, faire:MY-EXPAND-REGION-BINDING
*
sur un mot le rendra gras.la source
wrap-region
paquet; c'est assez utile. J'essaie actuellement de réduire le nombre de packages tiers dont je dépend, donc je n'utiliserai pas cette solution, mais elle mérite certainement une mention ici! :)S'appuyant sur la réponse de itsjeyd:
la source
(?\= . ?\=)