Ecco cosa ho:
(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))
La mia intenzione è quella di aggiungere questo per post-command-hook
trovare le linee in cui sto duplicando la logica, ma quando eseguo il comando una seconda volta, è inefficace (e il vecchio blocco dei caratteri è ancora attivo).
Il secondo problema è causato dal blocco dei caratteri che non si aggiorna da solo. Ho provato ad aggiungere (font-lock-mode -1) (font-lock-mode 1)
a alla definizione, ma era inefficace.
Non ho idea del perché il comando sarebbe buono solo per una corsa, però.
unhighlight-regexp
può anche essere usato. Indipendentemente da ciò, questa funzione è probabilmente meglio implementata usando una funzione di corrispondenza del blocco dei caratteri che scansiona il buffer alla ricerca di linee duplicate e applica l'evidenziazione ad esse. Ciò gestirà automaticamente la non evidenziazione quando non ci sono linee duplicate.
highlight-lines-matching-regexp
deve essere applicabile a questo caso: è quasi una scarpa. (Anche se ho pensato anche di usare le sovrapposizioni, ma è un concetto con cui ho meno familiarità.)
delete-duplicate-lines
, quindi diff due buffer.
highlight-lines-matching-regexp
interno(let ((hi-lock-mode -1)) .. )
. L'ho fatto per risolvere lo stesso problema: github.com/kaushalmodi/.emacs.d/blob/…