mclearc · 2022-02-14 19:59
I'm working on a little package to integrate tab-bar, project.el, and buffer-isolation. This seems to be a thing lots of people want so I thought I'd share it here. I'm not a programmer, so this code is almost certainly worse than it could be (though I've been helped by looking at lots of other people's code). It works for my use-case and I've done some basic unit-testing, but am happy to hear of things that need fixing.
[https://github.com/mclear-tools/emacs-workspaces](https://github.com/mclear-tools/emacs-workspaces)
Note that this doesn't affect one's tab-bar, tab-line, or project.el config in any way. It just adds a few convenience functions to set things up for isolated buffers and for creating or opening workspaces.
StormBr58 · 2022-02-14 20:50
Broken Link.... Can you post an update?
mclearc · 2022-02-14 20:56
sorry -- I forgot I had it set as a private repo :/
StormBr58 · 2022-02-14 21:05
Thanks. Working now. I am going to test it. Seems quite interesting.
7890yuiop · 2022-02-14 23:24
Perhaps your project page could describe how it's different to other workspace libraries? A popular one is called "perspective" IIRC, but I think there are a few of them floating around.
mclearc · 2022-02-14 23:55
thanks -- I added a quick blurb in the README with links to perpective.el and persp-mode.el, which are the closest packages I think. Those are great and this isn't so much a replacement as a much simpler alternative that really just adds some basic functionality to the already built-in (for emacs 27+) tab-bar and project packages.
karthink · 2022-02-15 00:25
Your consult integration will still show recent files and bookmarks from all projects. Consult already has narrowing to projects built into consult buffer using a project source (which handles all categories correctly). I would look into reusing that instead of defining a new (incomplete) workspace source.
mclearc · 2022-02-15 00:38
Yes, thanks -- but I guess you're assuming that each workspace should be connected to a project? My thought is simply that I want a selection of buffers only in the workspace and then can add to those workspace buffers from anywhere. On the other hand, if you want something like a pure project restricted view in consult then, as you point out, that is already built in. Or am I misunderstanding you?
github-alphapapa · 2022-02-15 12:41
See also https://github.com/alphapapa/bufler.el Its readme also links to related projects.
mclearc · 2022-02-15 15:38
Yeah -- thanks! I've added a link to bufler on the README.
redblobgames · 2022-02-16 04:17
Cool! I had been trying to figure out how to integrate tab-bar into project.el, but slightly differently from your package. I wanted to have switch-buffer show *all* buffers, but when I switch to a buffer in a different project, I wanted it to switch tabs too. I haven't quite gotten this working though.