Сохранить файл TAGS в корневом проекте Emacs - PullRequest
0 голосов
/ 05 июня 2018

Как сохранить TAGS файл JUST в корневом каталоге проекта?

Мой конфиг emacs сохранит файл TAGS в каждом каталоге, когда я изменю файл.Например, когда я изменяю файл в каталоге src/, он сохраняет файл TAGS в этом каталоге вместо сохранения этого файла в корневом каталоге проекта:

project1:
  main.py
  TAGS          <<< correct.
  src/
      newlib.py
      TAGS      <<< incorrect. this file should be store in root directory (project1/TAGS)
  libs/
      something.py

Это моя конфигурация emacs дляTAGS:

;; create tags
(defun create-tags (dir-name)
  "Create tags file."
  (interactive "DDirectory: ")
    (eshell-command
      (format "find . -type f -iname \"*.py\" -not -path \"*/venv/*\" | etags -" dir-name)))

;; refresh tags
(defun er-refresh-etags (&optional extension)
  "Run etags on all peer files in current dir and reload them silently."
  (interactive)
    (shell-command (format "find . -type f -iname \"*.py\" -not -path \"*/venv/*\" | etags -" '.))
    (let ((tags-revert-without-query t))  ; don't query, revert silently          
      (visit-tags-table default-directory nil)))

;; hooks for tags
(create-tags '.)
(add-hook 'after-save-hook (create-tags '.))
(add-hook 'after-save-hook #'er-refresh-etags)
...