all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Hongxu Chen <leftcopy.chx@gmail.com>
To: "Ludwig, Mark" <ludwig.mark@siemens.com>
Cc: "help-gnu-emacs@gnu.org" <help-gnu-emacs@gnu.org>,
	C K Kashyap <ckkashyap@gmail.com>
Subject: Re: help needed setting up etags on Windows
Date: Wed, 19 Jun 2013 21:02:46 +0800	[thread overview]
Message-ID: <877ghqxngp.fsf@gmail.com> (raw)
In-Reply-To: <BC5672F8AD4C054BAF167C9801500D1ABCB48FB6@USSLMMBX003.net.plm.eds.com> (Mark Ludwig's message of "Wed, 19 Jun 2013 12:16:43 +0000")

"Ludwig, Mark" <ludwig.mark@siemens.com> 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 <leftcopy.chx@gmail.com> wrote:
>
>> Eli Zaretskii <eliz@gnu.org> writes:
>>
>> >> Date: Tue, 18 Jun 2013 17:59:09 +0530
>> >> From: C K Kashyap <ckkashyap@gmail.com>
>> >>
>> >> 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



  reply	other threads:[~2013-06-19 13:02 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-18 12:29 help needed setting up etags on Windows C K Kashyap
2013-06-18 12:37 ` Doug Lewan
2013-06-18 12:41   ` C K Kashyap
2013-06-18 12:53     ` C K Kashyap
2013-06-18 16:15 ` Eli Zaretskii
2013-06-19  0:46   ` Hongxu Chen
2013-06-19  4:24     ` C K Kashyap
2013-06-19 12:16       ` Ludwig, Mark
2013-06-19 13:02         ` Hongxu Chen [this message]
2013-06-19 17:39           ` C K Kashyap
     [not found] <mailman.1910.1371558556.22516.help-gnu-emacs@gnu.org>
2013-08-28 11:53 ` Glen Stark

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=877ghqxngp.fsf@gmail.com \
    --to=leftcopy.chx@gmail.com \
    --cc=ckkashyap@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=ludwig.mark@siemens.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.