Emacs:左侧的TODO指示器

时间:2010-02-11 05:57:28

标签: emacs lisp elisp highlighting todo

我希望在源代码的左侧有一些indiacator,无论我在源代码中有什么

#TODO :一些评论

// TODO:一些评论

该指标可能只是一个标记,我已经启用了emacs上显示的行号。

2 个答案:

答案 0 :(得分:20)

此命令将执行您想要的操作。

(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)))))))

您可以根据需要customize the bitmap

要将此内容应用于所有文件,您可以将其添加到'find-file-hooks

(add-hook 'find-file-hooks 'annotate-todo)

或者,如果您只想要某些模式,可以将它添加到这些模式挂钩。

请参阅FringesThe 'display' PropertyOverlays,最重要的是before-string属性。

注意:代码已更新27/02/2010以使用叠加层而不是直接向当前文本添加文本属性。

答案 1 :(得分:6)

我喜欢在this post上描述的emacs-fu方法,它将TODO / FIXME / ...添加到您需要的模式的字体锁定设置中。与Trey的方法相反,这应该在您键入时强调单词,而他的方法应该只在您打开文件时突出显示它们(或者我错了)。

无论如何,它取决于你。一个好的谷歌搜索可能会给你更多的想法:http://www.google.com/search?q=emacs+highlight+todo

更新:您的问题已得到解答:Emacs, highlight all occurences of a word