LINUX.ORG.RU

emacs file filter


0

0

Добрый вечер, интересует как можно фильтровать файлы при открытии в емаксе. К примеру, чтобы open-dribble-file при дополнении по tab отображал только файлы с разрешением .c ? Пока приходит в голову написать ф-цию, которая бы парсила и выбирала файлы по маске, но может есть готовые решения, чтобы свои велосипеды не строить?

iswithb удобно работает с буферами по частям в имени буфера. Если прикрутить их алгоритм к открытию файла (на dirlist например), то будет красиво и удобно.

anonymous
()
Ответ на: комментарий от dogmeat

супер, .lisp выфильтровывает из прочих файлов, что и нужно было. Единственное с буферами по Cx-Cb не очень удобно стало, т.к. не переводит фокус на буфер выбора буферов.

pseudo-cat ★★★
() автор топика

Можно заставить ido фильтровать неугодные, или угодные, например так для фильтрации fasl файлов, генерируемых clozure cl и sbcl:

(defun ido-filter-fasls ()
  (setq ido-temp-list  ;; move . files to end (again)
	(delq nil (mapcar
		   (lambda (x) (if (or (string-match ".wx32fsl" x)
				       (string-match ".wx64fsl" x)
				       (string-match ".fasl" x))
				   nil x))
		   ido-temp-list))))

(add-hook 'ido-make-file-list-hook 'ido-filter-fasls)

cvb
()
Ответ на: комментарий от cvb
;;.emacs:
;;ido
(defun ido-filter-fasls () 
  (setq ido-temp-list   
	(delq nil (mapcar 
		   (lambda (x) (if (or (string-match ".wx32fsl" x) 
				       (string-match ".wx64fsl" x) 
				       (string-match ".fasl" x)) 
				   nil x))
		   ido-temp-list)))) 

(add-hook 'ido-make-file-list-hook 'ido-filter-fasls) 
(ido-mode t)

что-то не могу после запуска найти этот hook

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от pseudo-cat

Странно, я о нем когда-то на emacswiki вычитал, у меня

GNU Emacs 23.1.50.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.18.3) of 2009-11-22 on alpha

ido как я понял идет с емаксом, отдельно у себя я его не заметил, и у меня все работает.

cvb
()
Ответ на: комментарий от cvb

ido и у меня в стандартной поставке есть, а вот хук почему-то не добавляется, наверное я где-то туплю, вечерком посмотрю) а так для темы топика ido полностью хватает

pseudo-cat ★★★
() автор топика
Ответ на: комментарий от pseudo-cat

эмм, то что висит на C-x C-b он не должен трогать, он C-x b заменяет. а на C-x C-b можно electric-buffer-list или ibuffer например повесить.

dogmeat
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.