emacs ido-ignore-каталоги и файлы не игнорируют весь список

Я пытаюсь игнорировать сгенерированные cmake файлы и каталоги и ., .. в Emacs ido.

Это моя конфигурация Emacs:

(setq ido-show-dot-for-dired nil)
(setq ido-ignore-directories '("CMakeFiles/" ".git/" ".bin/" "Testing/" "tmp/"))
(setq ido-ignore-files '("\.cmake" "CMakeCache.txt"))

Он скрывает .git, *.cmake и CMakeCache.txt, но по-прежнему предлагает Testing, .., . и CMakeFiles при автозаполнении.


person mortymacs    schedule 26.10.2019    source источник
comment
какую функцию ido вы вызываете? ido-ignore-directories должно влиять на ido-dired-*, тогда как ido-ignore-files влияет на другие, такие как ido-find-file -- я не думаю, что они оба используются в любом случае   -  person Rorschach    schedule 26.10.2019
comment
@picklerick Я звоню через C-x C-f.   -  person mortymacs    schedule 26.10.2019
comment
Я предполагаю, что это связано с ido-find-file (по крайней мере, для меня), поэтому вы должны иметь возможность просто добавить тестирование и т. д. в ido-ignore-files   -  person Rorschach    schedule 26.10.2019
comment
@picklerick Большое спасибо! оно работает! также, пожалуйста, дайте мне знать, как я могу добавить . и .. в список игнорирования?   -  person mortymacs    schedule 26.10.2019
comment
@picklerick Большое спасибо! Я также установил значения по умолчанию, и теперь он игнорирует пути . и ... Не могли бы вы поместить свой комментарий в качестве ответа?   -  person mortymacs    schedule 26.10.2019


Ответы (1)


Из документации этих переменных не совсем ясно (во всяком случае, мне), как они работают/на какие функции влияют, поэтому я разделяю ваше замешательство.

Для рассматриваемой функции, ido-find-file согласно комментариям, достаточно изменить переменную ido-ignore-files, включив в нее нежелательные каталоги.

После небольшого дальнейшего исследования - отслеживания библиотеки ido и вызова ido-find-file - я могу с неуверенностью сказать, что ido-ignore-directories здесь не имеет прямого отношения, а (сокращенный) путь кода

ido-find-file -> ... -> ido-make-file-list -> ... -> ido-file-name-all-completions

person Rorschach    schedule 26.10.2019