satchel: A bag for your files, separated by git branches A satchel is a persisted list of paths that are considered important for the ongoing work. Thus, we rely on git branch names to distinguish between satchels. The use case is as follows:
* Create a branch and start the ongoing work. * Discover what files are important, place them in a satchel. * When exploring the code base in the current project, you can more easily now jump to the important files, thus saving time. * Realize you need to work on a different branch - switch to it. Now the satchel is automatically scoped to the new branch. If there are files there, jump to them. So to clarify, satchel persists a set of files residing under a project as defined by `project'. In addition, we use git branches to delimit between different sets of files. >From the README.md ---------------------------------------------------------- Project: https://sr.ht/~theo/satchel/ Git: https://git.sr.ht/~theo/satchel Lists: https://sr.ht/~theo/satchel/lists Tracker: https://todo.sr.ht/~theo/satchel # Satchel satchel.el is a small utility to help manage buffers and files on a working branch. You can place files in a satchel, which is a file with a list of files inside: ```elisp ;; satchel is named '~---src---satchel---#master' (("/home/theo/src/satchel/satchel.el") ("/home/theo/src/satchel/README.md")) ``` This file is persisted, then read back in every time it is needed. The useful thing with this is that often you struggle with tens, if not a hundred buffers in your buffer list, and fuzzy finding simply gets slow because you have to parse the incremental search. If you manage these satchels manually you can maintain the 3-5 files that are most important at any given time, thus having a much less cluttered search space. ## Satchels are separated by git branches This means that when you switch branches, your satchels are automatically updated and scoped to the work you are currently focused on. Requires: emacs-27.2, project-0.8.1 Website: https://elpa.gnu.org/packages/satchel.html Keywords: tools languages Maintainer: Theodor Thornhill <[email protected]> Author: Theodor Thornhill <[email protected]>
