From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.devel Subject: Re: Is intellisense features integration in Emacs technically possible? Date: Wed, 22 Jan 2014 19:16:41 +0200 Message-ID: <87fvoghr7q.fsf@yandex.ru> References: <1390269670.2888.14.camel@localhost.localdomain> <83zjmpf80o.fsf@gnu.org> <83vbxcfzaa.fsf@gnu.org> <87eh40fx9j.fsf@wanadoo.es> <87txcwotp2.fsf@engster.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1390411017 3547 80.91.229.3 (22 Jan 2014 17:16:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 22 Jan 2014 17:16:57 +0000 (UTC) Cc: emacs-devel@gnu.org To: =?utf-8?Q?=C3=93scar?= Fuentes Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Jan 22 18:17:04 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 1W61QG-0005J0-69 for ged-emacs-devel@m.gmane.org; Wed, 22 Jan 2014 18:17:04 +0100 Original-Received: from localhost ([::1]:36699 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W61QF-0004Ix-Gw for ged-emacs-devel@m.gmane.org; Wed, 22 Jan 2014 12:17:03 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:39890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W61Q8-0004Gy-8E for emacs-devel@gnu.org; Wed, 22 Jan 2014 12:17:01 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1W61Q2-0000BC-MF for emacs-devel@gnu.org; Wed, 22 Jan 2014 12:16:56 -0500 Original-Received: from mail-ee0-x22a.google.com ([2a00:1450:4013:c00::22a]:58269) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1W61Q2-0000B4-B0 for emacs-devel@gnu.org; Wed, 22 Jan 2014 12:16:50 -0500 Original-Received: by mail-ee0-f42.google.com with SMTP id e49so5052054eek.15 for ; Wed, 22 Jan 2014 09:16:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=sender:from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=l6XsTdTyAOuyivGUpEKso0jdyVgya2Jj/0tqMrKt93I=; b=gOKX8GWCRptXgRvNsnrkjdX9NCRs3KT/FDpGKYxEZO8hw5d7G7Ip1ap7Rdt1grD3Nh rM1WouQ6bobL6kSsw9dQG264ihfDormLtnZp+zVcgkvKq+iO5NPo0+rBd/LHcjcAjQni 35RfVdhkxn5LqfpyyN5dW2P5oSIesPeWMSAMfiRDRJLPjn5WGqxgNYDX5R4prnMu8Lmf iLLfF28dB0TxovlVf6RxJAZ+6wImHzoiOXI/vYlVGpjtJGdgX18+qsWjRmIU152F9hQE BfrlgPHkw6Re8BBlnBmI28i37PI/CEwzS1lT2L+yMMXsGBxtiLakjm+q+zZwdoYq/fkC deFw== X-Received: by 10.14.111.73 with SMTP id v49mr1117918eeg.94.1390411009293; Wed, 22 Jan 2014 09:16:49 -0800 (PST) Original-Received: from axl (static-nbl2-118.cytanet.com.cy. [212.31.107.118]) by mx.google.com with ESMTPSA id v7sm29363168eel.2.2014.01.22.09.16.46 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 22 Jan 2014 09:16:48 -0800 (PST) In-Reply-To: <87txcwotp2.fsf@engster.org> (David Engster's message of "Wed, 22 Jan 2014 17:41:13 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4013: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:168906 Archived-At: David Engster writes: >> Writing a C++ parser and semantic analyzer from scratch requires several >> man-years of work for world-class compiler writers. > > You don't need a full parser. For providing completions, it is > sufficient to parse only a small subset of the code (declarations, most > importantly). You may not have to parse every line of code, but you should be able to, no? Otherwise, how would you know which type the variable at point has, or the return type of the method it calls, etc? I believe you should have to parse at least the body of the current function, from the beginning to the current line (maybe farther).