From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Lluis Newsgroups: gmane.emacs.devel Subject: Re: Completions in Semantic Date: Wed, 21 Oct 2009 12:58:40 +0200 Message-ID: <20091021105840.GD2964@ginnungagap.pc.ac.upc.edu> References: <87tyxwxq6t.fsf@stupidchicken.com> <1255924220.6961.1039.camel@projectile.siege-engine.com> <1255969613.6961.1056.camel@projectile.siege-engine.com> <1255980824.6961.1075.camel@projectile.siege-engine.com> <1255990628.6961.1084.camel@projectile.siege-engine.com> <1256070021.6961.1107.camel@projectile.siege-engine.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1256126566 31977 80.91.229.12 (21 Oct 2009 12:02:46 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 21 Oct 2009 12:02:46 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Oct 21 14:02:35 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N0Ztj-00049j-9M for ged-emacs-devel@m.gmane.org; Wed, 21 Oct 2009 14:02:35 +0200 Original-Received: from localhost ([127.0.0.1]:54109 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N0Zti-0006bI-IN for ged-emacs-devel@m.gmane.org; Wed, 21 Oct 2009 08:02:34 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N0Ytu-00074x-7M for emacs-devel@gnu.org; Wed, 21 Oct 2009 06:58:42 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N0Ytp-0006yn-1t for emacs-devel@gnu.org; Wed, 21 Oct 2009 06:58:41 -0400 Original-Received: from [199.232.76.173] (port=46481 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N0Yto-0006y4-Nl for emacs-devel@gnu.org; Wed, 21 Oct 2009 06:58:36 -0400 Original-Received: from mail.gmx.net ([213.165.64.20]:50729) by monty-python.gnu.org with smtp (Exim 4.60) (envelope-from ) id 1N0Yto-0006Ns-3j for emacs-devel@gnu.org; Wed, 21 Oct 2009 06:58:36 -0400 Original-Received: (qmail invoked by alias); 21 Oct 2009 10:58:33 -0000 Original-Received: from dync-30-245.ac.upc.es (EHLO localhost) [147.83.30.245] by mail.gmx.net (mp015) with SMTP; 21 Oct 2009 12:58:33 +0200 X-Authenticated: #12333383 X-Provags-ID: V01U2FsdGVkX19x7od9zH9xuugSquZjkE9iUiNJF9HC4a6VV+/ytE AaRo7RqU6fWG7e Content-Disposition: inline In-Reply-To: <1256070021.6961.1107.camel@projectile.siege-engine.com> User-Agent: Mutt/1.5.20 (2009-06-14) X-Y-GMX-Trusted: 0 X-FuHaFi: 0.68 X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:116289 Archived-At: Just as a side-note, now that you've raised the topic of a completion interface. I don't know about the features of current code, but I miss some features on some (if not all) the completion interfaces I've tested. So here's a list of (my) desired features (all of which should be configurable by the user): - symbol name Of course, this is what already provides every completion UI - extra information This can be filled ub with symbol "metadata". Which metadata appears on the completion UI should be configurable by the user: - return type - arguments (type and/or name) - definition location (aka file) - short documentation - long documentation All this metadata should be located anywhere around the symbol name and/or the minibuffer (e.g., I think company-mode shows short documentation on minibuffer, until user presses F1, when full documentation is shown. Some metadata might be shown in the minibuffer after completion selection (e.g., prototype). - result narrowing A-la company-mode. - argument placeholders So that argument type and/or name is shown as placeholders, such that the user simply TABs (or whatever) to fill-in the blanks. In any case, I've recently jumped into Emacs, so my elisp coding abilities are still quite low... Read you, Lluis -- "And it's much the same thing with knowledge, for whenever you learn something new, the whole world becomes that much richer." -- The Princess of Pure Reason, as told by Norton Juster in The Phantom Tollbooth