Dieser Befehl wird etwas wie Sie wollen.
(defun annotate-todo()
"put fringe marker on TODO: lines in the curent buffer"
(interactive)
(save-excursion
(goto-char (point-min))
(while (re-search-forward "TODO:" nil t)
(let ((overlay (make-overlay (- (point) 5) (point))))
(overlay-put overlay 'before-string (propertize "A"
'display '(left-fringe right-triangle)))))))
Sie können customize the bitmap wie gewünscht.
dies auf alle Dateien anwenden zu erhalten, können Sie es auf die 'find-file-hooks
(add-hook 'find-file-hooks 'annotate-todo)
Oder fügen Sie, wenn Sie es nur für bestimmte Modi wollen, können Sie es zu diesen Modus Haken hinzufügen könnte.
Siehe Fringes, The 'display' Property, Overlays und vor allem die before-string Eigenschaft.
Hinweis: Der Code wurde 27.02.2010 aktualisiert, um Overlays zu verwenden, anstatt dem aktuellen Text Texteigenschaften direkt hinzuzufügen.
Diese Arbeit groß. Leider habe ich die Zeilennummer aktiviert. Zeilennummern überschreiben also das TODO: -Zeichen. Jeder Weg, um beide zu erscheinen –
@Trey Jackson. Es funktioniert jetzt großartig. Ich habe neben Zeilennummernanzeige hinzugefügt. Vielen Dank –
Cool! aber ..... :) ... Was nützlicher wäre, rote Balken am Rand anzuzeigen, skaliert auf die Länge des Dokuments. Mit anderen Worten, wenn das TODO an dem 75% -Punkt des Dokuments erscheint, würde der Indikator auch bei 75% auf dem Randbalken erscheinen, ungeachtet des Scroll-Zustands und ob das TODO zu diesem Zeitpunkt in dem Fenster sichtbar war. Einige Diff-Tools tun dies. Mit dieser Art von Indikator können Sie das Vorhandensein von TODO-Elementen erkennen, die am Rand angezeigt werden, unabhängig davon, ob sie gerade auf dem Bildschirm angezeigt werden. – Cheeso