From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Eric M. Ludlam" Newsgroups: gmane.emacs.devel Subject: Re: From etags to ctags? Date: Wed, 04 Jun 2014 21:11:27 -0400 Message-ID: <538FC3BF.7040101@siege-engine.com> References: <20140604142339.GA27417@debian> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1401930721 28577 80.91.229.3 (5 Jun 2014 01:12:01 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 5 Jun 2014 01:12:01 +0000 (UTC) Cc: emacs-devel@gnu.org To: Danil Orlov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 05 03:11:54 2014 Return-path: Envelope-to: ged-emacs-devel@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 1WsMDh-0006dH-B6 for ged-emacs-devel@m.gmane.org; Thu, 05 Jun 2014 03:11:53 +0200 Original-Received: from localhost ([::1]:37711 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsMDg-0007oq-SF for ged-emacs-devel@m.gmane.org; Wed, 04 Jun 2014 21:11:52 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42853) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsMDV-0007o6-H7 for emacs-devel@gnu.org; Wed, 04 Jun 2014 21:11:50 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WsMDJ-0007zm-Mn for emacs-devel@gnu.org; Wed, 04 Jun 2014 21:11:41 -0400 Original-Received: from mail-qa0-x22a.google.com ([2607:f8b0:400d:c00::22a]:56405) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WsMDJ-0007zi-HU for emacs-devel@gnu.org; Wed, 04 Jun 2014 21:11:29 -0400 Original-Received: by mail-qa0-f42.google.com with SMTP id j5so427546qaq.29 for ; Wed, 04 Jun 2014 18:11:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:content-transfer-encoding; bh=Vxfx1INfvgSbUEKrtCeAG5IHOW3/Feu7LEsTi2YgOlE=; b=J0usPSglozqgqClc41ZJa3CtJOS+SCg6TtmM3+Y8iRnMF2Q3mavRZfWH3j9vFSLZ1K TVGEEEJd7ObE0+TqHzSPcd68lwNLZMmK+n1tLcQo96WbUBVV8W4dIrAcU0xV8DHdFpmX cedCu/QuITAmSpdyrrfdjlsbwReomKRWYqM2inzRovWEwKYxx0/+PZ7uYdkVsoRJjG5v YYRQ+uqOnQhH8/ltwipmkJUAPkJWdm3IvqQSl9vY6m7iMO1CNNjcwaLxcThO1BYTpsYz rOO8Ar9ZPBdE06kXeo0s6oPvOznehvFudVPfZqXw5ERzZ1okMckbUPzrcy01MHUA26GB 2cqw== X-Received: by 10.224.104.5 with SMTP id m5mr70443174qao.9.1401930688959; Wed, 04 Jun 2014 18:11:28 -0700 (PDT) Original-Received: from [192.168.1.201] (pool-71-184-209-46.bstnma.fios.verizon.net. [71.184.209.46]) by mx.google.com with ESMTPSA id a41sm2737713qgf.3.2014.06.04.18.11.27 for (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 04 Jun 2014 18:11:28 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.3a1pre) Gecko/20091222 Shredder/3.1a1pre In-Reply-To: <20140604142339.GA27417@debian> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c00::22a X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:172349 Archived-At: On 06/04/2014 10:23 AM, Danil Orlov wrote: > Emacs now support only etags format directly. But this format does not support storage of extended information about symbols, like scoping and inheritance data. But Exuberant Ctags can gather such data. > > And if such information will be presented in tags, it will be possible make smarter completion for company-mode and auto-complete-mode. Without creating a parser in elisp, like in js2-mode. > > How do you think, does it make sense to create direct support of ctags format, like it done for etags now? The command "semantic-load-enable-secondary-ectags-support" will enable use of Exuberent CTags to be used as a parser using Semantic for C/C++. The extended parsing information can be used for C/C++ so that files not in buffers are parsed without loading them into Emacs. That, in turn, can be used with the smart completion engine available via the CEDET/semantic system. I tend not to use it because ctags parser isn't very good, and it fails to parse information about templates and other language features needed in more complex applications. There is also "semantic-load-enable-primary-ectags-support" to add semantic support via ctags for 8 other modes. The core parse for ctags isn't too complex so of someone wanted to use it to do something else, that probably wouldn't be too hard. As a bonus, said code would then also work with other kinds of CEDET/semantic parsers. Eric