Commit graph

356 commits

Author SHA1 Message Date
syl20bnr
aed1811f76 perspectives: big refactoring
- Rename micro-states to "layouts"
- Rename some functions to include "layout" instead of "perspective"
- cleanup variables
- move functions to funcs.el
- move package specific stuff to post-init functions
- changes key bindings
- micro-state documentation rewrite
- change format of the layouts line in the micro-state doc
- defer loading of persp-mode which loads with `SPC l`
- always display the spacemacs home buffer with no switch
- various fixes
- various new bugs :-)
2015-11-09 00:36:09 -05:00
Joe Hillenbrand
5559060ab5 bind avy-goto-line to SPC y
After the change in 1d340dcc77,
there was some grumbling in gitter that `SPC L` is not as convenient
as `SPC l`. Apparently avy-goto-line is a popular function.

`SPC y` is chosen because it is:

- currently unused (as far as I can tell).
- sort of mnemonic because "avy" has a "y" in it.
- doesn't require SHIFT to type
- is accessible even on non-US keyboards
  (there were suggestions such ";" and "\" that are not as accessible
   on non-US keyboards)

This change also updates the documentation regarding the change from
ace-jump-mode to avy.
2015-11-06 01:29:49 -05:00
syl20bnr
1d340dcc77 Switch bindings avy-jump-line and perspective micro-state
So perspectives are on SPC l
and avy jump to line on SPC L

This is to have consistent lower case keys for "scopes":
- b for buffer
- f for files
- p for project
- and l for layout (perspective)
2015-11-05 00:28:30 -05:00
Eivind Fonn
3341ab4e4c Enable custom info+ modeline 2015-11-04 20:20:13 +01:00
Eivind Fonn
0567f5cdac Fix spacemacs/kill-other-buffers 2015-11-03 13:53:10 +01:00
ralesi
500c22e3c5 Helm locate automatically sets the locate command
Can't check simply for executable, as `helm-locate-set-command` is
always run.
2015-11-03 00:00:55 -05:00
syl20bnr
df003f299f Defer ace-jump-helm-line and move it to C-q 2015-11-03 00:00:55 -05:00
ralesi
44109c3584 Add ace-jump-helm-line for quick helm navigation.
Useful when you don't desire filtering helm buffer but still want to
navigate.
2015-11-03 00:00:55 -05:00
syl20bnr
b405752f6c Remove global infix in dotspacemacs-global-line-numbers
I feel that it is not needed because it makes not a lot of sense to
have it non global since it is a dotfile variable.

Also remove ' from the docstring for consistency.
2015-11-03 00:00:55 -05:00
Fabien Dubosson
612c3df265 Introduce 'relative for global-line-numbers
Allow to use 'relative as value for the dotspacemacs-global-line-numbers
setting. This enable relative global line numbers as it is a common
usage.
2015-11-03 00:00:55 -05:00
syl20bnr
34ce7a0c23 Move lorem ipsum to SPC x i l and declare prefixes
This a rarely used key binding so we can nest it a little bit more and
free some key bindings in the `text insert` namespace.
2015-11-03 00:00:54 -05:00
Fabien Dubosson
5f7c3d067f Add the lorem-ipsum package
Add the `lorem-ipsum` package to insert text, and bind it to:

* `xil`: lorem-ipsum-insert-list
* `xip`: lorem-ipsum-insert-paragraphs
* `xis`: lorem-ipsum-insert-sentences

`x` as it's text related, and `l` for `list, `p` for `paragraph` and `s`
for sentences.
2015-11-03 00:00:54 -05:00
Eivind Fonn
b19e6f139e Add SPC hdF describe-face binding 2015-11-03 00:00:54 -05:00
syl20bnr
25c9d126ab Refactor spacemacs-base/init-recentf
Use progn forms and unify setq expressions.
2015-11-03 00:00:54 -05:00
Peter Duerr
fb36140e44 Increase number of stored recent files to 1000 2015-11-03 00:00:54 -05:00
Peter Duerr
c2ae7ce9d2 Move recentf initialization to :init section
* In the :config section, the parameters cannot easily be overridden by
  the user.
2015-11-03 00:00:54 -05:00
Eivind Fonn
fa975c4c45 Fix helm-spacemacs with new FAQ.org format 2015-11-02 15:05:39 +01:00
Fabien Dubosson
b644f8abd7 Move auto-dictionary to spell-checking and activate it
This commit moves the – previously disabled – `auto-dictionary` code to
the `spell-checking` layer and activate it. It is now enabled by
default, but can be disabled by setting `spell-checking-auto-dictionary`
to `nil`.

`auto-dictionary` comes with some interesting improvements:

- Tries to automatically detect what is the language of the buffer and
  activate the corresponding dictionary.

- When a buffer is opened, all spelling mistakes are shown without
  needing first to be under the cursor.

- When the dictionary is changed, the whole buffer is reanalyzed for
  spelling mistakes (close #2088).
2015-10-31 14:24:54 +01:00
Muneeb Shaikh
db453acbd6 Customizable whitespace-cleanup
- Default: cleanup whitespace on changed lines
2015-10-31 14:16:31 +01:00
Adam Olsen
68fa0330e4 Make NeoTree more "vim" friendly
This rebinds keys in NeoTree so that `g` and `G` work correctly
2015-10-31 14:10:57 +01:00
justbur
11f50cf2d8 which-key: Allow evil-operators to popup buffer 2015-10-31 14:05:19 +01:00
Fabien Dubosson
c3299f0eca Make linum toggle local and add a variable for global mode
`global-linum-mode` is making line numbers appearing in `*spacemacs*`
and `helm` buffers, what is annoying.

This change make the linum `SPC t n` toggle buffer-local, and add a
customization variable in `.spacemacs` to enable line numbers globally.
«Globally» here as to be understood as «in `prog-mode` and `text-mode`».
2015-10-29 19:30:06 +01:00
Eivind Fonn
3f80d334d4 Remove obsolete evil-jumper-file 2015-10-29 13:48:46 +01:00
Eivind Fonn
afd9d6c85e Fix unicode minor modes separator in terminal 2015-10-27 14:41:05 +01:00
Sebastian Wiesner
12aa53fc36 Fix debug on error toggle
Add :status option and manage :on and :off manually.  Without :status
the message is wrong (always says enabled), and with :status we need an
explicit :on and :off, because otherwise the toggle would always disable
the flag.

Not sure what’s going on here, but this one works correctly now.
2015-10-25 10:50:00 +01:00
justbur
e6ede2e49a which-key: Add new smart search description 2015-10-25 10:49:05 +01:00
Fabien Dubosson
81952b0977 Declare spacemacs/write-file as not repeatable
Close #3433.

`evil-repeat` repeat the last action, but ignore calls to `write-file`
or `evil-write`. `spacemacs/write-file` is a wrapper around those two
function, so it should be ignored to.
2015-10-25 10:47:57 +01:00
Eivind Fonn
50e1f3ea3f Move compilation-scroll-output to config.el 2015-10-25 10:46:47 +01:00
Joe Hillenbrand
76b795d17e setq compilation-scroll-output first-error
- https://www.gnu.org/software/emacs/manual/html_node/emacs/Compilation.html
2015-10-25 10:44:48 +01:00
Eivind Fonn
e776ada203 Temporarily disable helm-flx for find files 2015-10-24 19:25:11 +02:00
Sebastian Wiesner
feeab93a1c Don’t change custom-file if already set
Allows users to change the location of custom-file safely.
2015-10-22 22:10:37 -04:00
Igor Avdeev
5db0ca4b0c Make google translate language code case-insensitive 2015-10-22 21:58:13 -04:00
Eivind Fonn
7279844ec4 Add custom helm modeline 2015-10-22 18:36:33 -04:00
Eivind Fonn
f9f12c265f Fix modeline update (broken by upstream) 2015-10-22 16:06:50 +02:00
Muneeb Shaikh
c72199b57d Add restart-emacs on SPC q r 2015-10-21 17:24:48 -04:00
Ernestas Lisauskas
04fbe5da24 Remove avy-keys config value 2015-10-21 17:09:32 -04:00
Driftcrow
31e0976742 Fix SPC j k unwanted auto-comment
When the cursor is on a commented line, the next indented line was
commented as well.
2015-10-19 00:22:06 -04:00
Fabien Dubosson
ab23559047 Adapt project-search keybindings
For buffers, `*` search for the word under the cursor, and `/` ask to
search for an expression. To keep the same mnemonic at project level,
this commit change `SPC /` to ask for an expression to search, and add
`SPC *` to search for the expression under the cursor (in fact the only
difference being the expression pre-filled inside the input field).
2015-10-19 00:20:59 -04:00
Eivind Fonn
8fbfebb955 Override C-s in SPC p p to use other search tools 2015-10-19 00:15:12 -04:00
justbur
94cee58a1e spacemacs-layer: Fix linum-relative-mode
The toggle is being called after the package is loaded, but the package
is deferred based on a call to the toggle. This means that the first
time toggle is used it's called at least twice. Furthermore, `(setq
linum-format 'linum-relative)` effectively turns on the mode as it is.

Possible fix for #2161
2015-10-19 00:02:46 -04:00
Eivind Fonn
a5ac542ef1 Add helm-flx
See #3327
2015-10-19 00:00:15 -04:00
justbur
44cb780f25 emacs-lisp: Use auto-compile package
Also add key bindings for compiling and showing the compile log.
2015-10-18 23:59:47 -04:00
Sebastian Wiesner
6652e0d8b8 Add bindings for local variable commands
- fvd: Add a directory variable
- fvf: Add a file variable
- fvp: Add a file variable to property line
2015-10-18 23:56:46 -04:00
justbur
c5e01eb781 core-keys: Make TAB more useful in help buffers
In help buffers, TAB in emacs state allows you to jump through the
links. This allows for the same behavior in motion state. This is very
useful for jumping to function definitions.
2015-10-14 00:39:14 -04:00
Fabien Dubosson
e5dbfa0032 Add switch-to-scratch-buffer function and bind it
This change add a `switch-to-scratch-buffer` function allowing to – you
guessed it – switch to the `*scratch*` buffer, taking care of creating
it if necessary. The function is bind to `SPC b s`, `b` as it concerns
buffers, and `s` for `scratch`.
2015-10-12 09:34:46 -04:00
Sebastian Wiesner
2b87b3d8ea Use tab-width instead of default-tab-width
default-tab-width is obsolete since Emacs 23
2015-10-10 23:55:52 -04:00
syl20bnr
4df7958115 spacemacs-base: simplify url init func 2015-10-10 23:54:09 -04:00
Diego Berrocal
0be2e58308 Make Gravatar cache go into Spacemacs cache dir 2015-10-10 23:49:37 -04:00
Sebastian Wiesner
41a024c206 Use save-place-mode when available
Emacs 25 defines save-place-mode, to be used instead of
(setq save-place t)
2015-10-10 23:43:44 -04:00
Sebastian Wiesner
a3affa6554 Enable bug reference prog mode 2015-10-10 23:26:03 -04:00
syl20bnr
74a717f2bb spacemacs-base: use new sorting function which-key-key-order-alpha
Which sorts the keys like in the READMEs and like the code.
2015-10-10 22:29:39 -04:00
Fabien Dubosson
8d3c59c78f Discard buffer from marker, switch to it when asked 2015-10-09 12:11:24 +02:00
Fabien Dubosson
6442e00b2e Use a temp buffer to read the FAQ in helm-spacemacs
Correct a bug in helm-spacemacs: Whenever a function was needing the
FAQ's candidates in helm-spacemancs (`SPC f e h` and `SPC f e f`), the
`FAQ.org` file was open in a buffer and not closed. This commit corrects
this by loading the content of `FAQ.org` in a temp buffer and switch it
to `org-mode` in order to get the candidates.
2015-10-09 12:11:24 +02:00
Pierre Radermecker
f3f88b4d28 Fix #3214: add back split-window-and-switch func
Theses func came back from the old spacemacs/funcs.el file
2015-10-09 12:08:40 +02:00
syl20bnr
cdea5716ed spacemacs-core: use new sort function which-key-prefix-then-key-order 2015-10-07 19:26:28 -04:00
syl20bnr
31229cb1f5 spacemacs: add evil-mc package
evil-mc is a new attempt to bring multiple cursors to evil users.
Enable it by adding `(global-evil-mc-mode)` then use
g r m to mark all
g r u to remove cursors
g r p to pause cursors
g r r to resume
g r h to add a cursor at point (cursors must be paused first)

Package repo: https://github.com/gabesoft/evil-mc
2015-10-07 18:17:01 -04:00
Andrew Burkett
cb65a9adaf Remove server-kill-buffer from frame-killer 2015-10-07 15:51:40 -04:00
syl20bnr
0cbe01433d Move (setq help-window-select 't) to spacemacs-base 2015-10-07 15:51:40 -04:00
syl20bnr
c070f81951 spacemacs-base: add <backtab> binding to go up a directory with helm 2015-10-07 15:51:39 -04:00
justbur
bb1ed81aca helm: Backtab to go up directory in helm
The key binding wasn't taken, so I figured it couldn't hurt. There's a
nice symmetry with using Tab to enter a directory.
2015-10-07 15:51:39 -04:00
Fabien Dubosson
b1fc99bdee Improve keybindings for text-region counting.
Emacs provides a `count-words-region' which is badly named as it counts
not only words, but also characters and lines. The current keybinding
for this function `SPC x w c' implies it's referring to words only. The
new mapping `SPC x c` is more coherent since it means counting text,
whether it is characters, words or lines. An alias `count-region` is
created to be less confusing in which-key description.

`SPC x w c` being free, `spacemacs/count-words-analysis` is remapped to
it instead of `SPC x w C` to save one keystroke.
2015-10-07 15:51:39 -04:00
Eivind Fonn
1c06e2369c Use helm or ibuffer to provide :ls 2015-10-07 15:51:39 -04:00
Fabien Dubosson
66bd2d326e Improve count-words-analysis output
The `spacemacs/count-words-analysis' function displays results with the
default elisp formatting of associative list. This change improves it by
changing the format to a more human-readable form, and also by ordering
results by frequencies first, and then alphabetically in case of tie.
2015-10-07 15:51:39 -04:00
person808
c1b6293268 Replace eval-after-load with with-eval-after-load.
We now backport the macro for 24.3 so we can use it everywhere.
2015-10-07 15:51:39 -04:00
Fabien Dubosson
6a18cad5c0 Add avy-open-url and its keybinding to open urls
The function `spacemacs/avy-open-url` allows to easily select an URL on
the screen with `avy` and open it. The function is bind to `SPC x o`,
`x` as it is text-related and `o` for open.
2015-10-07 15:51:39 -04:00
Eivind Fonn
e9c5e168d6 core: remove special handling of spacemacs-theme and solarized theme
Also remove the local solarized-theme package
2015-10-07 15:51:39 -04:00
Yen-Chin Lee
2a983671af Fix some cl-lib function with prefix
Since emacs 24.3, function in cl-lib should with cl- prefix.

Signed-off-by: Yen-Chin Lee <coldnew.tw@gmail.com>
2015-10-07 15:51:39 -04:00
Fabien Dubosson
5e3dbd9234 Add FAQ as a source in helm-spacemacs
Add the `FAQ.org` file as a source in helm-spacemacs (`SPC f e h`).
Define a new keybinding for looking directly inside the FAQ with helm:
`SPC f e f`.

With help from TheBB, thanks!
2015-10-07 15:51:38 -04:00
person808
28c5298f4c Use built-in evil variable to set Y behavior. 2015-10-05 12:17:27 +02:00
Eivind Fonn
273d6b5d11 helm-spacemacs: action to open readme for editing 2015-10-05 12:16:46 +02:00
Eivind Fonn
b92eb41e2d bugfix: Wrong variable name in evil-state-face 2015-10-03 16:15:00 +02:00
Eivind Fonn
98380b3f72 Remove dead mode-line code 2015-09-30 15:07:01 +02:00
Eivind Fonn
6757ce7607 Use spaceline to provide mode-line 2015-09-29 23:48:03 -04:00
syl20bnr
14fd2b48e9 New variable dotspacemacs-remap-Y-to-y$ 2015-09-28 23:09:44 -04:00
syl20bnr
afa537d341 Update automatic highlight of symbol toggle 2015-09-28 22:12:08 -04:00
syl20bnr
3e5c98d880 Add toggle for automatic highlight of current symbol 2015-09-28 16:49:09 -04:00
Fabien Dubosson
560d2acb6e Focus current file when opening project's neotree
The `SPC p t` keybinding opens the neotree at the project root.
Currently the neotree only shows the root of the project, nothing is
expanded and no file is focused/selected. With this modification, the
neotree is still showing the project root, but with the current file
being focused/selected in the hierarchy (its path being expanded).

Signed-off-by: Fabien Dubosson <fabien.dubosson@gmail.com>
2015-09-27 20:58:13 -04:00
syl20bnr
b256475325 helm-find-files: use C-h and C-l to go up down a directory
Import TheBB configuration into Spacemacs and add `C-S-h` to replace
redefined `C-h` binidng.

Also remove the go up a directory behavior on backspace, now backspace
is a regular backspace.
2015-09-27 10:20:14 -04:00
syl20bnr
ae475c06c4 base: move toggles for editing styles
SPC t E e -> emacs
SPC t E h -> hybrid
2015-09-26 11:06:45 -04:00
syl20bnr
48b3fb2cad Improve which-key prefix command names for toggles 2015-09-26 11:06:16 -04:00
syl20bnr
983e569de6 hybrid: redefine evil-insert-state-p
If it has nasty side effects we will just revert it in favor of the
precedent commit.
2015-09-26 00:54:56 -04:00
justbur
90fc25a19c hybrid: Prevent C-SPC toggling visual from hybrid
Redefines the `evil-visual-activate-hook` to add hybrid to the list of
states that don't go into visual state when the mark is activated
2015-09-26 00:45:45 -04:00
person808
a7c4014c3f Add new descriptions for new files in helm-spacemacs. 2015-09-24 00:36:53 -04:00
syl20bnr
5c53427c35 spacemacs-base: Remove outdated comment and sort packages 2015-09-23 23:47:36 -04:00
syl20bnr
7e8c275bc5 Rework editing style toggles
Put the toggles on SPC t E with
SPC t E h -> holy-mode
SPC t E y -> hybrid-mode

Make the mode-line diminished lighter consistent with the key bindings,
so holy is Ⓔh and hybrid is Ⓔy

Add seamless switch between holy and hybrid.
2015-09-23 23:27:51 -04:00
Ben Hayden
ea805fdc7a Add diminish for hybrid. 2015-09-23 23:11:56 -04:00
syl20bnr
25ee106bdb Migrate some configuration to new built-in location 2015-09-23 22:02:39 -04:00
syl20bnr
0ab2c89628 evil: remove evil-move-beyond-eol and comment out cursor refresh hack 2015-09-19 18:16:00 -04:00
justbur
89ec2d7096 Add back core-keys: Rewrite emacs-leader handling
Brings back the changes made in
dad786bc8d with an additional fix for
evil-org whose config was unbinding important leader keys in org-mode
2015-09-19 01:07:26 -04:00
Chris Grindstaff
88daf79ad1 Update config.el
Fix spelling
2015-09-19 01:00:25 -04:00
syl20bnr
220b15a734 Revert "core-keys: Rewrite emacs-leader handling"
This reverts commit dad786bc8d.
2015-09-17 23:41:48 -04:00
justbur
dad786bc8d core-keys: Rewrite emacs-leader handling
This is how evil-leader gets `SPC m` to work for mode specific bindings,
and we need to mirror this step for `M-m`. This is big change, but in
order for `M-m` to work properly we need to remap it to the mode-map
whenever possible.
2015-09-17 22:35:51 -04:00
Eivind Fonn
41459bea12 Set evil-move-beyond-eol to nil for now 2015-09-17 22:05:04 +02:00
Robert O'Connor
3f2e885811 Rename spacemacs-core to spacemacs-base
Per the discussion in #3002. A comment in #3047 prompted this PR.
2015-09-16 21:22:35 -04:00
syl20bnr
8aa4eadc74 core: move prefix funcs to new file core-keybindings.el 2015-09-13 22:53:15 -04:00
syl20bnr
9bc754c50c spacemacs-core: cleanup prefix functions
Also change the way the command symbols are constructed
2015-09-13 22:47:09 -04:00
justbur
846fa3075c spacemacs-core: Fix issues with major-mode-leader
Use same hook as evil-leader for major-mode-leader. This fixes an
inconsistency that could arise between the leader key being bound but
the major-mode leader key not being bound (See for example #3000). By
using the same hook as evil-leader-mode, we ensure that either both keys
or bound or neither.

A minor problem that was fixed was `mode-map` and `major-mode-map` were
not let bound and had global scope.
2015-09-13 22:23:47 -04:00
syl20bnr
071c92e131 Move gc-cons-threshold to init.el and increase it to 100MB
Resolves #3011
2015-09-13 21:59:13 -04:00
syl20bnr
139b32398c spacemacs-core: change hybrid lighter to " hybrid"
TO better fit with holy lighter which is not abbreviated
2015-09-11 23:17:56 -04:00
justbur
89443ad220 hybrid-mode: Cleaner implementation
Using setf is better than using the previous advice, because it was
ignoring the arguments passed to evil-insert-state and the arguments
control whether the state message displays in the minibuffer. In this
version we just switch out the function definition for
evil-insert-state, and all arguments are handled perfectly.

spacemacs-core: Don't defer hybrid-mode

hybrid-mode is now extremely lightweight, and deferring it causes
problems if someone wants to bind keys in hybrid-mode but doesn't have
it selected as their editing style on startup. The reason is the
hybrid-mode keymap will not be available and an error will be thrown.
This requires using eval-after-load in this case, and this seems overly
complicated just to avoid loading this file.
2015-09-11 23:06:03 -04:00
syl20bnr
62fb20c7c5 Move ido-vertical-mode package to spacemacs-core 2015-09-11 22:59:14 -04:00
syl20bnr
520fa4bdb8 spacemacs: fix undo of auto-indentation of pasted text
Fixes #2346
2015-09-11 21:01:11 -04:00
Bar Magal
44672329fb hybrid-mode: fix error when using vim/emacs style 2015-09-11 12:15:27 +03:00
Bar Magal
1f3e6fabac Adding back hybrid-mode.el 2015-09-11 11:38:37 +03:00
syl20bnr
b45911f3d5 spacemacs: remove duplicated files 2015-09-11 00:16:56 -04:00
justbur
6eab954afe Use + instead of ! for layer categories
Helm seems to treat "!" specially in pattern matching, so having a ! in
the pattern string when traversing directories is problematic. This
change fixes #2737, because as far as I can tell "+" has no special
meaning in a helm pattern.

Of course, we can choose a different character, but I'm fond of "+" as
representing "more layers here".
2015-09-11 00:13:51 -04:00