all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Paul W. Rankin" <hello@paulwrankin.com>
To: Marcin Borkowski <mbork@mbork.pl>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Emulating Scrivener's binder feature
Date: Wed, 03 Apr 2019 19:59:35 +1000	[thread overview]
Message-ID: <m2v9zvl88o.fsf@paulwrankin.com> (raw)
In-Reply-To: <87y34tk6iw.fsf@mbork.pl>


On Tue, Apr 02 2019, Marcin Borkowski wrote:
> Quick question: why not use Org-mode syntax for the binder file? 
> I.e.,
> make each file a headline, and metadata its properties.  You'd get
> reordering for free, and maybe other stuff could be useful, like 
> column
> view maybe.  Also, it would be usable outside Emacs, since there are
> many Org syntax parsers out there.
>
> Just my 2 cents,

That's a valuable 2 cents. Although I don't think that org-mode's 
outline structure would work well the same time as file-path structure, 
this got me really thinking about the fundamental route I'd take to make 
this...

There are two ways to go: a buffer that visits a text file on disk and 
manipulates the properties of the text (like org-mode), or a 
special-mode buffer that constructs text based on a lisp object (like 
bookmarks).

If the .binder file should be human-readable it makes sense to visit a 
file, but I'm beginning to think this is not the best way. When a user 
attempts to navigate from one binder file to another, which should be 
acheivable from any binder file, not just from the binder buffer, I'd 
need to find and parse the binder buffer each time (and make sure it's 
the correct project!). I'd rather have a lisp variable, whereby the 
binder buffer and any visited binder files rely on that variable 
instead. So now I'm thinking this variable really might be best stored 
in .dir-locals.el... hmmm.

Thanks :)


p.s. I actually find org-mode's subtree reordering code to be overly 
complicated (i.e. It kills the current subtree from the buffer, then 
when inserting it in the appropriate place, it needs a whole bunch of 
extra properties about the subtree to appropriately reconstruct it and 
place the point. When I implemented similar subtree reordering in 
fountain-mode, instead when the user moves a subtree up, I just kill the 
preceding subtree and reinsert it below the current one -- way easier!)

--
https://www.paulwrankin.com



      reply	other threads:[~2019-04-03  9:59 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-01  8:09 Emulating Scrivener's binder feature Paul W. Rankin
2019-04-01 15:06 ` Drew Adams
2019-04-03  9:34   ` Paul W. Rankin
2019-04-01 15:27 ` Skip Montanaro
2019-04-01 16:57 ` Marcin Borkowski
2019-04-03  9:59   ` Paul W. Rankin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=m2v9zvl88o.fsf@paulwrankin.com \
    --to=hello@paulwrankin.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=mbork@mbork.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.