+ Instead of remapping delete-backward-char to doom/delete-backward-char
(which was unreliable, depending on the mode), it is now overridden
with it, without sacrificing its original functionality. The new
behavior is as follows:
+ Fall back to sp-backward-delete-char when it makes sense to delete
the adjacent pair: {|} => |
+ Collapse an indented pair block, if at bolp in between: {
|
} => {|}
+ Refresh a pair's :post-handlers when deleting into pair: {
|
} => {|} => {
|
} (can be repeated)
+ When cursor is preceded by whitespace, delete in increments of
tab-width.
+ newline-and-indent has been advised to:
+ Only newline when in a string.
+ Continue comment lines consistently (needs more testing!)
+ Falls back to basic newline-and-indent, without affecting whitespace
in the origin line (it would originally delete-horizontal-space
before creating a new line).
+ Incorporates a set of reasonable defaults for brace expansion on RET
or SPC, as mentioned in #343 and #413.
Affects #343, #413
Both flycheck-mode and toggle-frame-fullscreen seem to be bound to "SPC t f", which means that only the second binding gets applied and there's no binding to toggle flycheck. This PR simply changes the fullscreen binding to capital F.
These two are now doom/open-scratch-buffer. If you're in a project,
a (persistent) scratch buffer is opened. Otherwise, a non-persistent,
transient scratch buffer is opened.
If ARG (universal argument) is non-nil, then use the current window
instead of a new window (or popup, if feature/popup is enabled).
Also, the ex command :x[!] is improved. The BANG = open in current
window.
doom/{next,previous}-buffer was implemented so that these commands could
skip over unreal buffers, and land us on either a real one or the
dashboard. Using the frame's buffer-predicate parameter accomplishes
exactly this, natively.
+ Rewrite projectile integration.
+ Fix per-frame workspaces not cleaning up after itself when an
frame-associated workspace (or its frame) is destroyed.
+ Alias +workspace-p to perspective-p instead of persp-p (which isn't as
accurate, because it counts nil as a valid perspective).
+ Extract orphaned-buffer list functionality in +workspace-buffer-list
into seperate function: +workspace-orphaned-buffer-list.
+ Allow toggle-debug-on-error to catch workspace errors.
+ Remove +workspace/kill-session-and-quit (never used)
+ Ensure persp-mode is loaded as late as possible.
The package wasn't set up properly to autoload until evil-snipe did,
making its functionality inaccessible without an explicit (require
'evil-easymotion)
This is a breaking change! Update your :popup settings. Old ones will
throw errors!
Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.
However, this is highly experimental! Expect edge cases. Particularly
with org-mode and magit (or anything that does its own window
management).
Relevant to #261, #263, #325