あったら便利かもと思って、例によってでっち上げ。
(require 'anything-match-plugin)
(setq anything-c-source-find-line
'((name . "Find Line")
(init
. (lambda ()
(setq anything-source-find-line-buffer (current-buffer))))
(candidates
. (lambda ()
(with-current-buffer anything-source-find-line-buffer
(split-string (buffer-substring-no-properties
(point-min) (point-max)) "\r\n\\|\r\\|\n"))))
(candidate-transformer
. (lambda (candidate)
(let ((lnfig
(number-to-string
(1+ (floor (log10 (length candidate)))))))
(loop for line in candidate
for linenum from 1
collect (cons (format (concat "%" lnfig "d: %s")
linenum line)
linenum)))))
(action
. (("Goto line"
. (lambda (candidate)
(goto-line candidate)))))
))

コメントする