Replace push with add-to-list in layer init functions and related code.
Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.
Replace a conditional push onto erc-packages with use of :toggle.
When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements. We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.
Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.
The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
This reverts commit 3cb341bf71.
We should be able to dynamically switch between editing styles so evil-mu4e must
be able to revert its changes. For instance you start Emacs in Vim style and
have evil-mu4e activated then when you switch to Emacs style evil-mu4e should
revert its changes. See evil-magit for inspiration on how to do it.
Evilified maps supports hot switching of editing style out of the box.
This PR does a few things:
- supports async mode for sending mails
- registers imagemagick as handler for images if it exists
- sets default downloads directory if it exists
- sets a few (more) sane defaults
- supports format=flowed in messages
I feel like we should start from scratch on this one and carefully choose the
defaults.
Also this settings is a very personal setting so if we make some buffers
useless we must have a consensus on it. Marking all special buffers starting
with `*` as useless is too aggressive and make Spacemacs less POLA since two
consecutive press on SPC TAB may not revert to the original buffer.
Define a new custom layout named "@Notmuch" with binding "n" for notmuch
buffers. The custom layout's name can be customized using the new
notmuch-spacemacs-layout-name variable. The custom layout's binding can
be customized using the new notmuch-spacemacs-layout-binding variable.
- Make the notmuch layer more idiomatic.
- Move org related stuff to a use-package hook for org.
- Simplify configuration of helm and ivy
- Sort package config
- Move sections in README to avoid repetition of Evilified State sections
- Add docstrings to functions and use // convention for private function names
This patch adds a notmuch[1] layer to Spacemacs!
notmuch is a mail indexing system written in C. It provides an emacs
interface, and this patch adds Spacemacs support for this interface.
Thanks to @FrancescElies for starting this work, and working with me to
get it finished. We have been using the layer for awhile now and are
happy with the initial release!
Closes#2163
[1] https://notmuchmail.org/
Tested-by: Francesc Elies <elies@posteo.net>
Tested-by: William Casarin <jb55@jb55.com>
Signed-off-by: William Casarin <jb55@jb55.com>
org-mu4e was already handled in the mu4e layer which is the correct place for
this.
Added notmuch to mu4e layer, maybe not the right place for this but for now
it is OK.
Mark up code that is mentioned in the documentation of some readmes.
In the case of “long options”, like for example `--with-emacs`, this is not just
cosmetic. On GitHub, Org files are apparently rendered in such a way that
strings like `--` in non-verbatim text (i.e. not verbatim-quoted nor
code-quoted) is transformed to `–` (EN DASH U+2013). So the string:
… --with-emacs option:
Will show up like this:
… –with-emacs option:
Also mark up nearby not-marked-up code mentions. But this pattern was what was
searched for, so this mostly changes the abovementioned kind of thing.
By convention, code markup (`~`) is reserved for keybindings in Org-based
documentation in Spacemacs. Verbatim markup (`=`) is reserved for code and
other code-like things. So change several readmes to reflect this convention.
Use verbatim markup for things like (non-exhaustive list):
- Emacs Lisp functions, modes, buffers, etc.
- Environment variables
- Directory paths
- Code in general
This commit adds a custom layout for mu4e related buffers. Four different major
modes are used in mu4e buffers based on their purpose, so a function is used to
add buffers in these modes to the new layout. This setup is largely based on
that of the ERC layers custom layout.