Commit graph

87 commits

Author SHA1 Message Date
Eivind Fonn
62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
Eivind Fonn
6b3e1452cf core: misc. goodies for describe-package
- Use completing-read when called interactively
- Check for string locations in addition to built-in etc.
- Don’t double-princ on/off for toggles
- Bind to SPC hdP
2016-05-31 22:26:59 -04:00
JP-Ellis
e49c41adf9 Add make-frame shortcut, SPC w F
Placed it under the `SPC w` prefix since the related `other-frame` is
set to `SPC w o`.

Signed-off-by: JP-Ellis <josh@jpellis.me>
2016-05-29 23:13:47 -04:00
syl20bnr
fd756a124e New layer nlinum + revert default support for linum
To use nlinum + nlinum-relative add the nlinum layer

Note: there are still work to do on nlinum-relative, at some point we
may replace linum by nlinum completely.
2016-05-20 23:57:32 -04:00
codefalling
fa4eeb49f0 Replace linum by nlinum and nlinum-relative 2016-05-17 00:02:41 -04:00
Eivind Fonn
7383bac3a3 SPC cd: close more compilation windows 2016-05-05 12:50:27 +02:00
Eivind Fonn
d0ae648ff3 Normalize keymaps in visual line toggle 2016-04-21 21:10:41 -04:00
Eivind Fonn
ba7254f522 Fix transparency transient state docstring 2016-04-21 21:04:52 -04:00
Eivind Fonn
052896e782 Fix ace-delete-window bindings 2016-04-12 23:02:03 -04:00
Dominique Bégin
e243454de3 Add keybinding for rotating windows backwards 2016-04-12 22:49:56 -04:00
Eivind Fonn
9b60b133ad Add documentation to transparency TS 2016-04-08 17:43:18 +02:00
sooheon
b77b541e3a Allow = to be used to increase transparency
-,= is easy to go back and forth, without needing to press shift for +.
2016-04-08 17:39:33 +02:00
Eivind Fonn
bb46ced71c Fix bookmark binding conflict 2016-04-06 11:28:24 +02:00
Fabien Dubosson
481c196cd5 Fix deer binding being overlapped by dired 2016-04-05 13:04:51 +02:00
Fabien Dubosson
57e91fe035 Correct more <SPC> to SPC 2016-04-05 12:52:54 +02:00
Allen Li
e037dcdc51 Set SPC f b to bookmark-jump
helm will overwrite this with its own command, but people not using
helm (only ivy at the moment) will need this defined.
2016-04-05 12:33:19 +02:00
syl20bnr
173e2a5421 Move all prefix names from config.el to init functions 2016-04-03 00:12:28 -04:00
syl20bnr
f1ddbd1f3e move toggle stickyfunc to SPC T S and SPC T C-S 2016-04-01 00:26:20 -04:00
syl20bnr
9368cba427 Update windows transient state docstring 2016-03-24 00:49:46 -04:00
syl20bnr
f48b251968 Delete SPC j b and move SPC j u to SPC j b
By convention, jump back should be on `b`, not `u`
Since `SPC j u` is free, move as well `SPC j U` to `SPC j u`.

`SPC j b` for bookmark jump is already available under `SPC f b`
2016-03-21 20:02:56 -04:00
syl20bnr
cfdfcfab40 Revert hybrid mode to use an evil hybrid state
To follow with the refactor of the holy-mode which uses the
emacs state of evil mode, the hybrid mode now uses the evil hybrid
state.

We have now a clean symmetry between all the editing styles where each
of them has an associated state:
- vim = insert state
- emacs = emacs state
- hybrid = hybrid state

This gives consistent properties to all editing styles and most
importantly allows to have true isolation of key binding maps. It has
the huge benefit to be easier to explain since now everything can
leverage the evil API regarding key bindings.

Note: Regular Emacs key binding functions can still be used for emacs
and hybrid states so there is no regression with the previous
implementation, we just gain better isolation at the cost of a few
duplicated lines of code which will be easy to update as needed if
evil upstream code changes (this code has been commented with a link
to the upstream code).
2016-03-16 21:30:03 -04:00
syl20bnr
82fdd9a511 Use evil in holy-mode
Motivation

While disabling Evil in holy-mode makes its implementation shorter and
sounds elegant on the paper, in practice it puts a big burden on the
configuration parts which need to know if Evil is enable or not. This is
a bad separation of concerns and the bunch of fixes that we were forced
to do in the past weeks shows this issue. Those fixes were about
removing the knowledge of the activation of Evil by implementing new
dispatching functions to be used by layers, this is cumbersome and makes
Spacemacs layer configuration more subtle which is not good. There was
additional bad consequences of the removal of Evil state like the
impossibility to use Evil lisp state or iedit states, or we would have
been forced to implement a temporary activation of Evil which is
awkward.

Instead I reintroduce Evil as the central piece of Spacemacs design thus
Evil is now re-enabled in holy-mode. It provides the abstraction we need
to isolate editing styles and be able to grow the Spacemacs
configuration coverage sanely. Layers don't need to check whether the
holy mode is active or not and they don't need to know if Evil is
available (it is always available). We also don't need to write
additional dispatching functions, this is the job of Evil, and I think
it provides everything for this. Ideally configuration layer should be
implemented with only Evil in mind and the holy-mode (and hybrid-mode)
should magically make it work for Emacs style users, for instance we can
freely use `evil-insert-state` anywhere in the code without any guard.

Evil is now even more part of Spacemacs, we can really say that
Spacemacs is Emacs+Evil which is now an indivisible pair. Spacemacs
needed this stable API to continue on the right track.

While these changes should be rather transparent to the user, I'm sorry
for this experimental period, I failed to see all the implications of
such a change, I was just excited about the possibility to make Evil
optional. The reality is that Spacemacs has to embrace it and keep its
strong position on being Emacs+Evil at the core.

Implementation

- insert, motion and normal states are forced to emacs state using an
advice on `evil-insert-state`, `evil-motion-state` and
`evil-normal-state` respectively. These functions can be used freely in
the layer configuration.
- A new general hook `spacemacs-editing-style-hook` allow to hook any
code that need to be configured based on the editing style. Functions
hooked to this hook takes the current style as parameter, this
basically generalize the hook used to setup hjkl navigation bindings.
- ESC has been removed from the emacs state map.
- Revert unneeded changes
  - Revert "evil: enter insert-state only from normal-state"
    commit bdd702dfbe.
  - Revert "avoid being evil in deft with emacs editing style"
    commit f3a16f49ed.

Additional changes

All editing style packages have been moved to a layer called
`spacemacs-editing-styles`

Notes

I did not have time to attack hybrid mode, I should be able to do it
later.
2016-03-13 21:16:55 -04:00
Eivind Fonn
ee6e84de10 Enhance compilation keybindings
- Make sure to defer after load of compile
- Use `gr' instead of `g' for recompilation
2016-03-12 17:49:20 +01:00
denin
a4ce07dd12 restore evil-binding of 'g' key in a compilation buffer
By default, recompile is bound to 'g' in compilation buffer.
It was rebound to 'r' key.
2016-03-12 17:47:18 +01:00
sooheon
ec3bbd4176 Use evil-define-minor-mode-key over define-key
This keeps the keybinding specific to the visual-line minor mode, and
fixes #5418. Reverting the bindings on the :off toggle is no longer
necessary as well, turning off visual-line-mode will handle it.
2016-03-10 23:12:35 -05:00
Beau Dacious
a54c637480 create align-repeat-backslash command 2016-02-27 14:57:06 +01:00
justbur
5402261456 Improve toggle-maximize-centered-buffer
1. The register name should be a character not a symbol.

2. Combine toggle-maximize-centered-buffer and bzg-big-fringe-mode to
   make new minor mode that combines the two effects.

3. Fix problem where the mode could only be enabled if there was more
   than one window, which makes no sense.

4. Use window-configuration-to-register function
2016-02-25 20:34:40 +01:00
Allen Li
496718ddd8 Fix Window Manipulation Transient State typo 2016-02-25 20:30:24 +01:00
justbur
0b997316d0 helm: Move helm-apropos to spacemacs-helm 2016-02-16 23:53:43 -05:00
justbur
f6b82ee90d helm/ivy: Use hook to update hjkl navigation
Introduce hjkl-completion-navigation-functions to hold the functions to
disable and enable hjkl navigation for ivy and/or helm. The hook is run
with args to indicate whether to enable or disable.
2016-02-16 23:53:43 -05:00
adrsta
feefea4b18 Update align function documentation 2016-02-14 23:39:37 -05:00
Robert O'Connor
4348c17433 Switch “bc”->“bd” and “wc”->“wd”
Also:
- switch spacemacs layouts to the same.
- Add “wD” for ace-delete-window
- switch window dedication toggle to “wt”
- all documentation has been updated to reflect these changes

Closes #5031
2016-02-14 23:09:45 -05:00
Eivind Fonn
69b14b4950 Fix frame parameter for maximized 2016-02-02 16:30:03 +01:00
MadAnd
f506f9a00c Improve frame-fullscreen and maximize-frame toggles 2016-02-02 16:30:03 +01:00
Eivind Fonn
b3b0ecb399 Make buffer and window close bindings consistent 2016-01-31 23:43:23 -05:00
Eivind Fonn
53daa7b198 Some fixes for google-translate
- Don't explicitly list commands (they are autoloaded)
- Move xgl binding from keybindings.el
- Don't explicitly require the default-ui feature (not necessary)
- Set variables in init instead of config (easier to change for users)
2016-01-31 23:22:42 -05:00
Balaji Sivaraman
2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
syl20bnr
a000a03349 Move report error to SPC h I
h for help and I for issue
2016-01-26 01:21:02 -05:00
Fabien Dubosson
aa39eb3fd0 Add a command for reporting issue to spacemacs 2016-01-26 01:21:02 -05:00
justbur
e97af03ff7 Call new micro-state a transient state 2016-01-26 01:21:00 -05:00
justbur
48846ed824 New version of wind-manip-micro-state doc 2016-01-26 01:21:00 -05:00
justbur
dbd9725c39 spacemacs(-base): Translate micro-states to use new macro
1. spacemacs: scroll
2. spacemacs-base: paste
3. spacemacs-base: macrostep
4. spacemacs-base: transparency
5. spacemacs-base: scale-font
6. spacemacs-base: wind-manip
7. spacemacs-base: buffer
8. spacemacs: symbol-highlight
9. spacemacs: move-text
10. spacemacs: zoom-frm
11. spacemacs: evil-numbers
2016-01-26 01:20:59 -05:00
JAremko
574dffbeeb added follow mode key binding 2016-01-23 14:11:20 +01:00
Balaji Sivaraman
ab109b1eb2 Add keybinding and evil-ex-cmd string for spacemacs/new-empty-buffer fn 2016-01-18 00:31:21 -05:00
Fabien Dubosson
123844cd51 Add text justification bindings 2016-01-18 00:25:31 -05:00
Fabien Dubosson
ad448d6683 Add helm-apropos on SPC h d d
Bind it to `SPC h d d` as it's a way to describe a lot of elements:
- commands
- functions
- classes
- generic functions
- variables
- faces
- helm-attributes

Is also bound on `SPC F1` and will also stay there.
2016-01-13 00:40:25 -05:00
justbur
36a0756211 spacemacs-base: Add back view-emacs-news
Some how it got lost moving helm into its own layer.
2016-01-12 08:19:47 -05:00
syl20bnr
a5857b3d7c Optimize SPC j prefix
`SPC j j` is now for avy-goto-char (SPC SPC in 0.105)
`SPC j J` is for avy-goto-char-2
`SPC j s` is for splitting strings or sexps
`SPC j S` is for splitting strings of sexps, insert new line and indent
`SPC j n` is to split line at point, insert new line and indent
2016-01-12 01:17:41 -05:00
Fabien Dubosson
78b8d939f4 Add spacemacs/describe-last-keys 2016-01-11 22:01:01 -05:00
Fabien Dubosson
2441b5861f Remove duplicate definition of SPC hds 2016-01-11 22:01:01 -05:00