【xyzzy】Grepしたときに画像ファイルは無視するマクロ

普通にGrepすると画像もスキャンしてしまうので、検索対象から除外するマクロを書いた。正規表現で対象ファイルを限定することもできるけど、いちいち指定するのがメンド臭くなったので。

前に書いたフォルダを対象外にするマクロを拡張。

;;
;;Grepをしたときに特定のディレクトと画像は無視する
(defvar *ignore-scan-dirs* (list "dic" ".svn" ".hg")) ;;対象外にするフォルダ
(defvar *ignore-scan-files* (list ".png" ".jpg" ".gif")) ;;対象外にするファイル(拡張子)
(defvar *org-scan-files-1* (function ed::scan-files-1)) ;;元の関数
(defun ed::scan-files-1 (file pattern buffer scanner)
  (let (skip)
    (dolist (dir *ignore-scan-dirs*)
      (setq dir (append-trail-slash dir))
      (setq pos (string-match dir file))
      (when pos
        (setq skip t)
        (return)))
    (dolist (ext *ignore-scan-files*)
      (setq pos (string-match ext file))
      (when pos
        (setq skip t)
        (return)))
    (unless skip
      (funcall *org-scan-files-1* file pattern buffer scanner))))

 

<関連記事>

【xyzzy】Grepしたときに特定のフォルダを除外する