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, 20 Oct 2015 22:41:04 -0400 Message-ID: <5626FB40.10300@gmail.com> References: <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> <561D85DE.4090304@gmail.com> <561F1A75.1000909@yandex.ru> <561FA2A3.9030409@gmail.com> <5620F60A.1030104@yandex.ru> <5621B4D5.9040607@gmail.com> <5621BB2A.5000802@yandex.ru> <562242E3.10503@gmail.com> <56225A57.9030705@yandex.ru> <5624D92E.5020402@gmail.com> <56259156.7010700@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 1445395281 17840 80.91.229.3 (21 Oct 2015 02:41:21 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 21 Oct 2015 02:41:21 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 21 04:41:15 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 1ZojL0-0002ca-3r for ged-emacs-devel@m.gmane.org; Wed, 21 Oct 2015 04:41:14 +0200 Original-Received: from localhost ([::1]:49028 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZojKz-0000lB-Am for ged-emacs-devel@m.gmane.org; Tue, 20 Oct 2015 22:41:13 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:35839) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZojKw-0000l5-4i for emacs-devel@gnu.org; Tue, 20 Oct 2015 22:41:11 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZojKs-0005gB-Th for emacs-devel@gnu.org; Tue, 20 Oct 2015 22:41:10 -0400 Original-Received: from mail-yk0-x22b.google.com ([2607:f8b0:4002:c07::22b]:33948) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZojKs-0005fx-OW for emacs-devel@gnu.org; Tue, 20 Oct 2015 22:41:06 -0400 Original-Received: by ykdr3 with SMTP id r3so36337193ykd.1 for ; Tue, 20 Oct 2015 19:41:06 -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=W6DIURgTAObOK2rGx+sXcX8TwDouv3QU3SRGQI/5m4U=; b=fpZMGSNXSuUNe7XuDKbn7s7zQOWv3qtc3N7OYkXVNbjCaEGqSu0hXglROmGnPzN15h T8WgWasrSAGf5EyTs2IiFq06vsGJ3SoeT4q8rLekZvaAGsBRWpacxm+TH/yVle+W+1Fq DIOd4C8CTXs1qtExv1YPaatFtJwAt6XXkZhkfD8o/gGKZB7pfXHXkquH1FVEEjJNAx4c CKzKe/BRJF1IidvnJ33MzmFllk7hwawBZR4kLx8sOc5Kq7qeQmUywvkU7+QpXziuwZIt VWJiSOucYmvocxz82PP2ljkZLWTRVDRtmz5Fi9zOdk+UPPzZ4LJODDyCe4OaUroQ8mDn pPdQ== X-Received: by 10.13.224.2 with SMTP id j2mr5321513ywe.165.1445395266254; Tue, 20 Oct 2015 19:41:06 -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 t83sm4115403ywa.46.2015.10.20.19.41.05 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Oct 2015 19:41:05 -0700 (PDT) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0 In-Reply-To: <56259156.7010700@yandex.ru> X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2607:f8b0:4002:c07::22b 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:192253 Archived-At: On 10/19/2015 08:56 PM, Dmitry Gutov wrote: > On 10/19/2015 02:51 PM, Eric Ludlam wrote: > >> There are many reasons why having all the tags in the current buffer is >> useful. The simplest of which are things like imenu - the menu part, >> speedbar, or ECB listings of all tags so you can jump to them. There is >> a command for jumping to a tag in a buffer by name with completion. >> There's an isearch flavor that searched only tag names in the current >> buffer. > > All right. But I would say that IMenu was conceived as a poor cousin > to tagging. After all, if we have up-to-date information about tags in > the current project, we can jump anywhere, not just in the current file. > It was an example, and there are plenty of cases where you want to restrict your destination to be local simply because completing on a zillion options is slow, regardless of the tool used to create said list. > My point is, we could have a more limited "protocol" to be used when > we don't have a list of tags for the current file (and "jump to xxx" > command is implemented via overrides, using an external tool). And a > "full" protocol for when the tags are available. > That might work in a simple case, but for current tag to truly be accurate, you need to parse the whole buffer from start to point so you don't get confused by text in strings, text in comments, nested function syntax, and #ifdef type syntax. Once you do that, you might as well just parse the whole buffer and cache it. > >> I've run out of steam trying to design the perfect set of keybindings. >> Everyone seems to like something different. ;) > > I understand the difficulty, but surely you'd want to advertise > semantic-ia-fast-jump? It's more precise, and thus, more powerful. > Yes, there are some guidelines on what functions there are but I haven't tied much together into minor modes or keybindings. We used to have 'senator' mode which we updated with new stuff, but the Emacs merge has gotten that a bit confused. As an added bonus, all the semantic-ia-* functions were originally meant to be examples on how to use the infrastructure for someone who wanted build interface functions, so they lack a bit of polish and haven't been promoted into keymaps. It would be great if someone interested in the user interface side could help out getting the right interface together on top of some of the semantic concepts. Eric