ffap-cperl-mode - Perlモジュールのソースをその場で開くelisp

やったこと

  • ::が含まれるかどうかという判定をやめた
  • perldocのオプションを-mlにした
  • perldoc実行結果の改行削除をsubstringでchopすることにした
  • ffap-locate-fileは不要なのでやめた。
(defun ffap-cperl-mode (file)
  (let ((real-file (shell-command-to-string (concat "perldoc -ml " file))))
    (unless (string-match "No module found for " real-file)
      (substring real-file 0 -1)
    )))

(add-to-list 'ffap-alist '(cperl-mode . ffap-cperl-mode))

やりたいこと

  • perldocが少々重いため、直前のワードが(use|require)な場合などのようにパッケージ名と判断できるもののみを対象にする。
  • File::*がURI(fileプロトコル)と勘違いされてしまうため補完できないので何とかしたい。