Questo comando farà qualcosa di simile.
(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)))))))
È possibile customize the bitmap come desiderato.
Per ottenere questo da applicare a tutti i file, è possibile aggiungere alla 'find-file-hooks
(add-hook 'find-file-hooks 'annotate-todo)
Oppure, se si desidera solo per alcune modalità, è possibile aggiungere a quei ganci modalità.
Vedere Fringes, The 'display' Property, Overlays e, soprattutto, la proprietà before-string.
Nota: Il codice è stato aggiornato il 27/02/2010 per utilizzare gli overlay anziché aggiungere direttamente le proprietà del testo al testo corrente.
fonte
2010-02-11 07:00:11
Questo lavoro fantastico. sfortunatamente ho abilitato la visualizzazione del numero di linea. Quindi i numeri delle linee hanno la precedenza su TODO: mark. Qualsiasi modo per far apparire entrambi sia –
@ Jackson Jackson. Funziona alla grande ora. Ho aggiunto accanto all'indicatore del numero di riga. Grazie mille –
Fantastico! ma ..... :) ... Ciò che sarebbe più utile è visualizzare barre rosse ai margini, ridimensionate in base alla lunghezza del documento. In altre parole, se TODO appare al 75% del punto del documento, l'indicatore apparirà anche al 75% sulla barra frange, indipendentemente dallo stato di scorrimento e se TODO fosse visibile nella finestra in quel momento. Alcuni strumenti diff fanno questo. Con questo tipo di indicatore, è possibile vedere la presenza di elementi TODO indicati nella frangia, indipendentemente dal fatto che siano visibili attualmente sullo schermo. – Cheeso