From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Jorgen Schaefer Newsgroups: gmane.emacs.devel Subject: Re: Is intellisense features integration in Emacs technically possible? Date: Sun, 26 Jan 2014 11:15:23 +0100 Message-ID: <20140126111523.4d842288@forcix.kollektiv-hamburg.de> References: <1390269670.2888.14.camel@localhost.localdomain> <83zjmpf80o.fsf@gnu.org> <877g9shqms.fsf@newcastle.ac.uk> <20140122194930.49ba60be@forcix.kollektiv-hamburg.de> <87fvoedebx.fsf@newcastle.ac.uk> <20140123215656.30bf63b8@forcix.kollektiv-hamburg.de> <8738kb1uvu.fsf@yandex.ru> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1390731367 25225 80.91.229.3 (26 Jan 2014 10:16:07 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 26 Jan 2014 10:16:07 +0000 (UTC) Cc: emacs-devel@gnu.org To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Jan 26 11:16:14 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 1W7MlB-0008Fh-HC for ged-emacs-devel@m.gmane.org; Sun, 26 Jan 2014 11:16:13 +0100 Original-Received: from localhost ([::1]:54097 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7MlA-0003Q4-Uo for ged-emacs-devel@m.gmane.org; Sun, 26 Jan 2014 05:16:12 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56914) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7Ml2-0003Px-Nh for emacs-devel@gnu.org; Sun, 26 Jan 2014 05:16:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W7Mkw-0000Gx-CE for emacs-devel@gnu.org; Sun, 26 Jan 2014 05:16:04 -0500 Original-Received: from loki.jorgenschaefer.de ([87.230.15.51]:58177) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W7Mkw-0000Gr-2W for emacs-devel@gnu.org; Sun, 26 Jan 2014 05:15:58 -0500 Original-Received: by loki.jorgenschaefer.de (Postfix, from userid 998) id 763AA201374; Sun, 26 Jan 2014 11:15:25 +0100 (CET) Original-Received: from forcix.kollektiv-hamburg.de (x2f18b1f.dyn.telefonica.de [2.241.139.31]) by loki.jorgenschaefer.de (Postfix) with ESMTPSA id B20F5201371; Sun, 26 Jan 2014 11:15:24 +0100 (CET) In-Reply-To: <8738kb1uvu.fsf@yandex.ru> X-Mailer: Claws Mail 3.9.3 (GTK+ 2.24.22; i486-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 87.230.15.51 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:169110 Archived-At: On Sun, 26 Jan 2014 01:53:09 +0200 Dmitry Gutov wrote: > > Important features I haven't seen for c-a-p-f yet: Provide an > > overlay of the most likely completion candidate while you type for > > quick completion with TAB; add annotations to completion > > candidates, for example to indicate symbol type; ability to provide > > documentation for a completion candidate so that can be shown while > > browsing candidates. > > [...] > > But what's a "most likely completion"? When there's just one suggested > completion, then yes, we show an inline overlay. Otherwise, the full > list. The "first" one. ;-) Basically, what you get when you hit RET in Company, without typing anything. The delay for this can be a lot shorter, up to "almost instantaneous", than the delay for popping up the completion pop-up. (Come to think of it, isn't there a way of sorting completion results? It's one of the things I want to get auto-complete to do, because completions from Python backends are most of the time of higher quality than, say, dabbrev completions.) > > Oh, and support for getting completion candidates asynchronously. > > This is quite tricky, as the user might have moved point in the > > time the candidates were returned, and it's not always necessary to > > re-request the candidates then. auto-complete.el handles this > > "mostly ok" using an init function and caching the response, but > > has some hard to trace problems. > > I remember you creating a Company issue, me writing you an example > snippet, and you going away seemingly (?) satisfied. > > Have you had any progress using it? As long as we don't have > asynchronous users, there's really not much material for me to work > with to improve the API, as well as not much motivation. I did not look much closer. The solution you provided is more or less what auto-complete does with its init call and caching, which would likely work slightly better than auto-complete because I have more control over it, but well, a-c already has it implemented. Hence, I was quite satisfied - it solves my problem, and I can not and do not expect any more from you, you were very helpful already - but it's not what I was hoping for. Originally, I created the issue because I was hoping Company would be able to fully replace auto-complete just requiring fewer hacks and work on my part. Sadly, while working with it, I realized Company as is does not really replace auto-complete for me. It's close, but not quite there yet. I want to look at Company again at some point in the future and see if I can make a list of things I miss and maybe start working on them, but at the moment I'm very low on time, so I pushed that down my list quite a bit I'm afraid. As I said in my original post, that was not intended as a request to get all of this implemented or even as a complaint, just as a note on what the technical hurdles for Emacs implementing IntelliSense features actually are: Very few. The features are mostly there, and what is missing is mainly a common API and some polishing here and there. Regards, Jorgen