2011년 3월 9일 수요일

[Emacs] How to build TAGS using ctags?

etags 라는게 있다. Emacs 패키지 안에 포함되어 있는 녀석이고 이름처럼 ctags와 비슷하게 심볼을 추출해서 데이터베이스화 하는 유틸리티이다. 당연스럽게도 Emacs에서 사용하기 위한 포맺으로 데이터베이스를 생성하는 유틸리티다.

차이점이야 태그 포맺의 문법적인 차이라던가 태그파일이름(etags는 대문자로 TAGS로 표현)이 있겠지만 굳이 차이점을 생각할 필요는 없을 것 같다. 왜냐하면 ctags로도 etags 포맺으로 태그 파일 생성이 가능하니까.
ctags -f TAGS -e -R .
-e 옵션이 바로 그것이다.

너무 내용이 짧아져서 덤으로 elisp function하나 던져볼까 한다. -_-;;
(defun build-tags (dir-name)
  "Build TAGS file."
  (interactive "DDirectory: ")
  (shell-command
   (format "ctags -f %s/TAGS -e -R %s" dir-name (directory-file-name dir-name))))
M-x build-tags를 입력하고 특정 디렉토리를 입력해 주면 거기다 TAGS 파일을 만들어 준다. 어디선가 주워온 코드를 약간만 수정해서 사용하는 거라 독창성에 문제는 있겠지만 어쨌건 쓸 만 하다.

ps. 윈도우 계열은 대소문자를 구분하지 않기 때문에 둘 간의 태그파일 이름(tags와 TAGS)이 충돌하게 된다. 둘 중 하나만 사용해야 되는 미운 윈도우!

댓글 없음 :