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.
The keybinding has changed from `SPC h l` to `SPC r l`; see the changelog, entry
0.200.0 (2016/10/02). So correct the documentation to reflect that.
`SPC h l` is currently bound to `helm-spacemacs-help-layers` (on branch
`develop`).
It is an Emacs-wide convention to use `RET` when referring to the act of
pressing the return key. Spacemacs seems to follow that convention as well. So
fix some Org files that were deviating from this convention.
In particular, replace usages of `<return>` and `return` with `RET`.
Also update the description of an `M-RET` keybinding[1] based on the docstring
of `ido-select-text`.
[1]: Suggested-by: bmag <bmag@users.noreply.github.com>
Add brew commands for Source Code Pro installation to installation instructions
in README.md, describe command usage and add missing capitalisation.
Concentrate installation instructions
Make installation instructions more beginner-friendly, concise and thorough:
- Add Git to prerequisites
- Move specific git clone instructions for Windows users from beginners
tutorial to README.md
- Move fallback font installation instructions and info from beginners tutorial
to README.md
- Remove redundant install steps from beginners tutorial
- Misc. typo fixes and wording improvements
- Fix broken org link, make links relative as in other documentation and get
them to work correctly in github, spacemacs.org and Spacemacs.
- Add instructions for copying the tutorial and editing it for org mode intro
purposes. The instructions for testing org-mode did not work when the tutorial
was opened in read-only mode.
- The link to the FAQ was said to be online while it would open inside
Spacemacs when clicked. The wording is improved to reflect the actual
behaviour.
- Replace instances of "enter" with "~RET~".
It was `SPC q z` but:
1. 'z' is not a mnemonic for "frame" (although it may be more familiar to vim
users).
2. More importantly, it's *really hard* to type 'qz' on a qwerty keyboard.
Previously we entered the CUSTOM IDs manually into the
documentation files to fix the html export.
However today this is done automatically during export.
In this case the manually added ids are interfering
with this process and consequently are visible in the
web pages. Therefore I have removed them again.
problem: The TOC link: Layers tips and tricks > Use-package
navigates to: The Emacs loading process > Use-package
solution: Rename: Layers tips and tricks > Use-package
to: Layers tips and tricks > Use-package init and config
Specifying parent modes (e.g. prog-mode) in :enabled-for-modes and
:disabled-for-modes keys in dotspacemacs-line-numbers catches derived
modes (e.g. c-mode) as well.
Fix bug where an empty :disabled-for-modes and a non-empty :enabled-for-modes
enabled line numbers everywhere, instead of only in modes specified in
:enabled-for-modes. (see https://github.com/syl20bnr/spacemacs/issues/8482)
Add auxiliary function spacemacs/derived-mode-p, similar to derived-mode-p but
takes a major-mode as an argument instead of using the current major-mode.
In this case Spacemacs won't write custom variables to the
dotspacemacs/emacs-custom-settings variable.
Move setq and add-advice to spacemacs/initialize-custom-file which is now
called in spacemacs/init function just after dotspacemacs/user-init function.
New functions:
- configuration-layer/get-location-directory which return the location on disk
given a location
- spacemacs//get-theme-directory which returns the location on disk of the
theme
Add note in documentation to warn about the directory name when :location local
is used, the directory name is the package name not the theme name.
It is now possible to use package properties like :location in
dotspacemacs-themes.
Added hooks ran at the beginning and end of configuration-layer/sync:
- configuration-layer-pre-sync-hook
- configuration-layer-post-sync-hook
configuration-layer-pre-sync-hook is used to hook the new function
spacemacs//add-theme-packages-to-additional-packages. This new function updates
dotspacemacs--additional-theme-packages variables.
Update documentation to mention the new feature.
As discussed in #8054 and #8136, org doesn't always export links correctly if
the syntax deviates from the one given on the org mode website. This results
in broken links on github and/or spacemacs.org as in #6722, #8036, #8054, #7956
and possibly others.
This modifies all links not already fixed in #8136. Internal links are
handled with Custom IDs. External file links are formatted according to org
guidelines as well (see bottom), and if they point to a specific headline in an
external file, a custom ID is created as well.
Fixes#6722, #8036, #7956, #7916 as well as other unreported broken
links.
http://orgmode.org/manual/External-links.html#External-linkshttp://orgmode.org/manual/Internal-links.html#Internal-links
TODO: make Custom IDs invisble in space-org-mode
Since org 9 internal links must be declared either as #customID
or textTargetOrFullTextSearch. Relative path links must
be either file:relative/path or ./relative/path. Many links
are using the #customID form to trigger a full text search which is not
defined as to the org documentation. In addition relative file paths are
declared as relative/path which is also not defined. If this is done
the html export can fail. Therefore these links must be corrected
for the files where they break the html export.
Fixes#8054 for all spacemacs documentation files.
Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).
All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.
This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)
The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).
The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.
The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
Updated the FAQ evil-escape documentation link to point to the "14.1.1 Escaping" section of the documentation, where the evil-escape function is described.
Currently the FAQ evil-escape documentation link points to http://spacemacs.org/doc/DOCUMENTATION.html#orgheadline78, which takes you to the "13.1 Layouts" section of the documentation.
spacemacs/alternate-window was suggested to switch between the last selected
window, or the window-analog of SPC TAB (spacemacs/alternate-buffer). This is
part of a larger family of functions, such as spacemacs/jump-to-last-layout on
SPC l TAB and eyebrowse-last-window-config on SPC l w TAB.
Resolves#7845
CHANGES
-------
Add new keybinding to neotree to allow the copying of nodes from the neotree
buffer. Update documentation as well.
WHY
-------
There appear to be all other common file operations bound to the neotree buffer,
however copying of a node is not.
Amend suggested fixes:
- Add chapter on key notation
- Fix document structure according to conventions
- Add note on emacs path on Windows
- Expand on evil and emacs mode explanations
- Expand on first startup procedure
- Various typo fixes and clarifications
from https://www.emacswiki.org/emacs/CopyingWholeLines
Duplicate current line, or region if active.
With argument N, make N copies.
With negative N, comment out original line and use the absolute value.
keybinding: `SPC x l d` (text - line - duplicate)
Toggling the time is a segment so it is more consistent with the rest
of the lowercase keys.
Toggling the whole mode-line feels better on a capital letter.
The information about location of local packages is noted in the parent section. While this can be considered enough I kept re-reading `packages.el` and couldn't find the information. Adding the information here as well makes the section more self-contained.
I have the impression that SPC p G can be used for something more
useful regarding tags.
Tags regeneration triggers a process that can take a while to make
more sense to make it less accessible.
If there is nothing useful to be added to SPC p G we can consider
reverting this commit.
SPC j F and SPC j V don't fit the SPC j prefix because they require
the thing under point to be an Emacs lisp thing, which means that these
bindings should be major mode specific.
To replace them and accordingly to the convention the key bindings
SPC m g G in Emacs Lisp buffers has been added to go to definition
in other window.
SPC j f and SPC j v (minus letters) don't require the current buffer
to be Emacs Lisp and thus I only updated the documentation about them
mentioning that they're about Emacs Lisp variables and functions.