From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <509071940802162134y571aaf2w77840afd1477a9e6@mail.gmail.com> Date: Sun, 17 Feb 2008 00:34:45 -0500 From: "Anthony Sorace" To: "Fans of the OS Plan 9 from Bell Labs" <9fans@cse.psu.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: [9fans] ctags on plan 9 with acme-friendly tags Topicbox-Message-UUID: 57a1ad28-ead3-11e9-9d60-3106f5b1d025 i occasionally have to deal with moderate to large bodies of code written by others and of questionable structural integrity. most often this is C code, but sometimes its other things. there are a few tools i've seen which help on the learning curve; ctags is one of the more significant one. i've gotten Exuberant Ctags 5.7 to run on plan 9 ("ported" is a bit strong; it was two tweaks after './configure'). i've also added options to produce filename:line tags for acme and the plumber. i'm cleaning things up a bit for upstream submission, but in the mean time you can get what i've done at /n/sources/contrib/anothy/src/ctags; there's a README.plan9 that gives instructions for building ('make ctags' under ape and then 'cp ctags $home/bin/$objtype', basically) and what the changes from the distribution were. exuberant generates tags for a dozen or so languages, but i've only tested it with C; i'll be pushing some perl and php at it this week. if anyone would like to try it with anything else it supports, please let me know how it goes. i'm considering doing a limbo parser; exuberant makes it relatively easy to add language. of course, i've never seen limbo code convoluted enough to make it relevant there. i'm also considering writing a program for use with acme's 2-1 chord to look up elements in a tag file. if anyone's interested in either of those (either has a use for them or would like to do them), let me know. i'd like to get something that'll generate visual static call graphs eventually (feed into graphviz, perhaps), but i'm not likely to spend any time on it in the near future. if anyone's look at that, i'd love to hear about it. incidentally, the levels of (mis?)indirection in exuberant's argument processing are truly "impressive". anthony