From mboxrd@z Thu Jan 1 00:00:00 1970 From: Peter Davis Subject: Building source code cross-reference? Date: Thu, 04 Feb 2016 10:23:23 -0500 Message-ID: <6sw6c7egcsmrdg.fsf@dhcp-7-52.hmco.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:46778) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRLkn-0007db-Px for emacs-orgmode@gnu.org; Thu, 04 Feb 2016 10:23:30 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRLkj-00009j-L3 for emacs-orgmode@gnu.org; Thu, 04 Feb 2016 10:23:29 -0500 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:33179) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRLkj-00009W-H9 for emacs-orgmode@gnu.org; Thu, 04 Feb 2016 10:23:25 -0500 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C59B320B9A for ; Thu, 4 Feb 2016 10:23:24 -0500 (EST) List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: emacs-orgmode@gnu.org I'm doing some Ruby on Rails development now, and I find it very difficult to keep track of which files are involved in which features in a complex project. For any given Web page, each feature might have its own /view/, which in turn has its own /controller/, and may involve one or more /models/, and so forth. There may be helpers, stylesheets, etc. which all apply. So now I'm thinking I can build a cross-reference, so when I have to revisit something I worked on months ago, I can jump straight to the relevant line in each of these files. I know org-mode files can contain file references, including line numbers, so I can do something like: #+BEGIN_EXAMPLE * Product Listing * [[~/blahblahblah/app/controllers/product_controller.rb::123][listing method]] * [[~/blahblahblah/app/views/product/listings.html.erb::456][listing view]] #+END_EXAMPLE and so on. This would be extremely helpful. I know I can build this by hand, but I wondered if anyone had found a way to automate or partially automate building a cross reference like this. It seems like org-capture comes close, with a little coaxing and customization. If there are similar tools for other languages, I'd love to hear about those. (I know about doxygen, but there's no ruby-on-rails version of that, as far as I can tell.) Thoughts? Thanks! -pd