Last edit

Summary: open files present in TAGS file w/out specifying the full path, and use the same TAGS file across multiple work areas for the same project.


> ----
> CategoryProgrammerUtils CategoryCompletion

Do you find yourself working in multiple work areas (sandboxes) for the same project?

Do you want to jump directly to a file present in your TAGS file without specifying the path?

Then the package Lisp:find-file-in-tags.el is for you!

From the header of the file:

;; Installation:
;; Add a binding to the main function, then use it:
;;   (global-set-key (read-kbd-macro "C-,") 'find-file-in-tags)
;; When you call 'find-file-in-tags, you'll be prompted for a file name.
;; If more than one file matches what you've typed, you're offered to
;; refine your choice - this time using the full paths to the files.
;; This routine also takes into account multiple work areas for the same project.
;; Let's say you have a project which has the files
;;      myproject/file.c
;;      myproject/file.h
;; And you've checked out two work areas
;; ~/work/monday_version/TAGS
;; ~/work/monday_version/file.c
;; ~/work/monday_version/file.h
;; ~/work/monday_version/subdir/helper.h
;; ~/work/thursday_version/TAGS
;; ~/work/thursday_version/file.c
;; ~/work/thursday_version/file.h
;; ~/work/thursday_version/subdir/helper.h
;; When you invoke 'find-file-in-tags in the buffer file.c (in monday_version)
;; the file you open up will be found in ~/work/monday_version, e.g.
;;     M-x find-file-in-tags helper.h RET
;; will open up ~/work/monday_version/subdir/helper.h
;; If you you were visiting file.c in thursday_version, the helper.h opened
;; would be the one in thursday_version
;; And this just uses a single TAGS file.

CategoryProgrammerUtils CategoryCompletion