From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Hongxu Chen Newsgroups: gmane.emacs.help Subject: Re: help needed setting up etags on Windows Date: Wed, 19 Jun 2013 21:02:46 +0800 Message-ID: <877ghqxngp.fsf@gmail.com> References: <838v27s8ds.fsf@gnu.org> <87txkv7wr0.fsf@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1371646997 31682 80.91.229.3 (19 Jun 2013 13:03:17 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 19 Jun 2013 13:03:17 +0000 (UTC) Cc: "help-gnu-emacs@gnu.org" , C K Kashyap To: "Ludwig, Mark" Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Jun 19 15:03:19 2013 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UpI2g-0005zi-7U for geh-help-gnu-emacs@m.gmane.org; Wed, 19 Jun 2013 15:03:18 +0200 Original-Received: from localhost ([::1]:56336 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpI2f-0005WM-Ki for geh-help-gnu-emacs@m.gmane.org; Wed, 19 Jun 2013 09:03:17 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:54791) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpI2M-0005T9-Eb for help-gnu-emacs@gnu.org; Wed, 19 Jun 2013 09:03:01 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UpI2H-0003cR-D9 for help-gnu-emacs@gnu.org; Wed, 19 Jun 2013 09:02:58 -0400 Original-Received: from mail-pd0-f172.google.com ([209.85.192.172]:63946) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UpI2H-0003c9-3o for help-gnu-emacs@gnu.org; Wed, 19 Jun 2013 09:02:53 -0400 Original-Received: by mail-pd0-f172.google.com with SMTP id z10so5060587pdj.17 for ; Wed, 19 Jun 2013 06:02:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=CEYEukf1l2E1/tr+qYpOECmThcY3mzZ11XdQyCh1qZE=; b=0kBDQtUrLcLIpuJAnYNW/cLYLl8Hba+lTbMnQwv7kvPHK3xeg8klKfHLZdLiqELyq5 yv0m7+66eLlHShX2qcC+JTPvspQYtuR4gWoaVDeXPAM4rZ2dzX56nYRoFUcCFMAJWfUX +alcYFHBA3cRkyto/QfEhx5X3jOHxuf0nSFw2CUtWinYopkR4tDm1wLhCh9FHTdWRFYZ 1xjdEKLqdcw7FDaUlYV78qv/BqqwOGfKjs2aLwxdJf7hd6CJttZ9VTpPWisyIO9ZHvIS 605ImCey4mMxWtFnR6KjVcne7lN5N3w/48U3eH+9ATWib2ZXrlksTcYoDxNDaYJAMQvU 3oRQ== X-Received: by 10.68.247.131 with SMTP id ye3mr2759427pbc.87.1371646972275; Wed, 19 Jun 2013 06:02:52 -0700 (PDT) Original-Received: from hongxuchen-VM.STAP ([167.220.232.198]) by mx.google.com with ESMTPSA id wi6sm23084257pbc.22.2013.06.19.06.02.49 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 19 Jun 2013 06:02:51 -0700 (PDT) In-Reply-To: (Mark Ludwig's message of "Wed, 19 Jun 2013 12:16:43 +0000") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.192.172 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.help:91604 Archived-At: "Ludwig, Mark" writes: > I hope you will share your results/decision at some point. Here are my related configuration links for C/C++ development: 1. https://github.com/HongxuChen/dotfiles/blob/master/_emacs.d/config/init-cc-mode.el General cc mode settings 2. https://github.com/HongxuChen/dotfiles/blob/master/_emacs.d/config/init-flymake.el Add a flymake clang for single files 3. auto-complete-clang+yasnippet+autopair for editing assistance 4. fic-mode for highlight FIXME/TODO etc. 5. source code navigation: (1) tag based: xgtags.el and xcscope.el(for header files that I never modify since I cscope seems more accurate than xgtags). (2) semantic based: cc-lookup(a simple script I write, based on clang-lookup; it only looks for declaration/definition, no reference support, no name refactoring support, and more improvements are expected) https://github.com/HongxuChen/cc-lookup 6. I also use directory local variables quite a lot There are also several clang based tools for C/C++ coding: 1. https://github.com/Sarcasm/irony-mode auto complete headers and code, syntax check; I cannot make the trigger key right and there are some bugs for its plugins. 2. https://github.com/Golevka/emacs-clang-complete-async a client-server version of auto-complete-completion; faster than auto-complete-clang but many bugs 3. https://github.com/Andersbakken/rtags Powerful tag system, there is a series video about it on Youtube, lookup defintion/declaration/reference, rename refactoring, code completion; but I don't know how to configure right:-( 4. company-mode It's inferior to auto-complete and I don't use it. > > I've used etags for decades but have been doing only C coding. > I'm on the cusp of switching to a C++ project, and etags just doesn't cut it. > I'll be interested in what you find with Ebrowse. > I've also seen chatter about CEDET being good for C++. Personally I don't like CEDET(together with ECB) since it's too Emacsy and I come from Vim; the most important thing is that it sucks quite often and the speed is not satisfying. But there seems a clang semantics analysis on it and I hope it would make a hit. > > Cheers, > Mark Ludwig > > -----Original Message----- > From: help-gnu-emacs-bounces+ludwig.mark=siemens.com@gnu.org [mailto:help-gnu-emacs-bounces+ludwig.mark=siemens.com@gnu.org] On Behalf Of C K Kashyap > Sent: Tuesday, June 18, 2013 11:25 PM > To: Hongxu Chen > Cc: help-gnu-emacs@gnu.org > Subject: Re: help needed setting up etags on Windows > > I am going to give cscope (infact, I forgot, I always used cscope with vim > :) ) > I'll readup on ebrowse as well .... > > Thank you very much, > Kashyap > > > On Wed, Jun 19, 2013 at 6:16 AM, Hongxu Chen wrote: > >> Eli Zaretskii writes: >> >> >> Date: Tue, 18 Jun 2013 17:59:09 +0530 >> >> From: C K Kashyap >> >> >> >> Could someone please help me get started with setting up etags for a >> large >> >> C++ source base? I'd like to use emacs on cygwin. I assume etags is the >> >> right tool for source indexing with emacs. >> > >> > For C++, you will be better off with ebrowse, a program that also >> > comes with Emacs. It understands C++ much better than etags does, and >> > provides similar commands (so you don't lose anything). Check out the >> > Ebrowse manual, which is part of the Emacs distribution, for details. >> >> I guess cscope would be better, and there is an elisp script called >> xcscope.el. >> http://cscope.sourceforge.net/ >> http://inst.eecs.berkeley.edu/~cs186/fa05/debugging/xcscope.el >> >> But it sucks when you need to modify some of your source code since the >> update of cscope database always takes much time(AFAIK, there is no >> incremental update at all); so it would be rather annoying if the code >> base is large and there is a need to update the tag database >> frequently. >> There is another tagging system called GNU Global, however >> it seems not available in cygwin. >> >> -- >> Regards, >> Hongxu Chen >> >> -- Regards, Hongxu Chen