Commit graph

89 commits

Author SHA1 Message Date
duianto
95280d15a8 [dired] Add ivy command and replace evil collection key
Fixes: vim layer key binding of "J" in dired mode #14614
https://github.com/syl20bnr/spacemacs/issues/14614

problem
The evil collection binds "J" to `dired-go-to-file`

It overrides the Spacemacs `helm` and `ivy` equivalent commands.
`spacemacs/helm-find-files' has fuzzy matching and other features
`spacemacs/counsel-find-file' has more `M-o' actions

And the `ivy` layer uses the `spacemacs/helm-find-files` command.

solution
Move the Spacemacs definitions of "J",
after the evil collection dired keys have been setup
from: `spacemacs-bootstrap/packages.el`
to: `spacemacs-evil/init-evil-collection`

And use `spacemacs/counsel-find-file` in the `ivy` layer.
2021-04-15 22:07:30 +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
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
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
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
Robert O'Connor
82ba73a1c0
update copyright to 2020 2020-09-23 21:25:01 +02:00
Ivan Yonchovski
bc55d9b6fd Make sure eldoc info is not removed when you switch to insert mode
- This will prevent jumping of eldoc box when you switch to insert mode.
2019-11-27 21:30:29 +01:00
duianto
b9e61e6437 Add transient state keys _, j, k
Thanks sdwolfz for the suggestion to add underscore to the transient states,
then the shift key doesn't have to be released if it was held down to press `+`.

Added key bindings:
Evil numbers:
`SPC n _` decrease number under point
in the transient state:
`j` decrease number under point
`k` increase number under point

`SPC T T _` decrease transparency
`SPC z x _` scale down font
`SPC z f _` zoom out frame

Update documentation:
Zoom frame:
`q` quit transient state

Evil numbers:
`SPC n =` increase number under point
`SPC n _` decrease number under point
`0..9` add a number prefix argument
`q` quit transient state

Fixed a typo and made a small rewrite of the tip about using a prefix argument.

Added keys to transient states:
Font scaling:
Added `_` scale down
Reordered `k` assignment to match the order in the transient state

Frame transparency:
Added `_` decrease
Reordered `k` assignment to match the order in the transient state

Evil numbers:
Added `k` increase
Added `_` and `j` decrease

Zoom frame:
Added `_` zoom frame out
Reordered `k` assignment to match the order in the transient state

Which-key entries for Evil numbers `SPC n`:
Group together keys that call the same command:
From: + and =
To:   +,=

From: - and _
To:   -,_
2019-07-14 22:56:57 +02:00
duianto
d6cdd6aa88 Add a tutorials section to SPC h T
`SPC h T e` for `emacs-tutorial` (aliased from `help-with-tutorial` for a more
descriptive name)
`SPC h T v` for `evil-tutor-start`

Added a wikipedia link to the `vi` article, where the origins of modal editing
is discussed.
2019-07-07 11:34:16 +02:00
Jake Romer
7c3d211726 Run foreign keys in evil-numbers transient state 2019-07-06 01:59:04 +02:00
jcaw
d4cca74854 Add support for visual line numbers
Emacs 26 added built-in support for line numbers, relative line numbers, and
visual line numbers. Spacemacs supports only absolute and relative, but there is
no way to access the visual mode. It's hard to get around this, since Spacemacs
abstracts line numbers to a reasonably high degree.

Arguably, `visual` is much more useful than `relative` as a display type. Visual
line numbers are like relative line numbers, but only lines that are actually
showing are counted. This means:

  1. Hidden lines are not counted. If a large amount of text is folded, the line
     numbers won't jump from "10" to "546". This is particularly useful in
     buffers like `magit-status`, where a large amount of information is folded
     by default.

  2. Lines that are wrapped are counted as multiple lines, since they're being
     displayed as multiple lines in the editor. Each visual line will be
     numbered - unlike `relative`, where the entire thing is numbered... Once.

With standard relative line numbers, you can't actually navigate using the line
numbers in the sidebar as soon as folded or wrapped lines are introduced. Since
this is one of the main use cases for relative line numbers, this is a big
problem.

Visual mode fixes that problem. Every line that's being displayed is labelled.
Numbers always correspond to the actual number of lines you'd need to navigate
to reach that line.

This commit extends Spacemacs' line number interface to provide visual line
number support.
2019-06-23 19:16:44 +02:00
Hoyon Mak
beab291332 Don't lazy load keybindings for evil surround 2019-04-10 19:30:32 +02:00
duianto
2ef94efbf4 Add line text object using evil-textobj-line 2019-04-07 15:34:02 +02:00
deb0ch
1402b1bacc formatting 2018-11-05 22:14:32 +00:00
Codruț Constantin Gușoi
5c6057226e Encapsulates multiple cursors functionality in a layer 2018-10-27 14:33:42 +03:00
mpanarin
ae00b1c70a Revert "Disable evil-ediff for now"
This reverts commit 4dbd5e6110.
2018-08-31 16:58:05 +03:00
bmag
4f70a9abcc Load evil-surround when entering operator state
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
2018-07-12 11:56:20 +03:00
syl20bnr
4dbd5e6110 Disable evil-ediff for now 2018-07-04 02:36:59 -04:00
syl20bnr
54ace2e998 Fix lazy loading of evil-escape
Add transient hook on window-configuration-change-hook
2018-06-15 03:09:14 -04:00
syl20bnr
5ab0b7918e Lazy load evil-escape 2018-06-14 21:54:39 -04:00
syl20bnr
9d7c1c8adf Lazy load evil-numbers 2018-06-14 21:54:39 -04:00
syl20bnr
8281ed74ae Lazy load evil-lion 2018-06-14 21:54:39 -04:00
syl20bnr
03786aa94a Lazy load evil-surround 2018-06-14 21:54:39 -04:00
syl20bnr
fc08a3b9c1 Lazy load evil-exchange 2018-06-14 21:54:39 -04:00
syl20bnr
8425d16c55 Lazy load evil-indent-plus 2018-06-14 21:54:39 -04:00
syl20bnr
c50ff88812 Lazy load evil-args 2018-06-14 21:51:31 -04:00
syl20bnr
3b06108161 Lazy load evil-goggles 2018-06-14 21:23:12 -04:00
syl20bnr
41b90e403c Lazy load evil-lisp-state 2018-06-11 02:46:38 -04:00
syl20bnr
095a83896a Remove evil-search-highlight-persist as it seems uneeded now 2018-06-11 02:02:20 -04:00
syl20bnr
5004e05d44 Add hybrid-style-visual-feedback variable 2018-06-08 02:32:05 -04:00
syl20bnr
9539e4206d Rename Vim style related variable to vim-style-xxxxx
Update the documentation
Define alias for backward compatibility
2018-06-08 02:24:38 -04:00
syl20bnr
e39b3495bd Add vim-style-visual-feedback variable and documentation 2018-06-08 02:24:38 -04:00
syl20bnr
1833c9c4f7 iedit: fix TAB in Vim and Hybrid states to toggle occurrences
Fixes #10398
2018-06-07 01:59:16 -04:00
syl20bnr
740251d896 Disable evil-goggles pulse 2018-06-03 02:21:21 -04:00
syl20bnr
306f8d6cd8 Hide ligther for evil-goggles-mode 2018-06-03 01:09:28 -04:00
syl20bnr
1ec62a496a Add evil-goggles and tune effect duration for async and blocking ops 2018-06-02 02:51:06 -04:00
syl20bnr
1374cd615f Fix evil-escape lighter being shown in mode-line
Also simplify code a bit.
2018-06-02 01:56:25 -04:00
bmag
8f82486154 Add support for native line numbers in Emacs 26
Emacs 26.1 will introduce a new native line numbers feature:
"display-line-numbers". It includes relative line numbers, is faster than
current linum-mode, and doesn't use the margin area (it has its own area). So
yeah, we want to use the new feature when possible.

No changes are required on the user side, except for Emacs 26 users are
recommended to remove nlinum layer from their configuration (if they have
enabled it).

With this change:
- Emacs 26:
  - uses display-line-numbers by default.
  - linum and linum-relative packages are excluded.
- Emacs 25:
  - does NOT use display-line-numbers.
  - continues to use linum and linum-relative.
- nlinum layer:
  - can still be used as before in Emacs 25.
  - is NOT recommended in Emacs 26, but can be used.
  - when enabled, excludes display-line-numbers.

Also contains some bug fixes:

Fixes a bug where setting `dostpacemacs-line-numbers` to `t` or `relative`
enabled line numbers in every buffer, instead of only in buffers that derive
from prog-mode and text-mode.

Likewise fixes a bug where specifying `:enabled-for-modes nil` (or not
specifying `:enabled-for-modes` at all) in `dotspacemacs-line-numbers` settings
meant "enable in all modes" instead of "enable in modes derived from prog-mode
or text-mode".

Because of this change, also adds a way for users to enable line numbers
in *all* buffers.

Removes check for special buffer. All our current checks should be enough to
enable line numbers only where it makes sense. Disabling in all special buffers
is not necessary.
2018-05-28 19:29:15 +03:00
smile13241324
106b27f52e Deactivate evil-escape in holy-mode 2018-05-27 22:37:48 +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
bmag
f84ab9af8f u-p-always-defer fix regress: spacemacs-evil, spacemacs-editing
These changes were missed in commit 29c78ce841
2018-03-03 14:17:01 +02:00
syl20bnr
29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
duianto
25fa9b0a50 Format spacemacs-evil/packages.el max 80 chars 2018-01-20 10:41:43 -05:00
Benjamin Reynolds
93d2fa6f9c evil-mc: Fix misaligned cursors on macOS and Windows
See #8641
See also gabesoft/evil-mc#49
2018-01-18 01:20:12 -05:00
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
syl20bnr
2cb98447af Move evil-cleverparens to spacemacs-evil with major mode toggle
Delete layer evil-cleverparens and move the package to spacemacs-evil layer.

The feature is called "Safe structurral editing" for lisp dialects. Support for
it is added via pre-init functions in each of the concerned layer and proper
documentation is added to their README.org files.

This also removes the recently added package evil-smartparens. The goal is
to choose the best package for evil safe structural editing. For now we use
evil-cleverparens as we supported it first, if evil-smartparens is shown to be
a better package we will be able to switch to it.
2018-01-04 01:40:52 -05:00
duianto
d1b699fceb Clear both / and C-s search highlights with :noh
Clear both `/` and `C-s` search highlights with `:noh` and `:nohlsearch`,
and group the clear highlight commands next to each other.
2017-12-17 15:19:26 -05:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00