Commit graph

305 commits

Author SHA1 Message Date
syl20bnr d07b0aa16f spacemacs-ui-visual: move functions to funcs.el
And sort them
2016-06-08 10:41:14 -04:00
syl20bnr 89d5aad0a5 Various tweaks to golden-ratio configuration
- Prefer add-to-list function to alter golden-ratio variables so the lists
are less likely to grows as users reload their spacemacs config.
- Move some config to layers when appropriate
- Sort alphabetically the values
- Remove some duplicates in exclude-modes
2016-06-08 10:17:08 -04:00
syl20bnr 7d0ef58150 Add quit-window to golden-ratio-extra-commands 2016-06-08 09:52:01 -04:00
Eivind Fonn 403e8441fb don’t double-check ws-butler-mode 2016-06-06 14:12:11 +02:00
bmag e552921273 ahs-to-iedit: restrict iedit region to ahs range 2016-06-05 00:28:44 -04:00
syl20bnr 51b413dde0 Diminish evil-mc prefix in mode-line 2016-06-02 22:47:37 -04:00
syl20bnr c0f19caa5a New local package spacemacs-whitespace-cleanup
Under toggle SPC t W with lighter W
2016-06-02 22:39:41 -04:00
Eivind Fonn 5a4e8a3f01 core: add toggle for whitespace cleanup 2016-06-02 21:02:30 -04:00
syl20bnr 29bae4026a Improve lighter consistency of toggles
Make global and local whitespace mode lighters identical
Add a lighter for fill column indicator
2016-06-02 20:57:15 -04:00
syl20bnr 8f45a94095 ivy: perspective -> persp-mode and layout
Fix wrong package name.
Replace `perspective` words by `layout`
2016-05-31 23:39:47 -04:00
syl20bnr 430a3e4797 fold method: split config and add dot variable to template
Move the evil part to evil config and used :toggle keyword
Also add the variable to the dotfile template
2016-05-31 22:59:39 -04:00
Muneeb Shaikh 371dd85ff2 core: add another code folding method using origami to spacemacs-editing
* layers/+spacemacs/spacemacs-editing/packages.el (spacemacs-editing/init-origami):
  add origami package and initialize it
* core/core-dotspacemacs.el (dotspacemacs-override-evil-folding): new
  variable to allow choosing between different code folding methods.
  Currently supported `evil' and `origami'
2016-05-31 22:46:04 -04:00
Eivind Fonn 62fc64f745 core: special toggle API for minor modes 2016-05-31 22:33:44 -04:00
JAremko 74e0644759 add more checkers 2016-05-29 23:03:23 -04:00
syl20bnr 303e76b769 remove remaining packages-funcs.el and packages-config.el 2016-05-27 00:32:05 -04:00
Eivind Fonn ac104d2739 Move helm setq out of with-eval-after-load 2016-05-23 12:59:11 +02: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
syl20bnr e06929ddaf Replace smooth-scrolling package by a native alternative
My tests show that scroll-conservatively does the job, need your
feedback on this.

See https://github.com/syl20bnr/spacemacs/issues/6097
2016-05-20 23:36:13 -04:00
syl20bnr 46b880668c Fix neotree key bindings 2016-05-20 17:00:27 -04:00
syl20bnr 0b84b1be66 Fix errors with last revert and move neotree funcs 2016-05-19 20:22:07 -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 156cead380 Revert "Experimenting with 0.2 delay to redraw relative line number"
This reverts commit 8fd78b06f3.
2016-05-19 14:33:36 -04:00
syl20bnr 8fd78b06f3 Experimenting with 0.2 delay to redraw relative line number
0.2 is the same delay for additional UI improvements like matching
parens and highlighting.
2016-05-19 13:46:06 -04:00
syl20bnr 27a665e616 Move nlinum-relative to spacemacs-evil layer
Make more sense in this layer since it is used mainly by Vim style users
2016-05-17 00:05:14 -04:00
codefalling fa4eeb49f0 Replace linum by nlinum and nlinum-relative 2016-05-17 00:02:41 -04:00
syl20bnr a086a5ba17 Fix hs-minor-mode activation in prog modes 2016-05-16 21:02:33 -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 1aa0e4bfa3 Rename default-org to default-org-config 2016-05-15 22:03:46 -04:00
syl20bnr 70aa0105a4 Move default config for ivy to spacemacs-completion
Use a custom package name. Also dispatch functions to funcs.el files.
Disable ivy-hydra for now.

With this default configuration users using helm instead of ivy still
get a good ivy base configuration (UI and Key bindings).
2016-05-15 22:03:25 -04:00
syl20bnr cbda059ea0 Move default config for helm to spacemacs-completion
Use a custom package name. Also dispatch functions to funcs.el files.
With this default configuration users using ivy instead of helm still
get a good helm base configuration (UI and Key bindings).
2016-05-15 22:02:18 -04:00
syl20bnr bb3e8eca42 Move ido config to new layer spacemacs-completion 2016-05-15 21:55:57 -04:00
syl20bnr 8fb5d86be0 Fix dumb error with spacemacs-projects-packages variable 2016-05-15 19:39:49 -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
syl20bnr cf202d60f3 Move undo-tree and ws-butler to spacemacs-editing 2016-05-14 11:57:28 -04:00
syl20bnr f959bc4b19 Move popup, popwin, fill-ci, hl-todo to spacemacs-ui-visual 2016-05-14 11:57:27 -04:00
syl20bnr 3f2bdcc03b Move restart-emacs to spacemacs-ui 2016-05-14 11:57:27 -04:00
syl20bnr 7d25e9dab4 Move some evil related packages to spacemacs-evil 2016-05-14 11:57:27 -04:00
bmag 50bd692e98 Layouts: gui/terminal frames should have different workspaces
Use two different sets of workspaces for each perspective - one
set for graphical frames, and one set for terminal frames.
This is required because workspaces from graphical frames are not
compatible for use in terminal frames.
2016-05-11 20:46:53 -04:00
syl20bnr 738f425276 Add spaceline-compile to spacemacs-post-user-config-hook
Also improve support for GUI client using a server launcher with
emacs --daemon.
2016-05-11 20:07:26 -04:00
Eivind Fonn a652a66e45 spaceline: don’t use :when in new-version segment
This will be necessary with the new version of Spaceline, but it works
fine with the old version too.
2016-05-09 23:24:44 +02:00
Daniel Luna 76610294a7 long-lines' toggle now accepts prefix arguments.
This commit introduces two new options to add-toggle:

:prefix, a symbol that is bound to the raw prefix argument (as
in `(interactive "P") forms).

:on-message, an expression overriding the default 'on' toggle
message (useful to document a toggle's argument).

These new options are applied to long-lines' toggle, so we can choose
how many lines to toggle it on via a raw prefix argument.
2016-05-06 13:53:41 +02:00
Eivind Fonn 2136a8e74f bracketed-paste: Use :toggle instead of :if
Also fix the actual expression :-)
2016-05-06 13:53:30 +02:00
Aaron Jensen 9d186c5f4c spacemacs-editing: disable bracketed paste for 25+
Bracketed paste is built into emacs 25+
2016-05-06 13:47:17 +02:00
Eivind Fonn 325067bc10 unimpaired: Move hunk commands to version-control 2016-05-06 13:27:44 +02:00
Iuri Fernandes cc6d315ea6 Adapt hunk commands to other diff tools 2016-05-06 13:26:12 +02:00
Christoph Paulik 67aeb73655 Defer loading of persp mode until after user-config
fix #3881
2016-05-05 13:01:47 +02:00
bmag 2a669648aa layouts: don't double activate persp-mode
If persp-mode is already activated, don't re-activate it. Should fix bug
where running dotspacemacs/sync-configuration-layers (SPC-f-e-R) resets
all the layouts.
2016-05-01 11:14:32 -04:00
bmag cf3068e4ef layouts: persp-activated-hook -> persp-activated-functions
persp-mode has renamed persp-activated-hook to
persp-activated-functions, so we gotta update the hook.
2016-04-29 23:01:48 -04:00
JAremko 42db6c7a41 Move space-doc to the Spacemacs core bundle 2016-04-29 20:01:56 -04:00
syl20bnr e18b1cbe0e Move vi-tilde-fringe hook to shell layer
Also replace lambdas by named functions
2016-04-29 17:48:00 -04:00
Russell Sim c115a66210 Disable tilde fringe in shell/comint modes 2016-04-28 16:01:01 +02:00
sooheon a0d244d47f Remove duplicate definition of symbol-highlight 2016-04-28 15:38:02 +02:00
Eivind Fonn 052896e782 Fix ace-delete-window bindings 2016-04-12 23:02:03 -04:00
Muneeb Shaikh d19c6eb566 spacemacs-evil: add evil-visual-mark-mode
This adds toggle for evil-visual-mark-mode on SPC t `

Fix #5619
2016-04-12 22:47:26 -04:00
syl20bnr 5d84473fca layouts: update arity for persp-before-switch-functions
The hooked functions must take 2 parameters, I just ignored the
second one as well. Not sure of the implication but it seems to work.
2016-04-12 22:09:19 -04:00
syl20bnr 859f28473b layouts: use MELPA version of persp-mode 2016-04-12 22:05:24 -04:00
bmag 526a0334d7 Synchronize Neotree window when changing context
Fix Neotree losing track of its window when changing workspaces or
layouts.
2016-04-08 23:12:26 -04:00
Fabien Dubosson ac5cfcf2a1 Improve SPC s c to support evil-search-module
Fix #1326
Fix #5101
2016-04-08 23:11:12 -04:00
syl20bnr ff7b839df0
org: various tweaks to spacemacs-org and org layers
- move evil-org to org layer
- move org-plus-contrib to spacemacs-org layer
- remove toc-org from the list of package for org layer
- give ownership of the org package to org layer
- invent a package named default-org in spacemacs-org layer in order
  to let the ownership of org package to org layer
- remove unnecessary :mode keyword in use-package from for org
2016-04-07 22:11:22 -04:00
d12frosted 8b0c69c8cd
move org essentials to spacemacs distro 2016-04-07 22:11:22 -04:00
syl20bnr 97f4473849 Remove erroneous :defer for spaceline package.
Thanks TheBB :-)
2016-04-07 14:57:48 -04:00
syl20bnr 63dc8f7ea0 shell: add support for SPC u SPC ' to open shell in current buffer
Works as well for all `SPC a s ...` key bindings.
2016-04-07 14:52:41 -04:00
Fabien Dubosson 1a45754cad Visualy align some keybindings 2016-04-05 12:53:44 +02:00
Fabien Dubosson 57e91fe035 Correct more <SPC> to SPC 2016-04-05 12:52:54 +02:00
syl20bnr c4e6dd752b spaceline: remove :defer 0.1 for now 2016-04-03 22:25:39 -04:00
syl20bnr cc5afabcae Experimental: defer by 0.1s spaceline
spaceline can sometime take 1s to load when Emacs starts, using
:defer 0.1 seems to smooth the startup a little bit.
2016-04-03 00:38:13 -04:00
syl20bnr 6770969b6f core: add variables for core-spacemacs-buffer
- spacemacs-buffer-version-info
- spacemacs-buffer-logo-title
2016-04-01 00:26:19 -04:00
syl20bnr c4d9ca8fba spacemacs layouts and workspaces tweaks
- add `l` to workspace transient state to go back to layout transient
  state
- remove erroneous `l` and `h` keys on layouts transient state
- unique documentation toggle for layouts and workspaces
- reformat and sort transient states documentation
2016-03-30 14:29:55 -04:00
syl20bnr dd14afaf26 workspaces: new workspace clones the current one
Fixes #5566
2016-03-25 10:37:03 -04:00
syl20bnr 63df395975 Fix eyebrowse error when syncing layers
Fixes #5573
2016-03-25 01:12:30 -04:00
syl20bnr a33b0d02c7 Revert unwanted change in previous commit 2016-03-25 01:11:32 -04:00
syl20bnr 16afe67907 core: enhance lazy installation of layer
Now Spacemacs will ask for layer installation when opening a file with
a known file type.
The auto-mode-alist entries are added by the file auto-layer.el in
the layers directory.

Easy insert of forms for lazy initialization can be done with the
interactive function configuration-layer//insert-lazy-install-form.

Change default value of dotspacemacs-enable-lazy-installation to t.
2016-03-25 01:03:37 -04:00
syl20bnr 82efa16dab Fix long-lines toggle and rename it
Fix global version of the toggle
Rename it to highlight-long-lines
2016-03-22 09:38:37 -04:00
syl20bnr 828ae8113d Replace enforce-column layer by a toggle on SPC t 8 2016-03-21 21:18:36 -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 944960daf8 Move eyebrowse to spacemacs-layouts layer and add documentation
Add toggle capability with ? for workspaces transient state
Remove the variable eyebrowse-display-help
2016-03-20 21:48:06 -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 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
syl20bnr 4d6053695f Reapply lost commit 55ef063
Add smartparens to comint-mode
2016-03-09 19:59:17 -05:00
syl20bnr 6efd7c1362 Reapply lost commit 4b00495
Allow <count>G in doc-view to go to page
2016-03-09 19:57:12 -05:00
bmag 3a3d8f34ca 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.

Duplicates older commit 2ff22934e7 which
somehow didn't survive the splitting of spacemacs layer into smaller
spacemacs-* layers.
2016-03-08 16:41:56 +02:00
Eivind Fonn 41e8a28903 Fix smooth-scroll toggling at startup 2016-03-03 11:44:00 +01:00
syl20bnr 0ca738989e Update, simplify and add smooth scrolling toggle on SPC t v 2016-03-02 09:13:09 -05:00
syl20bnr 85fa27166c Revert "Fix startup error when dotspacemacs-smooth-scrolling is nil"
This reverts commit decd5235a9.

The smooth-scrolling package is not required when
dotspacemacs-smooth-scrolling is nil so it is not possible to use a
function of this package to disable it.
2016-03-01 15:06:04 -05:00
MadAnd decd5235a9 Fix startup error when dotspacemacs-smooth-scrolling is nil
error: ad-disable-advice: `previous-line' is not advised
2016-03-01 18:57:43 +01:00
km 5ee38deeff Fix use of deprecated function avy--with-avy-keys 2016-03-01 18:55:26 +01:00
syl20bnr 308fb1118d core: replace package keyword :skip-install by :location site 2016-02-20 23:05:36 -05:00
syl20bnr 835aa53435 Add uuidgen package to generate... UUIDs 2016-02-17 16:11:39 -05:00
Fabien Dubosson b3296d2722 Delay vi-tilde-fringe loading after display init
Fix #1303
2016-02-17 00:15:31 -05:00
Bailey Ling 6ccd46e1bd prevent auto-highlight-symbol from setting up its own default map 2016-02-17 00:02:41 -05:00
syl20bnr 83ec113ee6 Choose between iedit and evil-iedit-state with ahs 2016-02-16 23:00:40 -05:00
Alejandro Catalina b607af1b6e bind evil-iedit-mode only for vim users
If the user has emacs editing style, bind iedit-mode instead.
2016-02-16 22:56:33 -05:00
justbur aab007d225 evil-jumper: Remove obsolete package
The functionality is now incorporated into the evil core and this
package has been marked as obsolete.
2016-02-16 21:23:07 -05:00
justbur 055481a795 google-translate: Cleanup use-package declaration
Declare :commands so that the package is properly deferred. Also wrap
the whole init section in progn
2016-02-16 17:48:05 -05:00
Fabien Dubosson 21cab12125 Add smart closing parenthesis 2016-02-14 23:09:13 -05:00
Bar 6baf2abc2b Fix name of google-translate's init function
`spacemacs/init-google-translate` should be `spacemacs-language/init-google-translate`, `google-translate` is not loaded because of this.
2016-02-07 15:00:02 +01:00
justbur 3bab577b86 symbol-highlight-ts: Improve doc formatting 2016-01-31 23:48:19 -05:00
syl20bnr 6b1b1c2a61 Move google-translate fixes to spacemacs-language 2016-01-31 23:24:37 -05:00
syl20bnr 39d044dcb4 Move unimpaired contribution to spacemacs-evil
And document it.
2016-01-31 23:04:48 -05:00
syl20bnr f7889b4a53 Move link-hint to spacemacs-editing 2016-01-31 23:04:48 -05:00
syl20bnr ebe73ce701 Remove neotree from package list of spacemacs-editing 2016-01-31 20:44:37 -05:00
Xue Fuqiao 4958f7fc10 Fix "the point" problems
Point is a proper name when it refers to the current editing location.
Moreover, point designates a place *between* two characters (or before the first
character, or after the last character), rather than a particular character.

References:

* http://lists.gnu.org/archive/html/emacs-devel/2008-10/msg00414.html
* https://www.gnu.org/software/emacs/manual/html_node/elisp/Point.html#index-point
2016-01-31 21:48:52 +01: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