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-regexp
kann 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-regexp
muss 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-lines
und dann zwei Puffer unterscheiden.
highlight-lines-matching-regexp
Innere einzuwickeln(let ((hi-lock-mode -1)) .. )
. Ich habe das getan, um das gleiche Problem zu lösen: github.com/kaushalmodi/.emacs.d/blob/…