ruby-end-mode does not always behave correctly. An example for that is
if statements, which don't have an end statement if they are written on
one line. Also, it feels dirty to use a Ruby package to implement Elixir
syntax behaviour.
Smartparens has functionality to define pairs for certain major modes.
This adds smartparens pairs for the "do" keyword and the arrow (->)
operator, so that the "end" keyword is automatically inserted and
properly indented on enter.
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
Currently, in multi-account mode, the mu4e layer guesses which account
to use to reply a message by its "maildir". However, some messages may
be forwarded and may need to use the original email address to reply.
This commit detects whether such an email address is defined in
"mu4e-account-alist", and uses that to do the replying if possible.
There are keybindings `C-o` and `M-*` to go back already, but it could
be a good idea to add an entry to `SPC m g` (or `, g`) menu where the
other movement commands are.
The package 'puppetfile-mode' is no longer available as it's considered
redundant with ruby-mode, which should now be the mode to use for
"Puppetfile" files.
Using a remap is better, because it will "automatically toggle" the key
binding if hybrid-mode is toggled.
The previous version just disabled the key binding completely if someone
used hybrid style.
Make use of new evil variable evil-disable-insert-state-bindings. This
is better because we are not copying evil code to get hybrid state to
work. We should not need to worry about tracking upstream evil changes
with this version of hybrid mode.
The only effect I can think of with this change is that there is no
longer a distinct hybrid-map, since there is no longer a distinct hybrid
state. This means that, for example, (evil-define-key 'hybrid ...)
will throw an error. You can either use (evil-define-key 'insert ...) or
the preferred (global-set-key ...). The latter is preferred because the
purpose of hybrid mode is to not interfere with Emacs bindings in insert
state.
Use post-init-evil function to load
It's a bit safer than with-eval-after-load, in case evil gets loaded
before its init function is called.
Add entry and exit hooks
Add temporary wrapper to evil-define-key
This is so that calls like (evil-define-key 'hybrid ...) do not fail
after switching over. Instead issue a warning for all such instances and
bind using define-key instead.
Also define evil-hybrid-state-map and make it the parent of
evil-insert-state-map this will prevent calls like (define-key
evil-hybrid-state-map ...) from failing.
These are both temporary and are only intended to smooth the transition
to the new version of hybrid-mode.
Add a configuration option `scala-use-unicode-arrows` to
the scala layer, which when enabled replaces `->`, `=>`
and `<-` with corresponding unicode characters (Scala
supports unicode arrows natively).