[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Emulating Scrivener's binder feature
From: |
Drew Adams |
Subject: |
RE: Emulating Scrivener's binder feature |
Date: |
Mon, 1 Apr 2019 08:06:53 -0700 (PDT) |
> I've started a new Emacs package to try and emulate the behaviour of
> Scrivener's
> binder feature.
>
> A buffer in a side window would display the current project not unlike
> dired-sidebar -- each file in the project occupying a single line. The
> ordering
> of these files should be arbitrary (i.e. the user may reorder the files) and
> this project structure should be persistent across sessions. Global
> keybindings
> should allow navigation from a file in the current project to the
> next/previous
> file in this structure. The user should (eventually) be able to mark a
> selection
> of files and concatenate/export these into a master output...
> 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.
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.
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).
https://www.emacswiki.org/emacs/DiredPlus
(search for "bookmark", for example)
https://www.emacswiki.org/emacs/BookmarkPlus
(search for "dired", for example)