From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id mNgTMNXgbmfgHQAA62LTzQ:P1 (envelope-from ) for ; Fri, 27 Dec 2024 17:16:05 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp1.migadu.com with LMTPS id mNgTMNXgbmfgHQAA62LTzQ (envelope-from ) for ; Fri, 27 Dec 2024 18:16:05 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b="RVO/Wvsa"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1735319765; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=GE5OeoB2+N7HaivP1ZxzoSlqEK3L31VouDoDX3t+IZ0=; b=al8BfbF/zIuBdcwblw9Ia3dkZYSqh2hJ7vPPZoa5gytFPMOy5sPq6yBb6VXiSF2SuQAhoe zOKTaRIcjVX1iu7QFgyDMh1kJsuGhUmn7cc1BHJ+IrWDm7/fIS95JLWOdAmFWNptF4nEuf IQqyKfWTvGAuRzy33MjGST6nyUUOq/3tb9+HeiQDdqADyx+gB8ShDGxjbaXd46IcvZ1w4M Vz5+IKCWPl3PMGmz0j9l/AcCDKEszqcdleuWhapiCgDjjwh7QXRLFm3Y/AiJELA5F2lVYj MdYGaR4HwTIJzY0RUGgKsthIzFaJXBdl3FRgLHzJOh2d3fWx+k2zjhvPmBRYvA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.net header.s=2017 header.b="RVO/Wvsa"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=pass (policy=none) header.from=posteo.net ARC-Seal: i=1; s=key1; d=yhetil.org; t=1735319765; a=rsa-sha256; cv=none; b=Qh5pJ1k+YzQl/2ftMIEeAeDR2RpmSN7SxnGsfdRJPJ4p2lalW4eXpea2aJySvcsX+3oCnL CojbYRfZqGctDgNwJHbX5kiyMkrsr5qJxdafDjgk/i2DpePTq9b57J8ilzLxx9s8UU5jux uMA2T2nHWk1OsTsgXwmumtaOckOFqlo0o4IUm2qby4kWBNftwtyEYRLPCw6lu/ptuioOgj Xvx6ZwtbjhddyR/F2A4PEnNKq8yL3z7/mqCaEsbCWnBjV2hjNYCi7XHkL/TWMBaiGxhEpT rDWRO8etOleeFhY/+xsFNiOA56bBu1kMzYN39TGqIcih0KscTQKGaoSgVRob7Q== Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id E7806670E5 for ; Fri, 27 Dec 2024 18:16:04 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tRDw9-0003Uv-3a; Fri, 27 Dec 2024 12:15:45 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tRDw4-0003Ue-IX for emacs-orgmode@gnu.org; Fri, 27 Dec 2024 12:15:40 -0500 Received: from mout01.posteo.de ([185.67.36.65]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tRDw2-0005gt-Fz for emacs-orgmode@gnu.org; Fri, 27 Dec 2024 12:15:40 -0500 Received: from submission (posteo.de [185.67.36.169]) by mout01.posteo.de (Postfix) with ESMTPS id 6B702240027 for ; Fri, 27 Dec 2024 18:15:36 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1735319736; bh=czUBS5Fo+xJ3hlx5954g/MsHQlt518g+NNlalDOwZwA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version:Content-Type: From; b=RVO/WvsaMYO6TWiPrNscMRUW6vh0AdJy650fPWz58PAx00gV6UJf2M1MK2dD3t/H+ wTNH0Oaq6a59dXxOTBJ+IrPBuAiKt1Jh1P66uvArLGK7xO7Ps+i9tmn1bSW1LJOalp 1JetxlzCX68Geikb53Iq7y1V+OCu3ehejW+DjAFElxLXY3YBRkQp6z7tllZcN9iesY Ytxr/+MWOgjH2zfJ25/ipLUnoGNAZCyAjrJpJwq4h1Hqt5YbEF1Eg/zArpt2+PS3yf DAKQSXJ//u+nOJGwE3K0dVIIFvW8GDJdRGISDahXf/U0v7+lOo80rKzLvuQ7LFmf0A iYhShYnOtj0vA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4YKXFM59VMz9rxF; Fri, 27 Dec 2024 18:15:35 +0100 (CET) From: Ihor Radchenko To: Karthik Chikmagalur Cc: Psionic K , emacs-orgmode@gnu.org Subject: [TASK] Rewriting org-pcomplete into capf backend (was: Completions Registry) In-Reply-To: <8734ianvxo.fsf@gmail.com> References: <87v7v7zyn7.fsf@localhost> <8734ianvxo.fsf@gmail.com> Date: Fri, 27 Dec 2024 17:17:05 +0000 Message-ID: <87bjwx59m6.fsf@localhost> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=185.67.36.65; envelope-from=yantar92@posteo.net; helo=mout01.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Scanner: mx12.migadu.com X-Migadu-Spam-Score: -5.97 X-Spam-Score: -5.97 X-Migadu-Queue-Id: E7806670E5 X-TUID: IxaRqcLxY8vq Karthik Chikmagalur writes: > As discussed in the last Org meetup, I would like to write a CAPF that > provides completions and annotations when typing in keywords provided by > (loaded) Org libraries. The annotations providing inline documentation > require this information to be available in the Elisp file. > > My understanding is that babel header-args are available in defvars like > > (defvar org-babel-header-args:sqlite > '((db . :any) > ... > "Sqlite specific header args.") > > and that the documentation for these cannot be included in the same > variable as the cons-cell structure and the :any symbols have special > meanings. Yup. We may simply define a new special variable like, (defvar org-babel-header-arg-docs:sqlite '((db "...." (header "....") ...)) "Description of sqlite-specific header arguments.") and global (defvar org-babel-header-args-docs ...) As I said during the meetup, this design is (hopefully) temporary. Sooner or later, I hope to switch things to ox.el-like backend definition like `org-export-define-backend'. But that may or may not happen, so we should not wait for it. It would also be nice to add documentation for export options, just like for header arguments. That documentation could also be used in the completion. (for #+EXPORT_KEYWORD and #+OPTIONS: foo:val) -- Ihor Radchenko // yantar92, Org mode maintainer, Learn more about Org mode at . Support Org development at , or support my work at