Commit graph

117 commits

Author SHA1 Message Date
syl20bnr 46138cd25a Move declare-layers functions to new layers.el file 2016-05-28 21:26:00 -04:00
syl20bnr ee1d7d4bfa Revert "New layer spacemacs-projects containing projectile and neotree"
This reverts commit 3f22eeaa03.

Projectile is used in various places and can be considered a base
package.
2016-05-19 20:22:07 -04:00
syl20bnr 1f993bddf6 Rename spacemacs-helm and spacemacs-ivy layers to helm and ivy
For ivy users: be sure to update your dotfile by replacing spacemacs-ivy
by ivy
2016-05-15 22:24:27 -04:00
syl20bnr bb3e8eca42 Move ido config to new layer spacemacs-completion 2016-05-15 21:55:57 -04:00
syl20bnr 1f2d817708 New spacemacs-misc layer, move request to it 2016-05-14 12:28:57 -04:00
syl20bnr 3f22eeaa03 New layer spacemacs-projects containing projectile and neotree 2016-05-14 11:57:32 -04:00
d12frosted 8b0c69c8cd
move org essentials to spacemacs distro 2016-04-07 22:11:22 -04:00
syl20bnr c2296f71f8 Put back holy and hybrid in spacemacs base layer
They are not optional
Also fixes some bugs like toggling hybrid mode from holy mode and
toggling off the hybrid mode.
2016-03-16 21:59:44 -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
justbur 8d45f27631 spacemacs: Remove old file
packages-backup.el in the spacemacs layer was kept around while
factoring the layer into smaller components. Since it's out of date now,
the backup file should be removed.
2016-02-16 17:50:42 -05:00
syl20bnr bc0d0de821 Use spacemacs|hide-lighter 2016-02-14 23:20:04 -05:00
Peter Hoeg d6b83293b2 Diminish relative line numbers
It's a little pointless taking up space in the modeline to indicate that
the LR minor mode is active when line numbers are themselves visible
and it is this clear to everyone that they are active.
2016-02-14 23:18:52 -05:00
Diego Berrocal 55ef06317f Add smartparens to comint-mode
Why not?
2016-02-02 21:06:18 +01:00
bmag 2ff22934e7 Use window-numbering-assign-func for neotree number
Using window-numbering-assign is simpler and more reliable than using
window-numbering-before-hook and neo-after-create-hook.
2016-01-31 23:54:55 -05:00
justbur 3bab577b86 symbol-highlight-ts: Improve doc formatting 2016-01-31 23:48:19 -05:00
Eivind Fonn 4b004951b2 Allow <count>G in doc-view to go to page 2016-01-31 23:43:54 -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
syl20bnr 39d044dcb4 Move unimpaired contribution to spacemacs-evil
And document it.
2016-01-31 23:04:48 -05:00
Bailey Ling 273c46a603 include quickfix bindings from unimpaired 2016-01-31 23:04:48 -05:00
syl20bnr f7889b4a53 Move link-hint to spacemacs-editing 2016-01-31 23:04:48 -05:00
Fabien Dubosson 324c2fa8d8 Add link-hint package
Use link-hint package. Bind it to `SPC x o` and `SPC x O`.
2016-01-31 23:04:47 -05:00
Balaji Sivaraman 2b1ed603dc Change all references of micro-state in codebase to transient-state 2016-01-31 23:04:47 -05:00
justbur aa4b6e6861 Partition spacemacs layer into finer categories
This will allow people using spacemacs-base to have finer control over
what additional packages they install on top of base.

The proposed split is as follows

spacemacs-editing:
 - aggressive-indent
 - avy
 - bracketed-paste
 - clean-aindent-mode
 - eval-sexp-fu
 - expand-region
 - hexl
 - hungry-delete
 - iedit
 - lorem-ipsum
 - move-text
 - neotree
 - pcre2el
 - smartparens

spacemacs-editing-visual-packages:
 - adaptive-wrap
 - auto-highlight-symbol
 - highlight-indentation
 - highlight-numbers
 - highlight-parentheses
 - hl-anything
 - indent-guide
 - linum-relative
 - rainbow-delimiters
 - volatile-highlights

spacemacs-evil-packages:
 - evil-anzu
 - evil-args
 - evil-exchange
 - evil-iedit-state
 - evil-indent-plus
 - evil-jumper
 - evil-lisp-state
 - evil-mc
 - evil-nerd-commenter
 - evil-matchit
 - evil-numbers
 - evil-search-highlight-persist
 - evil-terminal-cursor-changer
 - evil-tutor
 - evil-unimpaired

spacemacs-language-packages:
 - define-word
 - google-translate

spacemacs-ui-packages:
 - ace-link
 - ace-window
 - buffer-move
 - centered-cursor
 - desktop
 - doc-view
 - flx-ido
 - info+
 - open-junk-file
 - window-numbering

spacemacs-ui-visual-packages:
 - fancy-battery
 - golden-ratio
 - leuven-theme
 - neotree
 - smooth-scrolling
 - spaceline
 - vi-tilde-fringe
 - zoom-frm
2016-01-31 00:59:07 -05:00
Joe Schafer 2d99beb425 vim-unimpaired: don't re-position point
Keep the point the same for evil-unimpaired/insert-space-above and
evil-unimpaired/insert-space-below.

Old Behavior

    A newline<POINT>
    \n

    ===== (evil-unimpaired/insert-space-below)

    <POINT>A newline
    \n
    \n

New behavior

    A newline<POINT>
    \n

    ===== (evil-unimpaired/insert-space-below)

    A newline<POINT>
    \n
    \n
2016-01-26 01:21:02 -05:00
Eivind Fonn 40836f1c11 Basic support for hexl 2016-01-26 01:21:01 -05:00
justbur e97af03ff7 Call new micro-state a transient state 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
james sangho nah 4b0b5559a0 Additional key binding for symbol-highlight
Addressing #4720. Bind p to spacemacs/quick-ahs-backward for finding
previous match.
2016-01-23 23:15:17 +13:00
Eivind Fonn c0a25983e3 Use-package conventions 2016-01-21 16:31:11 +01:00
Bailey Ling 79e8677419 Remove obsolete variable.
evil-jumper-auto-save-interval has been removed in favor of relying on
savehist to perform persistence.
2016-01-21 16:29:39 +01:00
Nate Wolfe e031903bc4 (4604) Restore avy-open-url and fix avy-goto-url
This commit restores the spacemacs/avy-open-url SPC x o keybinding,
and also adds spacemacs/avy-goto-url to the package :commands to fix the
missing function definition on the SPC j U keybinding.
2016-01-18 00:25:05 -05:00
justbur 0f0f583489 evil-jumper: Remove hack for evil-jumper bindings
A recent change in evil-jumper makes this unnecessary. The keys are now
bound as remaps, which means they have the same priority as the location
of the evil-jump-forward and evil-jump-backward commands. This is
exactly what this hack was trying to accomplish, so it's no longer
necessary.
2016-01-18 00:06:09 -05:00
syl20bnr 194a42db74 Move unimpaired to spacemacs layer 2016-01-17 23:28:09 -05:00
Alejandro Catalina Feliú 7cadd905d8 Add bracketed-paste for tty
Enable a hook in +distribution/spacemacs layer to enable bracketed-paste
in tty setups. This allows a better paste functionality in tty.

squash! Sort packages.
2016-01-13 00:48:19 -05:00
Alejandro Catalina Feliú f8ad9b6103 Remove spacemacs/init-dired+ function
The package dired+ is initialized but it's not in the spacemacs-packages
list, so it is not finally loaded.
2016-01-13 00:42:25 -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
syl20bnr 3d63dd4392 core: fix red mode-line when an error occurred
Rename function configuration-layer//set-error to
configuration-layer//increment-error-count
2016-01-12 00:08:36 -05:00
syl20bnr 046d86800c Clean copyrights and update for year 2016 2016-01-11 21:42:17 -05:00
justbur 99140bc679 spacemacs: Port spacemacs/helm-open-junk-file for ivy
This is now spacemacs/open-junk-file and decides whether to use ivy or
helm based on the use of the spacemacs-ivy layer
2016-01-09 13:36:03 -05:00
justbur 32f523e062 spacemacs-helm: New layer
Collect helm configuration from spacemacs and spacemacs-base into one
place. The purpose is to allow choice between this layer and
spacemacs-ivy.
2016-01-09 13:36:03 -05:00
Fabien Dubosson 72a89ab312 Use jump-forward C-i binding only in GUI mode
Background: `C-i` and `TAB` are the same keycode for historic reasons.

With the current settings, evil [1] and evil-jumper [2] associate
`jump-forward` to `C-i` (==`TAB`), what overrides bindings set to
`TAB` (==`C-i`) in terminal mode, like `orc-cycle`. To fix this,
this commit:

- Set `evil-want-C-i-jump` to `nil`, to prevent `evil` and `evil-jumper`
  to use the `C-i` (==`TAB`) keycode.

- Remove the spacemacs' code that bind `jump-forward` to `TAB`(==`C-i`)

The current spacemacs code already rebind `jump-forward` to the GUI-only
`<C-i>` keycode.

[1] 082bd65ccc/evil-maps.el?fileviewer=file-view-default#evil-maps.el-323
[2] efaa841ca4/evil-jumper.el (L241)

Fix #4505
Fix #4487
2016-01-09 18:43:48 +01:00
syl20bnr fa50f4600a Move avy bindings to spacemacs/init-avy, remove "SPC `" 2016-01-09 02:28:19 -05:00
justbur 02e2ce4d5a keybindings: Add SPC j for jumping
Use mnemonic j for jumping commands. Although some of these commands
exist in other places, they are duplicated here when they don't
conflict.

Add:

  1. jb for bookmark-jump
  2. jc for avy char jump
  3. jd for dired-jump
  4. jD for dired-jump-other-window
  5. jf for find-function-at-point
  6. ji for spacemacs/jump-in-buffer (imenu)
  7. jI for helm imenu in all buffers
  8. jl for avy go to line
  9. ju for avy-pop-mark (u for "undo")
  10. jU for spacmacs/avy-goto-url
  11. jv for find-variable-at-point
  12. jw for avy go to word or subword

Move:
  1. jh to j0 (push mark and go to beginning of line)
  1. jl to j$ (push mark and go to end of line)
2016-01-09 01:00:44 -05:00
Eivind Fonn c4a1a56e6a Add <C-i> binding for forward jump 2016-01-08 23:10:44 -05:00
syl20bnr 4ed2229c5c shell: move deactivation of smooth-scrolling to shell layer 2016-01-08 21:27:26 -05:00
Eivind Fonn f549333762 Unset scroll margin in eshell 2016-01-08 21:43:35 +01:00
syl20bnr 29a7eab537 Remove unneeded variable spacemacs-mode-line-new-version-lighterp 2016-01-05 12:50:21 -05:00
Eivind Fonn de17125e6d Fix void variable error for new version segment 2016-01-05 15:31:51 +01:00
justbur 8a5882ec6b evil-jumper: Move bindings to global motion map
Having them in a minor mode map gives them precedence over other minor
modes. It's better to put the bindings in the same place as the original
evil jump commands which is the global motion map.
2016-01-05 00:40:16 -05:00
syl20bnr c913ec89f8 Improve support for GUI client of emacs --daemon
Fix spacemacs|do-after-display-system-init
Delay setup of spaceline separator
Explicitly reload the theme for the first GUI client
2016-01-04 23:18:45 -05:00