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.
`SPC l l` makes more sense for switching perspectives with helm
because it is a faster/easier binding to use.
- Document binding to helm-perspectives
- Bind persp-load-state-from-file to `SPC l L`
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)
Fixes warning:
Compiling no file at Tue Nov 3 13:42:42 2015
../../init.el:Warning: `vagrant-tramp-enable' is an obsolete function; use
`vagrant-tramp-add-method' instead.
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.
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.
Some users complained about slowness when opening files due to
spell-checking being activated. This commit revert to old behaviour
checking only the words under the cursor and not the whole buffer.
When `auto-dictionary-mode` is activated, it tries to guess the
dictionary no matter if a dictionary was manually selected before, what
is annoying when toggling spell-checking off/on. To avoid this, a piece
of code was added to the spell-checking toggle to select the
buffer-local dictionary if it was set.
As mentioned by lunaryorn, this part of code should also be called when
flyspell is enabled/disabled by an other mean than the spacemacs toggle.
This commit move the code to the `auto-dictionary-mode-hook` for this
purpose.
- Disable `auto-dictionary-mode` by default. Add a layer's variable to
enable it. Its behaviour has some impact on user-defined dictionary
preferences, it has some bugs in daemon mode, and not all languages
are supported. It's why it better to have it disabled by default.
- Toggle off `auto-dictionary-mode` when spell-checking is toggled off.
- Call `flyspell-buffer` when toggling **on** spell-checking to reveal
mistakes (probably the wanted behaviour when activating
spell-checking)
- When `auto-dictionary-mode` is enabled, if a buffer's dictionary is
manually changed with `SPC S d`, it is restored after toggling
spell-checking on/off, otherwise `auto-dictionary` will thy to guess
it again.
gd is now "diff"
gh is now "github"
gg is not changed for "github gist" (updated the prefix name)
Inverts gc and gC since commit is more frequent than checkout
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).
`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`».
- fix some inaccuracies
- add more notes about using ghc-mod
- add more notes about using ghci-ng
- add more notes about using shm
- add more troubleshooting
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.
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.
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).
Enable built-in Ruby Mode, by default on Emacs 24.4 and newer where it
was significantly improved. Otherwise keep using Enh Ruby Mode.
Add all keybindings to both modes, and provide a variable to change the
default 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
calendar-location-name comes from solar.el which is neither loaded by
default nor by this layer. Hence it can potentially be void and must
not be accessed directly.
Instead wrap it in bound-and-true-p to guard against it being void.
Add a release note about the limitation of org loading since 0.105, and
also document it in the org-layer's README.
Close#3277
Move note to FAQ and correct text to 0.104
Related to #1296.
Use `SPC a o` as prefix for org related applications like `org-agenda`
or `org-capture`. The `a` is for "application", and `o` for "org". To
avoid long keystrokes for `agenda`, direct bindings are offered through
`SPC a o <key>`.
Because `org-agenda` is one of the principal application, it has be
mapped to repeating the last letter (`SPC a o o`).
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.
shell-file-name provides the "best" shell Emacs knows about, i.e. the
login shell from $SHELL, or a system default, which is just about as
arbitrary as the current default to /bin/bash.
This makes all Notes in DOCUMENTATION.org be *Note*: and changes the
markup around the spacemacs init file path in jabbers README.org to
proper org markup.
We need to look for GNU ls after exec-path-from-shell was initialised
and has fixed exec-path. Otherwise the directory containing gls may not
yet be in exec-path
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`.
This hook is duplicating the functionality of a multiterm hook, causing
it to be called after the multiterm hook has already switched to a
different buffer, thus quitting a job in the latter buffer.
First version of the bepo contributed layer. I'm probably the only one
using it for now, let's wait for issues and contributions!
This is a snapshot-branch of my own development branch, it will not
change, except maybe if it reaches a new "clean" state before it gets
merged.
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.
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
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.
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.
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.
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!
- update section about setting up PATH by updating value of
=exec-path= (previously it was saying to update it in =user-init=
function, but looks like you need to do it in =user-config=) -
following #1718
- add FAQ section
- add note about setting up =stack-ghci= as =haskell-process= (as
noted in #2142)
- add note about fixing problems with =ghc-mod= and =stack=
- add note about fixing stuck REPL (following #3271)
Functions for evaluating the form (not an atom) that the point is
currently in, and for evaluating the symbol underneath the point. Both
require smartparens to work.
Also, add all evil-leader bindings to lisp-interaction-mode and declare
prefixes.
This function merges the functionality of `evil-delete-backward-word`
and `kill-region`. Which is called depends on whether a region is active
or not. This is the perfect `C-w` binding (for me).
This prevents minor mode lighters from being displayed in the Chinese font. Since the new glyphs are often higher, separators of powerline do not match the new height.
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>
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.
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.
* Move whole subtrees up/down/right/left with SPC mS commands
* When using more complex TODO sets, move between them with SPC m C-S
commands
* Add more cycling options with SPC mL SPC mK, etc.
(for timestamps, headlines, items, properties)
* Insert timestamps with SPC m.
The idris-mode package has been updated to no longer use the
idris-packages variable, which allows the Idris layer to safely be
renamed to the standard for other languages.
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.
- Add missing leader prefixes
- Stop using deprecated cider-jump-to-var (Use cider-find-var instead)
- Add toggle for indentation style in clojure-mode
- Remove cider-debug-defun-at-point in repl leader (It doesn't do
anything other than messing up the buffer)
- Add spacemacs/cider-display-error-buffer
- Gives faster access to display the last error buffer.
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.
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.
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".
This state is functionally equivalent to insert state but uses a new
keymap `evil-hybrid-emacs-state-map` that is just populated with escape
and the evil-leader bindings.
If smartparens package is not installed (perhaps, because spacemacs-core
option is chosen), smartparens-mode should not be added to the
markdown-mode-hook.
This is needed to get the frame to properly close when running a client
from the terminal. server-kill-buffer will close the frame for the
terminal only if the terminal was opened with a file argument and you
haven't changed buffers. make-frame-invisible is still needed as a fall
back if you are still working from the first emacs window since it won't
let you delete the last frame.
It is possible to plot data from tables in org-mode; however, this
requires `gnuplot.el`. Shortcut also added to plot (the single shortcut
is added to the README.org in another pull request).
http://orgmode.org/worg/org-tutorials/org-plot.html
Signed-off-by: JP-Ellis <coujellis@gmail.com>
There were a bunch of functions being defined to just be called once. It
was all very repetitive, and I thought this was a simpler way to
organize things. This just does the required work in one loop.
Now the user should use `SPC f e h` helm-spacemacs.
This is due to the fact that spacemacs layer is now a regular layer
stored in the "layers" directory.
- Rename contrib directory to layers
- Add new variable dotspacemacs-distribution
- Move spacemacs layer to layers/!distribution
- New layer spacemacs-core in layers/!distribution
- User can now set dotspacemacs-distribution to spacemacs or
spacemacs-core (default spacemacs)
spacemacs-core is very lightweight layer sufficient to build upon
spacemacs.