unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: David Engster <deng@randomsample.de>
To: Dmitry Gutov <dgutov@yandex.ru>
Cc: Ramneek Handa <ramneekhanda@gmail.com>, Emacs-devel@gnu.org
Subject: Re: clang/emacs/ecb/semantic
Date: Thu, 29 Nov 2012 21:27:47 +0100	[thread overview]
Message-ID: <87ehjcrw70.fsf@engster.org> (raw)
In-Reply-To: <87wqx42nag.fsf@yandex.ru> (Dmitry Gutov's message of "Thu, 29 Nov 2012 23:59:19 +0400")

Dmitry Gutov writes:
> Ramneek Handa <ramneekhanda@gmail.com> writes:
>
>> Would anyone like to collaborate on an advanced c++ browsing capabilities in
>> emacs using clang?
>>
>> I have some basic code ready which can provide very intrusive data about a
>> program which can be used to build a source file outline, semantic highlighting,
>> jump to declaration , jump to definition et all.. i am not very good with elisp
>> and don't have much time to devote on it.. 
>>
>> I would be very happy if i can find like minded developers who would like to get
>> it done..
>
> According to this, there already is a semantic-clang.el in the CEDET
> trunk: http://sourceforge.net/mailarchive/message.php?msg_id=27383453

That one only does completion. It was more or less a proof-of-concept
and I'm not sure if it's working with latest clang binaries. This is
also the reason why this feature isn't available in the CEDET version
that ships with Emacs.

Regarding the OP's mail: There are already projects out there using
libclang for code completion and navigation:

https://github.com/Andersbakken/rtags
https://github.com/Golevka/emacs-clang-complete-async

I did look into using libclang and also libtooling for better C++
support in CEDET. Its main drawback is that it isn't fault-tolerant at
all. If you're editing a C++ file and an #include cannot be found, or a
closing brace is missing, you cannot get a proper AST to visit. Also, I
think libtooling is more flexible than libclang, but compiling stuff
with it is *really* cumbersome.

What I would be very interested in is to have a parser based on libclang
or libtooling, which can output a simplified AST from C++ files. Maybe I
should just try gcc-xml again...

-David



  reply	other threads:[~2012-11-29 20:27 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-11-29 16:32 clang/emacs/ecb/semantic Ramneek Handa
2012-11-29 19:59 ` clang/emacs/ecb/semantic Dmitry Gutov
2012-11-29 20:27   ` David Engster [this message]
2012-11-29 20:38     ` clang/emacs/ecb/semantic Óscar Fuentes
2012-11-29 20:49       ` clang/emacs/ecb/semantic David Engster
2012-11-30  2:52       ` clang/emacs/ecb/semantic Richard Stallman
2012-11-30  6:34         ` clang/emacs/ecb/semantic Pascal J. Bourguignon
2012-11-30 15:15           ` clang/emacs/ecb/semantic David Engster
2012-11-30 15:25             ` clang/emacs/ecb/semantic ramneek
2012-12-01  4:44               ` clang/emacs/ecb/semantic Richard Stallman
2012-12-04 17:04                 ` clang/emacs/ecb/semantic David Engster
2012-11-30 20:11           ` clang/emacs/ecb/semantic Richard Stallman
2012-11-30 21:02             ` clang/emacs/ecb/semantic Óscar Fuentes
2012-12-01 19:30               ` clang/emacs/ecb/semantic Richard Stallman
2012-12-01 19:30               ` clang/emacs/ecb/semantic Richard Stallman
2012-11-30 21:50             ` clang/emacs/ecb/semantic Pascal J. Bourguignon
2012-12-02  4:15               ` clang/emacs/ecb/semantic Richard Stallman
2012-12-02  5:13                 ` clang/emacs/ecb/semantic Daniel Colascione
2012-12-03  0:02                   ` clang/emacs/ecb/semantic Richard Stallman
2012-12-03  1:42                     ` clang/emacs/ecb/semantic Daniel Colascione
2012-12-03 17:08                       ` clang/emacs/ecb/semantic Eli Zaretskii
2012-12-03 17:21                         ` clang/emacs/ecb/semantic Chong Yidong
2012-12-03 17:56                           ` clang/emacs/ecb/semantic Eli Zaretskii
2012-12-03 18:14                             ` clang/emacs/ecb/semantic Daniel Colascione
2012-12-03 18:50                               ` clang/emacs/ecb/semantic Eli Zaretskii
2012-12-03 19:37                                 ` clang/emacs/ecb/semantic Stefan Monnier
2012-12-04  0:51                                   ` clang/emacs/ecb/semantic joakim
2012-12-04  2:17                                     ` clang/emacs/ecb/semantic Stefan Monnier
2012-12-04  1:04                                   ` clang/emacs/ecb/semantic joakim
2012-12-04  0:41                               ` clang/emacs/ecb/semantic Richard Stallman
2012-12-03 19:34                       ` clang/emacs/ecb/semantic Richard Stallman
2012-12-02  9:04                 ` clang/emacs/ecb/semantic Stephen J. Turnbull
2012-12-02 13:48                   ` clang/emacs/ecb/semantic Helmut Eller
2012-12-03  0:02                     ` clang/emacs/ecb/semantic Richard Stallman
2012-12-03 16:02                       ` clang/emacs/ecb/semantic Burton Samograd
2012-12-04  0:40                         ` clang/emacs/ecb/semantic Richard Stallman
2012-12-04 14:05                           ` clang/emacs/ecb/semantic Miguel Guedes
2012-12-05 11:49                             ` clang/emacs/ecb/semantic Richard Stallman
2012-12-05 17:21                             ` clang/emacs/ecb/semantic Paul Eggert
2012-12-03  0:02                   ` clang/emacs/ecb/semantic Richard Stallman
2012-12-02 13:59                 ` clang/emacs/ecb/semantic Pascal J. Bourguignon
2012-12-03  0:02                   ` clang/emacs/ecb/semantic Richard Stallman
2012-12-03  0:02                   ` clang/emacs/ecb/semantic Richard Stallman
2012-12-03  0:02                   ` clang/emacs/ecb/semantic Richard Stallman
2012-11-30  6:46         ` clang/emacs/ecb/semantic Helmut Eller
2012-11-30  2:51 ` clang/emacs/ecb/semantic Richard Stallman

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=87ehjcrw70.fsf@engster.org \
    --to=deng@randomsample.de \
    --cc=Emacs-devel@gnu.org \
    --cc=dgutov@yandex.ru \
    --cc=ramneekhanda@gmail.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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).