From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id wC/pEq4JRWNhFgEAbAwnHQ (envelope-from ) for ; Tue, 11 Oct 2022 08:14:06 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id CPIgEq4JRWP0bQAAG6o9tA (envelope-from ) for ; Tue, 11 Oct 2022 08:14:06 +0200 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 29C182B3A8 for ; Tue, 11 Oct 2022 08:14:05 +0200 (CEST) Received: from localhost ([::1]:58424 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oi8Wh-0001dg-Vh for larch@yhetil.org; Tue, 11 Oct 2022 02:14:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:39890) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oi8Iv-0007At-RM for emacs-orgmode@gnu.org; Tue, 11 Oct 2022 01:59:50 -0400 Received: from stw1.rcdrun.com ([217.170.207.13]:58153) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oi8Ip-00043N-Eq for emacs-orgmode@gnu.org; Tue, 11 Oct 2022 01:59:49 -0400 Received: from localhost ([::ffff:154.227.225.142]) (AUTH: PLAIN admin, TLS: TLS1.3,256bits,ECDHE_RSA_AES_256_GCM_SHA384) by stw1.rcdrun.com with ESMTPSA id 00000000000BBD11.000000006345064B.00000951; Mon, 10 Oct 2022 22:59:38 -0700 Date: Tue, 11 Oct 2022 07:59:57 +0300 From: Jean Louis To: Robert Weiner Cc: Eduardo Ochs , emacs-org list Subject: Re: Org, Hyperbole, and eev Message-ID: Mail-Followup-To: Robert Weiner , Eduardo Ochs , emacs-org list References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/2.2.7+37 (a90f69b) (2022-09-02) Received-SPF: pass client-ip=217.170.207.13; envelope-from=bugs@gnu.support; helo=stw1.rcdrun.com X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_PASS=-0.001, T_SPF_HELO_TEMPERROR=0.01 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" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1665468845; 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: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=aJ41ajEFvNJcoaEk0coqIlmFHuUKPgJThSdczdkIF8Y=; b=M4aYVzmi+o6KvF/vtsXPltgJ/Pn50XC4huSiUday/KYYQRmK/1RU2HLAy/mi4+FOY9P4cC niQTp8xkmXWd96/4GDvVfrZxgodcxeOmPaSaUwAaUZn4CPzCbwk47AXn32kGAAhuIaY3WT gfiOtmZA6K6RXYyLVov/+rVaPXZRvAM3g7SyE/ySpQzPC/VVDbHdY/xQ9L6UwM98BTFYWm Ht8Yk+bcEu5x+HssaVi/9+0dsrgKphJVFzhGL/PcYcuod5e10dz50BzZsdPJWccpIGGZX9 WBlCePcJUpCmLYuDHt4em1+Lee/43DOl6VSpj0oCOzI7TqKJ3foa35uzOIjpCw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1665468845; a=rsa-sha256; cv=none; b=Dug9Z+073VXg5ZpnFw0/EHDaqwRu0FmU9whgtGrUftZ2vFU45VLtftlVE+GNCdu8obkKJx xK5DzEa+RTHL6Y0HSSohxk93bSdTxqZgHmMxYeZd4E8Ym+n2pvYHQUcoYWWyQ/YGlyf0Ij N1E/T7uDYJ53lKqUpcuEvpSRLNSsVWWdZcMhn0lB3diXLkKCRKGqlPyzEmdFeB/OStrzLb OgEUGVkatoTeYcpZe8lnaXSJbBGHaqhzDN2Nh2T5StN5dpERRwTdyDUZ40jE7Ki7BmGpGy GWrGSKkF8ZgLqCaGZAYxnumMcstvp81F8aRxzU9BZ2f3YcU3oq/sWRkSz87SfQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; 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" X-Migadu-Spam-Score: -2.69 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; 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" X-Migadu-Queue-Id: 29C182B3A8 X-Spam-Score: -2.69 X-Migadu-Scanner: scn1.migadu.com X-TUID: JdMYAGC4GgVt * Robert Weiner [2022-10-11 05:43]: > I know this does not address everything you want but if you leverage > Hyperbole’s capabilities, you’ll probably be able to get what you > want with a lot less code. What I want is to be able to interpolate links like: ⟦ (some-link) ⟧ on the fly similarly Org links, in such way that whatever function `some-link' returns it would be displayed on its place. Function may return string or string as button or anything else. Then similarly to org-toggle-link-display I wish to fontify such buttons in editable buffer and be able to reverse it back. I guess for that to work text properties shall be able to remember the button ⟦ (some-link) ⟧. But I do not know much about it, I am learning. I already use that system though not in editing mode. I have editing more wher I can see ⟦ something ⟧ and I have presentation mode, where source is interpolated on the fly and I can see interpolated values or button links. System of interpolation spare me time. > First, creating an explicit button displays only the button name as > you like, fontified as you like, and with the button action hidden. > So then you need to write a function that adds or removed the button > action from the buffer when you want to see it, utilizing existing > Hyperbole code from the actype or action class for manipulating > actions. > For your generalized syntax, I think you would be better off using > the angle brackets of Hyperbole’s action buttons but you could > instead use the defil macro to create your own link button type and > delimiter format with just a few lines of code. Just follow the > example in the docstring for that macro. I already use Hyperbole on links like ⟦ (rcd-db-tabulated-edit-entry "people" 1) ⟧ or ⟦ (hyperscope-action 587) ⟧ (the last one brings me to mail mode with prepared email headers writing email). It is not hard: (defil rcd-template-eval "⟦ " " ⟧" ".*" "{M-: \\& RET}") I can use command to interpolate the source and present it. It works well. Editing in the same time with interpolated links is what I miss. That I have in Org mode, but links miss dynamic capacity. > Org probably has similar capabilities with its link types though not > as flexible with the syntax. I would use Org buttons, but they do not have disappearing or dynamic capacity. Text could have Hyperlinks, and be well referenced that way. In export or interpolating mode, depending of the export type or major mode, hyperlinks themselves may decide how to interpolate, if to disappear from text, or if to convert themselves into Org links or into HTML links, Markdown links, or Emacs links. -- Jean Take action in Free Software Foundation campaigns: https://www.fsf.org/campaigns In support of Richard M. Stallman https://stallmansupport.org/