Updated the `spacemacs/new-empty-buffer` function, to accept a `split`
argument, that can have 4 values: `left`, `below`, `above` or `right`.
Added new functions and key bindings (SPC b M-h, -j, -k and -l) for
each direction.
Limit the lines to only get sorted when a block or rectangle
selection is active, on 2 or more lines. Otherwise show a
message stating the requirements for sorting by column.
Specifying parent modes (e.g. prog-mode) in :enabled-for-modes and
:disabled-for-modes keys in dotspacemacs-line-numbers catches derived
modes (e.g. c-mode) as well.
Fix bug where an empty :disabled-for-modes and a non-empty :enabled-for-modes
enabled line numbers everywhere, instead of only in modes specified in
:enabled-for-modes. (see https://github.com/syl20bnr/spacemacs/issues/8482)
Add auxiliary function spacemacs/derived-mode-p, similar to derived-mode-p but
takes a major-mode as an argument instead of using the current major-mode.
There was an error in `linum-on` when `dotspacemacs-line-numbers` was set to
`'relative`.
- new function `spacemacs//linum-backward-compabitility` to test for old
supported values.
- Use an :around advice for `linum-on` instead of redefining it.
- move linum init time config to `:init` section of `use-package`
- fix relative linum initialization by testing if `dotspacemacs-line-numbers` is
a list first.
Also remove the docstring about SPC h SPC as it is already implied for the other
options in the dotfile.
Note that this commit modifies one condition, namely disabled mode condition.
It removes the first test:
(not (spacemacs/mplist-get dotspacemacs-line-numbers :enabled-for-modes))
as it is not necessary since we have a `or` in the enable-p condition. Disabled
modes will be checked only if the current major mode is not explicitly enabled
(as intented).
An active evil-visual-block selection, uniquified the whole buffer, this
checks either region-active-p or evil-visual-state-p, now it sorts the
selected lines.
The comment was also updated with "a" before "region" and "the" before
"current buffer".
winum.el is an heavily extended and partly rewritten version of
window-numbering.el.
Among other things it allows window numbers to be shared across frames,
thus improving multi-screen user experience.
- add new bindings to move and swap buffers, and switch active window,
by number
- change kill buffer shortcut to d for consistency
- Change docs appropriately
Removed the variable p2, it was defined and assigned, but never used.
Removed two progn expressions that wasn't needed.
Implemented bmag's suggestions:
Changed "if" to "when", and removed a superflous p1 assignment.
Changes to rotate-windows:
- rename to spacemacs/rotate-windows-forward
- direction of rotation matches window numbers
- COUNT argument now rotates all windows by COUNT steps
- all window parameters are saved, not only buffer and window-start
swap-windows is not used for now, but could be helpful in the future.
from https://www.emacswiki.org/emacs/CopyingWholeLines
Duplicate current line, or region if active.
With argument N, make N copies.
With negative N, comment out original line and use the absolute value.
keybinding: `SPC x l d` (text - line - duplicate)
- Apply `/` and `//` rules (double / is for private functions)
- Add missing `spacemacs/` prefixes
- Move functions used outside of spacemacs-base layer to
core/core-funcs.el
- Remove unused functions
Commit originally intented to only rename linum-update-window-scale-fix
to spacemacs/linum-update-window-scale-fix :-)
Changes to the comment in the `spacemacs/rotate-windows` function
Sentences reordered:
From:
Default behavior.
Additional behavior. Prefix argument behavior.
To:
Default behavior,
Prefix argument behavior,
Additional behavior.
Spelling:
First sentence:
"your" replaced with "each",
"forwards" added to the end.
Second sentence (after reordering the last two sentences):
"Giving" removed,
"takes" replaced with "rotates",
"kindows" corrected to "windows",
"rotate" (next to last word) removed
(Optional) Third sentence (after reordering):
"(locked)" added after "Dedicated", it might clarify that a dedicated window means that it is locked.
After these changes:
Before:
"Rotate your windows.
Dedicated windows are left untouched. Giving a negative prefix
argument takes the kindows rotate backwards."
After:
"Rotate each window forwards.
A negative prefix argument rotates each window backwards.
Dedicated (locked) windows are left untouched."
The comment in the function: `spacemacs/rotate-windows-backward`
"your" replaced with "each",
"s" added to "backward",
added the same additional behavior comment as in the "main" rotation function,
"Dedicated (locked) windows are left untouched."
Before:
"Rotate your windows backward."
After:
"Rotate each window backwards.
Dedicated (locked) windows are left untouched."
New interactive function
`spacsmacs/open-file-or-directory-in-external-app`, depending on the
value of prefix argument, it opens the current file or directory in
external app.
Misspellings:
"beginnign" changed to "beginning",
"Insert one of several lines" changed to "Insert one or several lines" in two functions,
"identation" changed to "indentation",
Missing comment copied from the function that inserts a line
in the opposite direction:
(defun spacemacs/insert-line-below-no-indent (count)
"Insert a new line below with no indentation."
and renamed the direction, resulting in:
"Insert a new line above with no indentation."
Duplicate comments removed, the comments inside the functions,
are better explanations of what the function does.
Functions reordered:
The functions:
(defun spacemacs/evil-insert-line-below (count)
and
(defun spacemacs/evil-insert-line-above (count)
were written in a illogical order,
the "above" function should be written before the "below" function,
with this change, the function order will match other functions
with "above" and "below" in their names,
for example these:
(defun spacemacs/insert-line-above-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L535
(defun spacemacs/insert-line-below-no-indent (count)
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bdistributions/spacemacs-base/funcs.el#L549
evil-commands.el
line 2205: (defun evil-open-above (count)
line 2219: (defun evil-open-below (count)
line 2310: (defun evil-copy-from-above (arg)
line 2326: (defun evil-copy-from-below (arg)
evil-common.el
line 1892: (defun evil-insert-newline-above ()
line 1901: (defun evil-insert-newline-below ()
Prevent next-buffer, other-buffer, etc. from choosing useless buffers.
No need for spacemacs/next-useful-buffer,
spacemacs/previous-useful-buffer anymore.
Also fix spacemacs/alternate-buffer to respect buffer-predicate.
When spacemacs-layouts is used, buffer-predicate filters useful buffer
that belong to the current layout.