Commit graph

746 commits

Author SHA1 Message Date
duianto b005de9c40 buffer-menu: Add evil collection keys
Fixes: Weird Evil keybidings in buffer-menu #14572
https://github.com/syl20bnr/spacemacs/issues/14572
2021-03-31 12:46:08 +02:00
syl20bnr 97cd83e169 Apply GPLv3 terms explicitly to all elisp files 2021-03-25 22:59:32 -04:00
syl20bnr d55a9e2e67 Update header for year 2021 2021-03-25 22:59:32 -04:00
Ray 1fcef83467 Minibuffer bind C-n C-p to <next>/<previous>-line-or-history-element 2021-03-20 20:42:51 +01:00
Maximilian Wolff f0b60976d2
Revert "spacemacs-defaults: replace local pkg help-fns+ with github one"
This reverts commit eda04edbe7.

This is leading to an endless installation loop also it
may not be save to directly pull from a wiki.
2021-03-20 01:11:21 +01:00
Maximilian Wolff 8bcc42059b
Revert "spacemacs-navigation: replace local package info+ with github one"
This reverts commit ee3845315a.

This is leading to an endless installation loop also it may
not be save to directly pull from a wiki.
2021-03-20 01:09:46 +01:00
Maximilian Wolff 6074172207
[spacemacs-navigation] Fix wrong url in recipe declaration 2021-03-20 00:20:21 +01:00
Lucius Hu ee3845315a
spacemacs-navigation: replace local package info+ with github one 2021-03-20 00:19:38 +01:00
Maximilian Wolff a14154422f
[spacemacs-defaults] Fix broken URL in help-fns+ fetcher recipe 2021-03-20 00:17:46 +01:00
Lucius Hu eda04edbe7 spacemacs-defaults: replace local pkg help-fns+ with github one 2021-03-20 00:13:46 +01:00
duianto 9e4845b913 Hide drag stuff modeline indicator
"drag" appeared in the mode line after
reloading the configuration: SPC f e R

And wrapped the use-package :init in a: progn
2021-03-19 12:51:58 +01:00
duianto da00174c11 Fix SPC h SPC, void smartparens-mode
Problem:
With the helm layer, `SPC h SPC` shows:
and: Symbol’s value as variable is void: smartparens-mode

Cause:
The `SPC h SPC` helm buffer generates a section called: Toggles
It checks the status of every toggle mode.

But smartparens-mode has the define-minor-mode :init-value nil

Solution:
Check that the two non-global smartparens modes are bound and true:
smartparens-mode
smartparens-strict-mode

Note:
The smartparens global (strict) mode toggles don't need to be checked,
because they enable smartparens-(strict-)mode.
2021-03-18 23:22:21 +01:00
Ray 8c43115a63 Ensure required arguments of macro spacemacs|define-custom-layout 2021-03-18 19:29:07 +01:00
emacspace b86c619cb6 Built-in files auto-update: Thu Mar 18 14:37:56 UTC 2021 2021-03-18 18:07:05 +01:00
JAremko 0f2df2727d Validate .spacemacs variables. 2021-03-18 15:47:02 +02:00
Maximilian Wolff 9ff2004706 Avoid special handling of smartparens in lisp layers
emacs-lisp and common-lisp-layer had both their own
logic to work with smartparens including manually
requiring it.

This PR makes them use the standard functions. In
addition it replaces the manual require with proper
autoloading of smartparens.
2021-03-16 18:54:18 +00:00
Maximilian Wolff cd25405781 Make smartparens toggles activate/deactivate the right modes
The standard toggles were not respecting the smartparens
mode defined in the dotfile. Also the global mode toggle
was only for the non-strict version.

This PR makes sure that they toggle the correct
smartparens version.
2021-03-16 18:32:38 +00:00
Maximilian Wolff 6018580958 Make layers activate/deactivate the right version of smartparens
Before layers were sometimes only activating the non strict
version of smartparens. Also some were only disabling
the non-strict version leaving some of the smartparens
advices intact.

With this PR, all layers set the right version of smartparens.
Also if the layer is trying to disable it a standard function
will now take care to disable all versions of smartparens.
2021-03-16 17:47:15 +00:00
Maximilian Wolff 7d2ff48d77 Allow disabling smartparens in dotfile
Smartparens seems to cause performance issues for
a lot of users. This PR allows to disable the package
completely.

There are some functions in elisp and common-lisp mode
which dependt on this package and will manually require
it when executed though. But this should only affect
lispers which mostly will want to have some kind of
smartparent functionality anyway.

For the discussion see here #12533.
2021-03-15 20:51:18 +00:00
duianto 480efa0f3d Remove unused package: move-text 2021-03-14 09:45:13 +01:00
duianto 94585331ce Replace move-text with drag-stuff
Just like: https://github.com/emacsfodder/move-text

https://github.com/rejeep/drag-stuff.el
also drags one or more (region) lines up or down.

But it also allows for dragging left and right (across end of lines):
- a word: changing place with the next or previous word.
- a region: moving it one character at a time to the left or right.

Added a new key binding: `SPC x .`
that opens the:
```
Drag Stuff Transient State
[k/K] up    [h/H] left   [q] quit
[j/J] down  [l/L] right
```

The `move-text` package isn't removed, even though it isn't used anymore in
Spacemacs.

Because the `evil-unimpaired` elpa directory is generated from the local
Spacemacs `evil-unimpaired.el` file.
https://github.com/syl20bnr/spacemacs/blob/develop/layers/%2Bspacemacs/spacemacs-evil/local/evil-unimpaired/evil-unimpaired.el

Therefore the `evil-unimpaired` key bindings `[e` and `]e` still call the
`move-text` commands.

Until the `evil-unimpaired` elpa directory has been removed and regenerated by
restarting Spacemacs.

Then they will call the new `drag-stuff` commands.

I don't know if/when the `move-text` package can be removed in the future.
2021-03-14 00:29:46 +01:00
duianto d424c8d1d1 Bind frame keys using spacemacs|spacebind
This names the SPC F which-key entry.
before: +prefix
after: Frames

And adds "..." to the end of the descriptions,
for the keys that require additional user interactions.
2021-03-13 23:02:40 +01:00
duianto b24fccdbff Update call to purpose-x-magit-multi-on
The upstream fix:
Fix #178: x-magit: don't override backup variable on double activation by bmag https://github.com/bmag/emacs-purpose/pull/179

Made it possible to just call: purpose-x-magit-multi-on
2021-03-04 20:37:11 +01:00
duianto 91f92d82fe Fix purpose and magit: max-lisp-eval-depth
problem:
trying to open a magit buffer after
reloading the configuration: `SPC f e R`

shows the message:
>Lisp nesting exceeds ‘max-lisp-eval-depth’

cause:
purpose-x-magit-multi-on can't be called twice,
without turning it off first: purpose-x-magit-off

Spacemacs, purpose-x-magit-multi-on, Lisp nesting exceeds ‘max-lisp-eval-depth’
https://github.com/bmag/emacs-purpose/issues/178

solution:
in this case we'll only call: purpose-x-magit-multi-on
once per Emacs session.

notes:
this also removes the call to: with-eval-after-load 'magit
because it's handled upstream:
c85dd3c9f7/window-purpose-x.el (L243)
2021-03-04 11:38:48 +01:00
duianto 6d8101c20e Fix void string-edit-mode
problem:
Trying to describe a key: `C-h k` `j`
shows:
Symbol’s value as variable is void: string-edit-mode

solution
Don't defer the string-edit package.
2021-03-02 11:47:28 +01:00
Maximilian Wolff 8181bc9cf2
[editing] Make string-edit confirm/abort align to conventions 2021-02-28 22:01:12 +01:00
Maximilian Wolff c3b40ce13b
[editing] Add missing documentation and make string-edit lazy load 2021-02-28 21:54:52 +01:00
Ivan Yonchovski c6ffe996b6
[editing] Added string-edit package to editing layer 2021-02-28 21:24:23 +01:00
duianto 67287faeed
[doc][spacemacs-editing] Add urls to supported packages 2021-02-23 22:26:07 +01:00
duianto 319626d1ad Bind s to the dired-quick-sort hydra
The dired-quick-sort hydra was bound to: S

But the introduction of evil-collection-dired
[evil-collection] support for dired #14333
https://github.com/syl20bnr/spacemacs/pull/14333

Now binds S to: dired-do-symlink
334670e29d/modes/dired/evil-collection-dired.el (L66)

It also restored the default evil behavior of: s
to: evil-substitute

But it isn't useful in the dired buffer since it is: read-only
2021-02-23 20:26:31 +01:00
Ivan Yonchovski b6aed092cf [evil-cleverparens] `evil-cp-change' should move the point
I have a PR for that https://github.com/luxbock/evil-cleverparens/pull/71 but it
is not reviewed for a long time. Without this change when you do `ci"` the
cursor won't go in the "".
2021-02-21 17:43:45 +01:00
tris 699be3fe28 [editing] add binding for multi-line 2021-02-20 08:02:32 +01:00
duianto 7e38f2e64e Disable evil collection unimpaired bindings
This restores the previous Spacemacs
Info-mode and help-mode buffer bindings.

for example:

before:
The square bracket keys are prefixes for one key:
"[u" 'evil-collection-unimpaired-url-encode
"]u" 'evil-collection-unimpaired-url-decode

after:
 ]                       ;; Info-forward-node
 [                       ;; Info-backward-node

 ]                       ;; help-go-forward
 [                       ;; help-go-back

Fixes: Evil keybindings for navigation no longer behave as expected in Info buffers #14375
2021-02-19 16:56:59 +01:00
Maximilian Wolff af0d0e7276 [purpose] Fix undefined magit-display-buffer-function during startup
With purpose and the new layer verification algorithm in place
it looks like the default load order changed causing
`purpose-x-magit-multi-on` to access `magit-display-buffer-function`
before is has been loaded.
2021-02-14 08:16:13 +00:00
duianto 3bb13db857 Fix home buffer ace links
Pressing o `(spacemacs/ace-buffer-links)`
on the Spacemacs home buffer `SPC b h`.

Adds an ace link (one or more highlighted letters),
at the menu buttons, and the startup list entries.

problem:
The text: `[S P A C E M A C S]` gets an ace link,
but it isn't a button.

When the [?] button has been pressed, and the Quick Help
is open, then ace links appear on the open square brackets
for each key binding, but they aren't buttons.

In the lists: recent files, projects, etc.
The ace links appear before the first / (slash).
This means that in windows they appear after `c:`.

solution:
Add the ace links at the beginning of each widget-button.
2021-02-13 09:38:23 +01:00
duianto 9375d6f54d Add missing space before defun args parens 2021-02-10 08:51:55 +01:00
Thanh Vuong ae65f3cedd
Fix #14213 remove dash and ht from core libs
- delete dash and ht in core
- reimplemented all ht functions we need in `spacemacs-ht.el` and use them
- add dash to spacemacs-bootstrap
2021-02-07 22:22:39 +01:00
duianto 60ad8194d7 Refactor spacemacs/rename-current-buffer-file 2021-02-07 21:21:41 +01:00
duianto e8c84d4b37 [base] Fix void dired-mode-map
problem:
the attempt to hide the dired buffer, which-key entry:
r -> evil-mc

caused a void dired-mode-map message to appear on startup,
in the spacemacs-base distribution.

solution:
hide the which-key entry after dired loads.
2021-02-04 19:50:54 +01:00
emacspace fbd281d710 documentation formatting: Sun Jan 31 11:47:27 UTC 2021 2021-01-31 20:57:53 +02:00
duianto ec57b21a92 Fix which-key entries: gr and gs in dired and magit
problem:
pressing g shows the which-key entry:
r -> evil-mc

but it calls the expected commands:
revert-buffer (in dired)
magit-refresh

s -> evil-easymotion
but it calls the expected command:
magit-jump-to-staged

solution:
removing the gr and gs which-key entries,
shows the expected commands.
2021-01-30 11:59:18 +01:00
Thanh Vuong 86a89d8fdd [evil-collection] support for dired 2021-01-30 10:17:20 +01:00
Thanh Vuong a6d364e0f2 [spacemacs-evil] add evil-collection
It is impossible to ignore `evil-collection` anymore. `evil-magit` has been
deprecated recently and moved to `evil-collection`.

It will save time and effort for both Spacemacs and Evil to share and contribute
to `evil-collection` imo.

However I strongly prefer Spacemacs binding scheme over evil-collection's one.
We should only pick what we need from `evil-collection`.

This PR add mechanism to embrace `evil-collection` and apply it to shell layer (`vterm`)
and git layer.
2021-01-30 01:11:07 +00:00
Ivan Yonchovski 138d6329ef Add kill-ring to savehist-additional-variables 2021-01-26 13:51:46 +01:00
duianto 7ffcae0360
[org] Update org-enable-valign
Move the org-enable-valign variable definition
and the valign package setup to the org layer.

Document the variable.
2021-01-24 22:58:34 +01:00
duianto 92796dc121 [dotfile] new var: dotspacemacs-show-trailing-whitespace
Moved the function definitions for:
spacemacs//trailing-whitespace
spacemacs//set-whitespace-style-for-diff

from: spacemacs-default/packages.el
to:   spacemacs-default/funcs.el
2021-01-24 21:54:40 +01:00
Richard Kim c9800a3b1a fixed package name from org-super-star to org-superstar 2021-01-10 19:56:28 +01:00
duianto 61ff12cbfc [base] Show a winum required message
problem:
key bindings that use the winum package,
don't work in the spacemacs-base distribution.

for example in the buffer transient state: SPC b .
{number}, C-{number} or M-{number}

shows messages like these:
Wrong type argument: commandp, winum-select-window-1
Symbol’s function definition is void: winum-get-window-by-number

cause:
the winum package is loaded in the spacemacs-navigation layer,
but the layer isn't used in the spacemacs-base distribution.

solution:
show the message:
This command requires the winum package,
winum is part of the spacemacs-navigation layer.
2021-01-09 08:40:32 +01:00
duianto 444c6a7565 [defaults] Prevent fullscreen on config reload
problem:
Reloading the configuration: SPC f e R
after changing the variable: dotspacemacs-fullscreen-at-startup
to: t
changes Emacs into fullscreen mode.

solution:
Only check the variable and change to fullscreen mode on startup,
before Spacemacs has been initialized.

Fixes: Reloading config with fullscreen-at-startup t (in macOS) toggles fullscreen mode #13073
2020-12-30 20:43:52 +01:00
Maximilian Wolff 0333173f18
Restore old ace bindings and revise documentation changes 2020-12-29 21:29:50 +01:00