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
prev parent 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.