- Fixes#1506: unsets uniquify-buffer-name-style to work around breakage
in persp-mode having to do with buffers being retrospectively renamed.
See Bad-ptr/persp-mode.el#104.
- Move creation of main workspace into persp-mode-hook, to ensure main
workspace always exists and nil workspace is never active.
- Remove +workspaces|init-frame and significantly reduce LOC in
+workspaces|init to the bare essentials. This _may_ break persp-mode
in daemon Emacs, but I'll deal with that next.
We stop relying on the built-in mechanism for auto-registering a buffer
to the current workspace, because it misses many buffers (e.g. when we
switch buffers with SPC b b). Instead, we add buffers when they are
interactively switched to.
Due to a load order issue, the doom-local-dir regexp wouldn't be mapped
through our custom recentf-filename-handlers. `file-in-directory-p` is
more robust.
It was formerly escaped because of general bugginess, particularly when
bind -v was used in zsh. It's still too buggy to enable in vterm-mode,
however.
org-capture, when used on a target that doesn't exist, will invisibly
expand a file template, leaving a hang yasnippet active. After
org-capture initializes, the yasnippet will attempt to operate on
overlays that don't exist, throwing overlayp errors.
CDing into the project root can be accomplished with external tools, e.g.
cd $(git rev-parse --show-toplevel)
cd $(hg root)
cd $(npm root)
Any of which could be aliased. Also, +vterm/toggle and term/toggle
define the PROOT environment variable, so `cd $PROOT` will work too.
On the other hand, CDing to the current file/folder requires that the
shell be made aware of the file/directory of some Emacs state, which is
a little trickier to deal with, so I made that the default behavior for
+term/toggle, +vterm/toggle and +eshell/toggle.