I use imenu as well for looking within a current file. Speedbar was kind of cool, but it does not support the capabilities that I mentioned...i would have to use tags externally.. I think that I'll give your etags method a chance. Would still have to do this for every sub-directory or does your 'find' method do this recursively? Has anyone ever tried to make something like I was originally looking for? I think that it would most naturally fit into ecb...instead of running the tags externally, build in the feature to ecb. Thanks. -- Javier "Kai Großjohann" wrote in message news:844r146ock.fsf@slowfox.is.informatik.uni-duisburg.de... > "Javier Oviedo" writes: > > > Is there some utility that will let me automatically create this kind of > > tag/project system given some path? Ideally it would support the following > > functionality: > > > > 1. Given a root dir, it would add all sub-directories(and files within) to > > this project. > > 2. It would auto-update tags tables when/if a file is modified. > > > > I'm not sure if this is asking too much, but please let me know if there is > > anything that performs some or all of these features. Thanks in advance! > > I think you have to do it manually, but make is your friend. > > rm TAGS; touch TAGS > find . -name '*.[hc]' -print | xargs etags -a > > These commands add all *.h and *.c files to the TAGS file. You need > to rerun them whenever something big has changed. So you could just > add these commands to your normal build process, for instance. After > all, if something big has changed, you're going to build the program > anyway to check if it still works... > > Note that small modifications are not a problem -- M-. is smart > enough to look around if the position information in TAGS is slightly > off. > > You might also like the Emacs Code Browser and the Semantic > Bovinator. The latter has some code parsers which give you tags-like > functionality, and the former provides a GUI. > > Also, see M-x speedbar RET and also M-x imenu RET. I use M-x imenu > RET a lot to jump around in the same file. > -- > ~/.signature