From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Douglas Davis Newsgroups: gmane.emacs.help Subject: Re: Suggestions for OOP C++ 'IDE'-like functionality ? Date: Fri, 25 Jan 2019 11:37:39 -0500 Message-ID: References: <20190125105114.16870be7@mevla> Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="47291"; mail-complaints-to="usenet@blaine.gmane.org" Cc: help-gnu-emacs@gnu.org To: jonetsu Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Fri Jan 25 17:39:30 2019 Return-path: Envelope-to: geh-help-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gn4Vt-000CDI-L2 for geh-help-gnu-emacs@m.gmane.org; Fri, 25 Jan 2019 17:39:29 +0100 Original-Received: from localhost ([127.0.0.1]:47039 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gn4Vs-000323-HE for geh-help-gnu-emacs@m.gmane.org; Fri, 25 Jan 2019 11:39:28 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:53805) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gn4VE-0002xI-Av for help-gnu-emacs@gnu.org; Fri, 25 Jan 2019 11:38:49 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gn4VC-0003be-90 for help-gnu-emacs@gnu.org; Fri, 25 Jan 2019 11:38:48 -0500 Original-Received: from mail-oi1-x231.google.com ([2607:f8b0:4864:20::231]:39403) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gn4VC-0003RM-2k for help-gnu-emacs@gnu.org; Fri, 25 Jan 2019 11:38:46 -0500 Original-Received: by mail-oi1-x231.google.com with SMTP id i6so8095777oia.6 for ; Fri, 25 Jan 2019 08:38:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=bFS29mC2SUpwABa1c/eJMgPKvohi/SdnJPMSvjef9bE=; b=iXYmVtqXVOGV52alo2VHC+IlWtNpnv7mLIBEGWGMKrVftFNrWtYs0AHgax00ssMYX/ 712Idu/60+fGG2BikiNLSo6zjxKXRfXrQnG3gHOxLg5ELvfGkSo9rKVD0cYSXZ7Mf6oZ MoYufXTy2+rhBOh0fupsc6B2zaHFgIkZVY6cyb4quwmrSB4PMLZbCJS7UomjBvij8uPf jTy9a/+kDFNSgFB92Eqdy6ZbpkVNcHSW907skTeYoTaHIJKW+iCfsOve/3ZSzHSpSSGo sl/andC0X8rjpAuXQyFxkRU9xoTxk3i2iJfkPbxN8rXdAw1MyUyYx246FFwNsewZxdXl SpHA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=bFS29mC2SUpwABa1c/eJMgPKvohi/SdnJPMSvjef9bE=; b=gFhzut+fA9ER9L0dmB6r4pLcdFA7OO+lVQijnnKvTL6B9TOW73sQcUh+0lqFesr2WM OkXWbQP+tu+k4nfCbd+FbeDUXk7/LB4NL48jphrKTK3V0AUPAsW3IORRKK2amMhX3QKQ n+qIlFPWhgk5sf+rbaB3K0U539fRoskbdREpRmlgr1wOGLNRbHnrvdu6BP+gVbgCvVP3 uYbKZSEX9ipHOuolihVc3boK61oqPagR9tFzkgALpP8rwL9as5/4f/vd8+WqdEZWr8cA yCJZjY6cB3MBdWLxmpTvkMWjmLTxmqw5ooKcvbZJ3licME0mNXeoLJ6pciIerwdJq2HX ZesQ== X-Gm-Message-State: AJcUukebe1PWbBp90jWUGMzxLvWdY76s05R2HydTEozCEWFGzHLwy0IW FQZUGtc5DYbuhTBp/w+3v6WX8E4ihlxOSMbDAeE= X-Google-Smtp-Source: AHgI3IaaGt3P99st24WHJgSS49fJ1+A/BRkHl1W0G/QbfAau2iPqSd+idXUpwZ5Xl5EtvP/yFfuQInykizKqqI0yPz4= X-Received: by 2002:aca:e7c9:: with SMTP id e192mr1819404oih.155.1548434294811; Fri, 25 Jan 2019 08:38:14 -0800 (PST) In-Reply-To: <20190125105114.16870be7@mevla> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::231 X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.org gmane.emacs.help:119153 Archived-At: Hi, I'll come from an LSP (https://microsoft.github.io/language-server-protocol/) side... you have quite a few options here for your C-family language server provider: - clangd (https://clangd.github.io/) - ccls (https://github.com/MaskRay/ccls) (leverages the same clang APIs that clangd leverages) - and you mentioned cquery clangd is part of the llvm project and under active development. ccls originated from cquery and is under active development. I don't know much about cquery. All three of these can be used as a C++ language server. You have two options (that I know of) for using LSPs in Emacs: - lsp-mode (https://github.com/emacs-lsp/lsp-mode) - Eglot (https://github.com/joaotavora/eglot) w.r.t. a suggestion: personally I use Eglot with clangd (every few weeks I build the llvm HEAD to get the most recent clangd). I have zero complaints (https://ddavis.fyi/blog/eglot-cpp-ide/). I've used lsp-mode as well, but it's been a while. Only con: When I used lsp-mode I felt it was a bit clunky with options and extensions, where Eglot is quite minimal, which I view as a pro. I think lsp-mode has improved that aspect recently - I don't think you can really go wrong with either. Cheers, Doug On Fri, Jan 25, 2019 at 10:52 AM jonetsu wrote: > > Hello, > > I'm a bit surprised that the 'stock' emacs I use already knows how to > 'fish out' method names in .hpp files when using Ctrl-Tab for > completion (Linux). This is neat. Although from a quick browse of the > topic it seems that there are a certain number of enhancements that > adds much more functionality for object-oriented C++ development. I > barely have started to read about cquery for now. > > Any suggestions for adding an 'IDE'-like capability to emacs and what > are the pros and cons for each recommendation ? I reckon it's not only > technical as one must also feel good about using a certain set of > add-ons. > > Cheers. >