Eyebrowse stores window configurations for workspaces in frame properties.
These window configurations reference buffers by name, which means that
these references must be updated when a buffer is renamed. To this end,
eyebrowse advises rename-buffer.
Spacemacs integrates eyebrowse with persp-mode by saving the eyebrowse
workspaces for a perspective as a parameter for that perspective so that
Spacemacs can restore a perspective's workspaces when switching to that
perspective. However, eyebrowse's advice for rename-buffer fails to update
inactive workspaces, for which the window configurations are stored in
perspective parameters and not frame properties.
This commit disables eyebrowse's advice and adds perspective-aware advice
to update buffer references in workspace window configurations.
* layers/+spacemacs/spacemacs-layouts/funcs.el
(spacemacs//fixup-window-configs): New.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-eyebrowse): Remove eyebrowse-fixup-window-configs
advice for rename-buffer and advise with spacemacs//fixup-window-configs
instead.
Define an alias and use it internally so that (1) the name of the command will
be better to understand what it does than the original name and (2) Helm or Ivy
interface is invoked instead of Ido.
These are suggested in PR #11115.
This fixes issue #5776.
* layers/+spacemacs/spacemacs-layouts/packages.el
(spacemacs-layouts/init-persp-mode):
Set persp-add-buffer-on-after-change-major-mode to 'free.
Fix issue #9477: spacemacs/smart-closing-parenthesis sometimes adds an
extra closing parenthesis.
spacemacs/smart-closing-parenthesis may call sp-up-sexp twice: first to
find the position of an existing closing delimiter or the position at which
one would be inserted, and second to insert a delimiter if necessary or
else move point after the existing closing delimiter.
The problem is that each call to sp-up-sexp may insert a delimiter, but
spacemacs/smart-closing-parenthesis is supposed to insert at most one.
The solution is to undo any edit performed by the first call to sp-up-sexp.
* layers/+spacemacs/spacemacs-editing/funcs.el: Undo any edit performed by
the first call to sp-up-sexp.
Add aliases for commands that ido-mode remaps that we want to bind to
Spacemacs keys, and use these aliases in the Spacemacs key bindings so that
these bindings invoke the original commands rather than the ido commands.
See <https://github.com/syl20bnr/spacemacs/issues/10237#issuecomment-359861570>.
Only using visual state as entry point for evil-surround doesn't guarantee
surround is available for evil-yank and evil-delete. Fixed by also using
operator state.
Fixes#11019 and #11021
The column-indexing toggle did not have a :status property. As a result,
the toggle command would enable the toggle but would not disable it. In
addition, the absence of :status prevented -off and -on commands from being
defined.
This commit adds a :status property so that the toggle works properly and
-off and -on commands are defined.
This commit also renames the toggle to "zero-based-column-indexing" in order to
make its purpose clearer.
* layers/+spacemacs/spacemacs-defaults/keybindings.el (column-indexing):
Add :status and rename to "zero-based-column-indexing".
* add new dotfile function `dotspacemacs/user-env`
* add ignored env. vars with variable spacemacs-ignored-environment-variables
* ignore env vars: SSH_AUTH_SOCK and DBUS_SESSION_BUS_ADDRESS
* update documentation in DOCUMENTATION.org
* update .spacemacs.template with new function
* rename environment file from spacemacs.env to .spacemacs.env
* move location of .spacemacs.env file to home or dotdirectory
* add a header to the generated .spacemacs.env file to explain what it is
* make SPC f e e fallbacks to the function dotspacemacs/user-env if the user
manages the env var by themselves
* make SPC f e E call the new function dotspacemacs/user-env
* sort environment variables in .spacemacs.env file
When :enabled-for-modes is nil we default it to '(prog-mode text-mode), but if
any of them is in :disabled-for-modes then it shouldn't be enabled by default.
This commit fixes the second part.
See updated DOCUMENTATION.org and FAQ.org for more info.
* add core-env.el
* add library load-env-vars.el
* add bootstrap package dotenv-mode.el
* remove spacemacs-environment from bootstrap layer
* remove dotspacemacs variable dotspacemacs-import-env-vars-from-shell
* remove dotspacemacs variable dotspacemacs-improt-env-vars-shell-file-name
* add new key binding SPC f e e to open spacemacs.env file
* add new key binding SPC f e E to reload environment variable from env file
* add new key binding SPC f e C-e to re-initialize the env file from shell.
Commit d7f5b58890 added a lazy-loader for
spaceline but used lazy-load-window-purpose as its name. As result,
window-purpose lazy-loader got overwritten and window-purpose didn't load at
all.