Commit graph

91 commits

Author SHA1 Message Date
Lucius Hu
bc27203615
Removed legacy codes for emacs-version < 25.1 (#14497) 2021-04-28 05:04:53 +00:00
Lucius Hu
fc30320ec6 fixup! spacemacs-editing: refactor 2021-04-04 22:24:05 +02:00
Lucius Hu
46a02ed29b spacemacs-editing: refactor
- Refactored function
- Replaced unnecessary backquote construct with simple quotation
2021-04-04 12:48:21 +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
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
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
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
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
tris
699be3fe28 [editing] add binding for multi-line 2021-02-20 08:02:32 +01:00
duianto
9375d6f54d Add missing space before defun args parens 2021-02-10 08:51:55 +01:00
Hong Xu
47d02ba970 Use transient and set dired-quick-sort-suppress-setup-warning to 'message
Related to #14156
2020-12-16 19:14:12 +01:00
duianto
6f830c149e Fix evil-easymotion in hybrid state 2020-12-01 09:25:34 +01:00
Maximilian Wolff
be908875cb
Change newly added which-key bindings to use keymap api
The newly added bindings had side effects for
magit. This was caused by which-keys replacement
working on bindings which are identical between
various modes.

To fix this I have changed the api to use the newly
added keymap based replacements which avoid these
issues.

As a side effect they are a ton faster as which
key does not have to compare all available bindings
everytime it opens its help window.

I have also fixed some more missing which-key
description in magit status buffer.
2020-11-27 22:46:56 +01:00
Maximilian Wolff
75248c0b26
[core] Integrate evil-motion layer into the core
In addition add more descriptive texts
for which-keys.
2020-11-27 20:02:44 +01:00
Hong Xu
133a7b9280 Add dired-quick-sort layer
This layer helps quickly sorting Dired buffers in various ways, such as
time, size, etc.
I think the underlying package is useful and worth a place in spacemacs.
It has also been promoted by Pragmatic Emacs before (albeit long time
ago): http://pragmaticemacs.com/emacs/speedy-sorting-in-dired-with-dired-quick-sort/

Disclaimer: I'm the author of dired-quick-sort package
2020-11-27 19:11:34 +01:00
Maximilian Wolff
db82eff6d2
Revise persistent scratch buffer integration
Make installation of the packages dependent
on whether they are used.

Load them lazily and add missing conventional
progn statements to init sections.
2020-11-14 09:49:04 +00:00
Ray
31cff79099
Add persistent-scratch and unkillable-scratch into core/spacemacs-editing layer (#14115) 2020-11-14 10:02:51 +01:00
Keith Pinson
f4a050bc18 [editing] Integrate evil-vimish-fold via dotspacemacs-folding-method
Not confident that I have plugged this in everywhere that I should have. However
I tested locally and it seems to be working.
2020-10-15 23:21:15 +02:00
duianto
e096d6dd1e Set evil-undo-system to undo-tree 2020-10-10 21:55:06 +02:00
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
syl20bnr
39df5e26b6 [editing] Add qwerty-ca-fr layout to evil-swap-keys config 2020-08-21 17:35:24 -04:00
syl20bnr
d19af574b9 [editing] Fix use-package invocation for evil-swap-keys 2020-08-21 17:27:26 -04:00
Maximilian Wolff
346be150f9
[core] Replace snoopy with evil-swap-keys and simplify setup
See #9316 for the discussion.
2020-08-18 00:08:01 +02:00
Codruț Constantin Gușoi
3216aedb27 Better UX for opening and copying links 2020-08-13 22:17:36 +02:00
Maximilian Wolff
793898f818
[core] Move snoopy mode to spacemacs-editing layer 2020-08-11 00:05:40 +02:00
Tomasz Kowal
80f17249e9 Fix origami bindings in normal mode 2020-06-21 17:08:47 +02:00
Tomasz Kowal
8e4bd9a8a1 Move folding bindings to evil motion state map 2020-06-07 18:16:46 +02:00
Maximilian Wolff
c7af787257
Add setting to dotfile to deactivate clean-aindent-mode
There have been complains about issues with `clean-aindent-mode` from
multiple users. For some of these deactivating the mode in their user-init
did not work as intended. Therefore I have added a setting for it in the
dotfile.
2020-03-13 19:00:48 +01:00
Maximilian Wolff
2032360f76
[spacemacs-editing] Make clean-aindent check for indentations last
Sometimes indentations are wrongly removed when
`clean-aindent--check-last-point` is not called last in `post-command-hook`.
2020-02-29 22:48:37 +01:00
syl20bnr
dcb4da02a8 Bump undo limits to avoid frequent No further undo information
See https://github.com/syl20bnr/spacemacs/issues/12110#issuecomment-504079398
2019-08-20 22:54:46 -04:00
Dominik Schrempf
11ee097707 Bugfix `spacemacs/avy-goto-url'.
- Use `avy-jump' instead of the deprecated `avy--generic-jump'.
- Add a keybinding to also open URLs (SPC j U).
2019-08-10 11:23:01 +02:00
syl20bnr
8fa16d19a9 [editing] Document key binding ~SPC x y~ and sort them 2019-05-12 10:59:57 -04:00
William Casarin
42d6e143fc link-hint: bind link-hint-copy-link to SPC x y
Signed-off-by: William Casarin <jb55@jb55.com>
2019-05-09 16:44:55 +02:00
Matt Kramer
5f27eee072
Fix global toggles for aggressive-indent and smartparens
Previously the global toggles acted on the local instead of global mode
2018-10-13 19:22:23 +03:00
Cormac Cannon
c122eb6a05 lsp-layer configuration and building blocks for derived layers.
See README.org for details

<<amendment 1>>
Updated some keybindings based on CONVENTIONS doc
Corrected file headers
Incorporated some immediate feedback from MaskRay

<<amendment 2>>
Corrected keybindings in README.org

<<amendment 3>>
Eliminated stray org-mode tag at table foot in README.org
Eliminated new 'l' prefix and moved bindings under 'g'

<<amendment 4>>
Updated defaults in config.el based on feedback from sebastiencs (lsp/lsp-ui dev)
- lsp-ui-sideline enabled by default
- lsp-ui-peek-expand-by-default disabled

<<amendment 5 09/04/18>>
Removed 'spacemacs/' prefix from lsp-format-buffer binding

<<amendment 6 09/04/18>>
Moved lsp-ui-peek bindings under j (jump)
Added goto bindings for new lsp-mode functions goto type definition and goto implementation

<<amendment 7 31/05/18>>
Corrected layer title in file headers
Rebased on dev tip (390462e)

<<amendment 8 03/07/18>>
Added keybindings for lsp-describe-thing-at-point,
lsp-workspace-restart, lsp-execute-code-action suggested by Yyoncho (LSP
Java)
Added avy keyboard navigation function provided by MaskRay
Reverted lsp-ui-peek to expand by default after an upstream change that
restricts expansion to current document, addressing the previous
performance issue.

<<amendment 9 04/07/18>>
Corrected keybinding for lsp-describe-thing-at-point

<<amendment 10 19/07/18>>
Rebound lsp-restart-workspace under mlq
Declared 'lsp' prefix (myrgy)
Added evil-set-command-property fix suggested by Yyoncho
Moved lsp-c-c++ layer from private branch to this PR after spending too
many hours of my life rebasing after circle CI picks up a formatting
error :)

<<amendment 11 25/07/18>>
Rebased
Bound cquery-freshen-index under lf
Bound cquery-preprocess-file under lp

<<amendment 12 01/08/18>>
Rebased
(c-c++ layer) moved semantic refactor refactor-at-point binding from mr
to mrp to prevent key binding error when semantic layer enabled

<<amendment 13 17/08/18>>
Added option to select ccls or cquery backend based on work by myrgy
Rebased on current upstream develop

<<amendment 14 20/08/18>>
Incorporated feedback from myrgy and maskray.
Corrected some duplication/inconsistencies.
Rebased.

<<amendment 15 21/08/18>>
Reduced duplication in backend config

<<amendment 16 22/08/18>>
Removed lsp-c-c++ layer example -- to be merged with c-c++ layer once
this PR is sorted

<<amendment 17 23/08/18>>
Added CHANGELOG.develop entry as per updated contribution guidelines.

<<amendment 18 24/08/18>>
Moved some keybindings as per feedback from sdwolfz
2018-08-23 23:02:52 +01:00
syl20bnr
9951013bee Lazy load eval-sexp-fu 2018-06-10 23:24:44 -04:00
syl20bnr
2580e43c66 Add support for dumping Spacemacs
Create dump with:

   ./emacs --batch -l ~/.emacs.d/dump-init.el \
           -eval '(dump-emacs-portable "spacemacs.pdmp")'

Load dump with:

   ./emacs --dump-file=spacemacs.pdmp

User can require/load additional libraries in new dotfile function:

   dotspacemacs/user-load
2018-05-20 03:57:54 -04:00
bmag
260c3d98e3 pcre2el: move ownership to bootstrap
pcre2el is used by several layers, such as ivy and helm, so it needs to be
available outside of spacemacs-editing layer.
See also https://github.com/syl20bnr/spacemacs/pull/5990#issuecomment-217400470
2018-05-10 20:26:55 +03:00
syl20bnr
0fa3658cd8 reorganize spacemacs-base distribution into +spacemacs/spacemacs-xxx
This idea is to have the spacemacs-base distribution only configure defaults for
built-in packages. Those buit-in packages are now configured in the new layer
spacemacs-defaults.
Additionally some other packages of spacemacs-base have been dispatched to
better suiting spacemacs layers.

Projectile has been moved to the new layer spacemacs-project

- Move the following packages to bootsrap distributio layer:
  - exec-path-from-shell
  - evil-evilified-state
  - holy-mode
  - hybrid-mode
  - spacemacs-theme
- ace-window has been moved to spacemacs-navigation
- centered-buffer-mode has been moved to spacemacs-editing-visual
- pcre2el has been moved to spacemacs-editing
- evil-escape and evil-visualstar have been moved to spacemacs-evil
2018-03-04 20:54:54 -05:00
syl20bnr
ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00