From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eric Ludlam Newsgroups: gmane.emacs.devel Subject: Re: IDE Date: Tue, 13 Oct 2015 18:29:50 -0400 Message-ID: <561D85DE.4090304@gmail.com> References: <5610207A.2000300@harpegolden.net> <83fv1r3gzp.fsf@gnu.org> <83bncf3f9k.fsf@gnu.org> <5610E0BC.8090902@online.de> <83si5r106e.fsf@gnu.org> <831td9z18h.fsf@gnu.org> <5612E996.7090700@yandex.ru> <83bnc7tavr.fsf@gnu.org> <5618C92A.3040207@yandex.ru> <83a8rrt9ag.fsf@gnu.org> <5618D376.1080700@yandex.ru> <56194171.1080006@siege-engine.com> <5619E7C7.5000401@yandex.ru> <561A9E6D.8080403@gmail.com> <561BCF54.7060000@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1444775491 24190 80.91.229.3 (13 Oct 2015 22:31:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 13 Oct 2015 22:31:31 +0000 (UTC) Cc: adatgyujto@gmail.com, emacs-devel@gnu.org To: Dmitry Gutov , Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 14 00:31:26 2015 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 1Zm86O-0000Mg-Gu for ged-emacs-devel@m.gmane.org; Wed, 14 Oct 2015 00:31:25 +0200 Original-Received: from localhost ([::1]:39634 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm86N-00010K-LX for ged-emacs-devel@m.gmane.org; Tue, 13 Oct 2015 18:31:23 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59850) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm84x-0000ka-Nw for emacs-devel@gnu.org; Tue, 13 Oct 2015 18:29:56 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zm84v-0000ET-1x for emacs-devel@gnu.org; Tue, 13 Oct 2015 18:29:55 -0400 Original-Received: from mail-qg0-x22f.google.com ([2607:f8b0:400d:c04::22f]:33241) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zm84u-0000EP-Sx; Tue, 13 Oct 2015 18:29:52 -0400 Original-Received: by qgeb31 with SMTP id b31so28176632qge.0; Tue, 13 Oct 2015 15:29:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=subject:to:references:cc:from:message-id:date:user-agent :mime-version:in-reply-to:content-type:content-transfer-encoding; bh=ydd4WK8Tq/zWXNm8OG00yt3JDOT6RbKbGi/PFgKqp8Q=; b=n+bmeMT8nyF9/afXyxkW6q9wPK9iahYqe9TvfSS4icEYMqiIcOT0ByXLGQd401X/2O bWfKkJt/NNojEIkUTmnC9iJ6Zma1dFLHZvQPi+AQhP3xunvbyvg3eT1lKJ0v+zhkDh29 Gbf9MTEN44GGdA7eRK6GDZ/yWzsgqasjfDBzrlFF+5zoEMtiIAIVSEFaUVrHP67lvtYA Nu8pCatna3cSQInbxpJ6dHVp6orS7y6ZzGvNGoSbUZrK0BDZBQOmt5ZorsLomUPMIjsI JQxu42+TzlTGUxMjK3qguMFkEhCtXRhpsGsaHADhwqxVhRevbt+4aSMJNPID4tkE+z/h yA6A== X-Received: by 10.140.94.148 with SMTP id g20mr2428955qge.43.1444775392175; Tue, 13 Oct 2015 15:29:52 -0700 (PDT) Original-Received: from [192.168.1.202] (pool-71-184-198-118.bstnma.fios.verizon.net. [71.184.198.118]) by smtp.googlemail.com with ESMTPSA id 68sm2087833qhc.49.2015.10.13.15.29.50 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Oct 2015 15:29:51 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: <561BCF54.7060000@yandex.ru> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:400d:c04::22f 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:191517 Archived-At: On 10/12/2015 11:18 AM, Dmitry Gutov wrote: > On 10/11/2015 08:37 PM, Eric Ludlam wrote: >> If you have a tool that parses already (such as exuberent >> CTags), you can instead just start at the high level tagging parser and >> skip all the lower level stuff. > > Right. > >> If you have an existing completion engine for cases where you happen to >> have an interpreter with completion, or something else, you can just >> override the completion engine directly. > > You haven't answered the question about the advantage of doing it this > way. If I override the completion engine directly, what main benefits > of using CEDET are left? I mean, are they worth working on defining a > grammar for the language, and keeping it up-to-date. A grammar can > take a lot of effort by itself. The primary reason is that having tag information in a buffer so you can access it quickly is helpful. The reason you'd want a tag-level parser at all is to provide: 1) a database of tags in the buffer, plus positional information 2) a database of tags across a project to search through 3) a standard way of knowing where you are in relation to other tags Simple things like showing the function you are editing, highlighting tags with various features in different ways,or knowing what class the method you are in are handy and quick little features that can be built generically on top of CEDET, but which require piles of code to do individually without that type of support. imenu, etags, ctags, global, ident, etc all exist because it is useful, but none of those tools get bound into a buffer, so their level of usefulness is limited to "jump to a location" instead of handy inline features. >> The srecode tool does this, >> and there is an experimental clang version in CEDET's repository as >> well. > > srecode overrides the completion engine? Why? > Because it is a multi-mode buffer, so sometimes you want to complete srecode symbols, and sometimes you want to complete from a different language. Eric