From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: Collecting completion candidates from multiple files Date: Thu, 13 Jan 2022 09:19:42 -0500 Message-ID: References: <5330eba5-a863-3061-250b-850a46c042fd@grinta.net> <5fef94c1-c05e-4cb3-6022-0ba8ca86698d@grinta.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="4428"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Daniel =?windows-1252?Q?Mart=EDn?= , Emacs developers To: Daniele Nicolodi Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Jan 13 15:22:51 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n8106-0000ts-VR for ged-emacs-devel@m.gmane-mx.org; Thu, 13 Jan 2022 15:22:51 +0100 Original-Received: from localhost ([::1]:51042 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n8105-0003Zz-Tm for ged-emacs-devel@m.gmane-mx.org; Thu, 13 Jan 2022 09:22:49 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:36734) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n80xB-0002A2-I8 for emacs-devel@gnu.org; Thu, 13 Jan 2022 09:19:49 -0500 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:15704) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n80x9-0004cb-50 for emacs-devel@gnu.org; Thu, 13 Jan 2022 09:19:48 -0500 Original-Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id E0D041001A5; Thu, 13 Jan 2022 09:19:44 -0500 (EST) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 4638F1000F8; Thu, 13 Jan 2022 09:19:43 -0500 (EST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1642083583; bh=mmCLymo5h49EQWMDqHHWMcesYGkJP32ELky7KSy2JcI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=hK56bMv6FIwJQXWCRCIqTH3qVQAsrJqaku5RWt+ewmuQYqQvW2M4DPtRdMXJ+va8b YRmpi/5O7pw7I1u4fh0Fq88HdxjSON5mue3E4bx9qXsMDXLV5/T7Kn/M3lIQf6Yge9 tBkyWYAYD4Pm7NpGvTV/EJs+OFjRMkFtjFKRkgkQfSPZ/9mC5Ca3adBN/v5fsXZ3WD IFG2v3cyzqb/SBrvkIEVCmnl74QqpaE8zA//vNDCB7UH5NV9pUCVkFA2Pw/2jDGKX/ kd2z4TVkLwNuxCt9jaO0wu/Rqlq0G8fLRGIVvZK8pADWXkA2LrWVzm5NezYMmoJgOG w/eSf5QwI7ODA== Original-Received: from ceviche (unknown [216.154.30.173]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 18CFB12069F; Thu, 13 Jan 2022 09:19:43 -0500 (EST) In-Reply-To: <5fef94c1-c05e-4cb3-6022-0ba8ca86698d@grinta.net> (Daniele Nicolodi's message of "Thu, 13 Jan 2022 09:53:55 +0100") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:284712 Archived-At: > What I'm inquiring about is how to implement the collection of > completion candidates from multiple buffers. It's a rather vague question. Usually completion data either comes from Emacs itself (e.g. lists of commands, or elements of a hash-table, ...), or from a buffer, or from external info (e.g. files or subprocesses) but rarely from several buffers. This said, I'm not sure what kind of difficulty you're facing nor what kind of help you expect to find from other examples. It'd likely depend a lot on what the actual collection work looks like. If you're thinking of completion data along the lines of `imenu` but not limited to the current buffer/file, then I suspect you're not looking for "multiple buffers" but "multiple files", in which case examples may be Eglot and CEDET? Stefan