From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: "Paul W. Rankin" Newsgroups: gmane.emacs.help Subject: Re: Emulating Scrivener's binder feature Date: Wed, 03 Apr 2019 19:34:14 +1000 Message-ID: References: <530ddfc1-e38e-4e7b-864d-e6cc1d1ccb76@default> Mime-Version: 1.0 Content-Type: text/plain; format=flowed Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="87969"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: mu4e 1.0; emacs 26.1 Cc: help-gnu-emacs@gnu.org To: Drew Adams Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane.org@gnu.org Wed Apr 03 11:34:56 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 1hBcII-000MgX-QO for geh-help-gnu-emacs@m.gmane.org; Wed, 03 Apr 2019 11:34:55 +0200 Original-Received: from localhost ([127.0.0.1]:40287 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBcIH-0007zF-I6 for geh-help-gnu-emacs@m.gmane.org; Wed, 03 Apr 2019 05:34:53 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:56768) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hBcHx-0007xy-EV for help-gnu-emacs@gnu.org; Wed, 03 Apr 2019 05:34:34 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hBcHv-0000KA-Uw for help-gnu-emacs@gnu.org; Wed, 03 Apr 2019 05:34:33 -0400 Original-Received: from out4-smtp.messagingengine.com ([66.111.4.28]:44731) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hBcHv-0000Jb-Dx for help-gnu-emacs@gnu.org; Wed, 03 Apr 2019 05:34:31 -0400 Original-Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 809A121C4E; Wed, 3 Apr 2019 05:34:30 -0400 (EDT) Original-Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Wed, 03 Apr 2019 05:34:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paulwrankin.com; h=references:from:to:cc:subject:in-reply-to:date:message-id :mime-version:content-type; s=fm3; bh=0QbrMhIuDWbHBm6W5FWQ6aw2dB zlAOQxXGRk4dn7P+g=; b=VE6cqUmfwcnYkTy0BK9X1oJvia0O2nWRWgqoUmDgQ2 hmHJZKWelgIliFU32PDjc34Yg1peKfiKCu0oQ98c79oVFphjCnMjLegV8j0DgeiH I3loRvgNDLE3i/PrZuaqOI4AKJaLtVuiAujHPAHvkrxcamMOkRtawqER7+Xa0rbx ef3VCeLCfhBdjWa9rCBfx1HN6/NvxLvfb7afvZir9BlQyXdk/WBiRNdrV7fSPEXM KiuDzPenxb5m+LMdIQLc1zX4XkKCd87nJ44KclUcgcuDtLQlCJ1yIkWogWIW3/+I newq9AaW5XOEWKRaTn8uQlfprLAX34Lbho13rF2PV+5g== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=0QbrMh IuDWbHBm6W5FWQ6aw2dBzlAOQxXGRk4dn7P+g=; b=qt/0t5RGmi6r8uMQT4OVSr mN9bkWSKz/UOz7wkBc00xAn6uXcVuUQpzfsAQq/H5DYwJn4YRLCQonUmkJdmBlJ4 yZOEJgh0K4v134Zjas8DzGPtYtyKlymKZlFXUt8pj2vRtZktSUNspzgRRbQDY8YV wIcvzkTqi6rcANQr20/CCtKoB/LKWRmoReTQ75zxTxLY1oO1YXPFlrg8y8b7df2a qz4sMJaGsI2IFTAXdvgjRP9nHXhTA4X/PbLrQhELACViAaEIAPLlLILOUzHqSnvm EXQKBlv7hud36yZ8pKxVcRs66ab81cnEZQRNJuFwTl7elCgiIYyI07PEY61VHLuw == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrtddvgdduieculddtuddrgedutddrtddtmd cutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdp uffrtefokffrpgfnqfghnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivg hnthhsucdlqddutddtmdenucfjughrpehffgfhvffujgffkfggtgesthdtredttdertden ucfhrhhomhepfdfrrghulhcuhgdrucftrghnkhhinhdfuceohhgvlhhlohesphgruhhlfi hrrghnkhhinhdrtghomheqnecuffhomhgrihhnpehprghulhifrhgrnhhkihhnrdgtohhm necukfhppeduvddtrddvvddrudefledrvdefjeenucfrrghrrghmpehmrghilhhfrhhomh ephhgvlhhlohesphgruhhlfihrrghnkhhinhdrtghomhenucevlhhushhtvghrufhiiigv pedt X-ME-Proxy: Original-Received: from localhost (unknown [120.22.139.237]) by mail.messagingengine.com (Postfix) with ESMTPA id AC98610319; Wed, 3 Apr 2019 05:34:27 -0400 (EDT) In-reply-to: <530ddfc1-e38e-4e7b-864d-e6cc1d1ccb76@default> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 66.111.4.28 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:119861 Archived-At: On Tue, Apr 02 2019, Drew Adams wrote: >> Before I go to far, > > Please _do_ go far into this. Such effort is never wasted, IMO. > >> Question 1: Has someone already made something like this? >> I don't want to reinvent the wheel... > > There is not only one wheel. Wheels often need reinventing. Thanks Drew, I appreciate the encouragement :) > FYI, here is something similar, but it does not correspond > to everything you describe: > > 1. You can create a Dired buffer that has any combination > of files and directories that you like. This feature > is not very well known, but it's always been there. > > If you use library Dired+ then it's a bit easier to > create such buffers interactively (and you can > interactively create Dired buffers as unions etc. of > other Dired buffers, and add arbitrary files and dirs > to an existing Dired buffer). > > However, it is not possible (until someone implements > it!) to sort such a Dired buffer with ad hoc entries. I am a big fan of the `i' key in Dired. I will check out Dired+. > 2. If you use library Bookmark+ then you can bookmark Dired > buffers, including those just described (i.e., with ad > hoc entries from anywhere). Jumping to such a bookmark > restores the Dired buffer, including all of its markings > omitted files, `ls' switches, inserted subdirs, etc. > > This gives you a persistent way to record and restore > the files and dirs of a project, for example. You can > also create different bookmark display lists or different > bookmark files, so you can list only the bookmarks for > a given project or have different views of a project or > parts of a project. You can also bookmark Emacs desktops, > and quickly switch among them, to flip between different > projects or different views of a project. > > You can also bookmark a Dired tree. This gives you a > set of Dired bookmarks that represent a hierarchy and > are opened together. > > Bookmark+ also lets you tag bookmarks (and so bookmarked > files and directories) with arbitrary strings or even > Lisp key-value pairs. This gives you another way to > access/view/define sets of bookmarks (thus files & dirs). Excellent! I think Bookmarks+ will offer a lot of clues on a good implementation, as essentially it will be a case of "bookmarking" all the files in the project directory in a specific order and tagging/annotating them. The other half of things is navigating around the project hierachy from the project files themselves (e.g. next/previous). Thanks :) -- https://www.paulwrankin.com