Voici ce que j'ai:
(defun my-show-duplicate-lines ()
(interactive)
(highlight-lines-matching-regexp
(concat "^"
(regexp-quote
(substring-no-properties
(thing-at-point 'line) 0 -1))
"$")
font-lock-warning-face))
Mon intention est d'ajouter ceci pour post-command-hook
trouver des lignes où je duplique la logique, mais lorsque j'exécute la commande une deuxième fois, c'est inefficace (et l'ancien verrouillage de police est toujours en vigueur).
Le deuxième problème est dû au fait que le verrouillage des polices ne se rafraîchit pas. J'ai essayé d'ajouter un (font-lock-mode -1) (font-lock-mode 1)
à la définition, mais c'était inefficace.
Je n'ai aucune idée de la raison pour laquelle la commande ne serait valable que pour une seule exécution, cependant.
unhighlight-regexp
peut également être utilisé. Quoi qu'il en soit, cette fonctionnalité est probablement mieux implémentée à l'aide d'une fonction de correspondance de verrouillage de police qui analyse le tampon pour les lignes en double et leur applique une surbrillance. Cela gérerait la mise en surbrillance automatiquement une fois qu'il n'y a pas de lignes en double.
highlight-lines-matching-regexp
doit être applicable à ce cas - c'est presque une chaussure. (Bien que j'aie également pensé à utiliser des superpositions, mais c'est un concept que je connais moins bien.)
delete-duplicate-lines
, puis différencier deux tampons.
highlight-lines-matching-regexp
intérieur(let ((hi-lock-mode -1)) .. )
. J'ai fait ça pour résoudre le même problème: github.com/kaushalmodi/.emacs.d/blob/…