我希望在源代码中的每一行左侧都有一种指示器。
#TODO:某些注释
// TODO: 一些注释
这种指示器可以只是一个标记,我已经启用了Emacs中显示的行号。
// TODO: 一些注释
这种指示器可以只是一个标记,我已经启用了Emacs中显示的行号。
这个命令会做出类似于你想要的操作。
(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)))))))
'find-file-hooks
中。(add-hook 'find-file-hooks 'annotate-todo)
或者,如果您只想在特定模式下使用它,可以将其添加到这些模式钩子中。
请参见Fringes、The 'display' Property、Overlays以及最重要的before-string属性。
注意:代码已于2010年2月27日更新,改为使用覆盖层而不是直接向当前文本添加文本属性。