Folgendes habe ich:
(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))
Ich möchte dies hinzufügen post-command-hook, um Zeilen zu finden, in denen ich Logik dupliziere. Wenn ich den Befehl jedoch ein zweites Mal ausführe, ist er unwirksam (und die alte Schriftsperrung ist immer noch wirksam).
Das zweite Problem wird dadurch verursacht, dass sich die Schriftsperre nicht selbst aktualisiert. Ich habe versucht (font-lock-mode -1) (font-lock-mode 1), der Definition ein hinzuzufügen , aber es war unwirksam.
Ich habe jedoch keine Ahnung, warum der Befehl nur für einen Lauf gut wäre.
unhighlight-regexpkann auch benutzt werden. Unabhängig davon lässt sich diese Funktion wahrscheinlich am besten mit einer Funktion zum Abgleichen der Schriftsperre implementieren, die den Puffer nach doppelten Zeilen durchsucht und diese hervorhebt. Dies würde die Hervorhebung automatisch behandeln, sobald keine doppelten Zeilen vorhanden sind.
highlight-lines-matching-regexpmuss aber auf diesen Fall anwendbar sein - es ist fast ein Schuh-in. (Obwohl ich auch über die Verwendung von Overlays nachgedacht habe, ist mir dieses Konzept weniger vertraut.)
delete-duplicate-linesund dann zwei Puffer unterscheiden.
highlight-lines-matching-regexpInnere einzuwickeln(let ((hi-lock-mode -1)) .. ). Ich habe das getan, um das gleiche Problem zu lösen: github.com/kaushalmodi/.emacs.d/blob/…