TAGS
プロジェクトのルートにファイルを保存する方法は?
ファイルを変更すると、私のemacsTAGS
構成は各ディレクトリにファイルを保存します。たとえば、ディレクトリ内のファイルを変更する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)