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.
In the "Windows manipulation commands (start with ~w~):" section:
Added the `SPC w r` keybinding:
| ~SPC w r~ | rotate windows forward |
In the `SPC w R` keybinding description, replaced "clockwise" with "backward".
| ~SPC w R~ | rotate windows backward |
In the "Window manipulation transient state" section:
Added the`r` keybinding.
| ~r~ | rotate windows forward |
In the `R` keybinding description, added "backward"
| ~R~ | rotate windows backward |
Rename dotspacemacs-download-packages to dotspacemacs-install-packages
to better reflect the changes in the previous commit.
Also change the value 'used to 'used-only (note that 'used is still
supported for backward compatibility).
Prevent next-buffer, other-buffer, etc. from choosing useless buffers.
No need for spacemacs/next-useful-buffer,
spacemacs/previous-useful-buffer anymore.
Also fix spacemacs/alternate-buffer to respect buffer-predicate.
When spacemacs-layouts is used, buffer-predicate filters useful buffer
that belong to the current layout.
I recently uninstalled railwaycat's emacs-mac-port (the old
recommendation for OS X) and installed @d12frosted's emacs-plus.
When I did that my powerline separators became just slightly off in
color from the rest of the spaceline. Asking on chat yielded that
ns-use-srgb-colorspace is set to true by default but should be nil.
- make it clear that setting dotspacemacs-default-font has no effect in
terminal
- make it clear that it's user responsibility to install Source Code Pro
font
The motivation is to clean redundent actions and bring more consistency
between `SPC b` and `SPC w` by:
- using capital letters for ace-window actions
- reusing the same letters between window and buffer when possible
- adding support for universal prefix argument to delete both window
and buffer
Details of changes:
Buffer
- `SPC b k` has been removed since the functionality is
available directly in Helm by selecting the kill buffer action
- `SPC b m` (buffer move) has been removed because the functionality
is available via `SPC w` with `SPC w h/j/k/l`, `SPC w H/J/K/L` and
`SPC w M` (see window section for the new `SPC w M`).
- `SPC b K` (kill other buffers) is now `SPC b m` to map with `SPC w m`
(kill other window or maximize). Using the universal prefix argument
`SPC u SPC b m` will also kill the windows.
- `SPC b C-k` (kill buffer matching regexp) is now simply on `SPC b k`.
- `SPC b D` now kills a buffer using ace-window.
- `SPC b d` and `SPC b D` now accept an universal prefix argument to
also delete the window. So `SPC u SPC b d` and `SPC u SPC b D` delete
the buffer and the window.
Window
- `SPC w M` now swap the window using ace-window.
- old `SPC w M` (center window) is now on `SPC w c` and `SPC w C` uses
ace-window.
- `SPC w SPC` (select window) is now on `SPC w W` since it uses
ace-window.
- `SPC w d` and `SPC w D` now accepts an universal prefix argument to
delete the window and the buffer.
Old implementation excluded package that were not selected, this
implementation does not excluded them, it simply ignore it in the
layer where they are not selected. This reimplementation comes from
a refactor of the way packages.el files are loaded, instead of loading
these files at the moment of resolving the list of used packages, they
are now loaded when making the layer objects. A neat consequence is that
side effects is better confined and the configuration-layer/get-packages
is now pure (at least a lot more pure than before).
In the `cfgl-layer` class the slot `:user-packages` has been renamed
to `:selected-packages` which defaults to `'all` meaning that all
the packages in `:packages` are selected. `:selected-packages` value
is given by the new function `configuration-layer//select-packages`.
Effectively selected packages are given by a new method for `cfgl-layer`
class called `cfgl-layer-get-packages`.
Tests have been updated to reflect the changes.
Also documentation on configuration layer declaration in the dotfile
section of DOCUMENTATION.org has been greatly improved (I hope) and
reflect the last feature added to the
`dotspacemacs-configuration-layers` list.
- Use completing-read when called interactively
- Check for string locations in addition to built-in etc.
- Don’t double-princ on/off for toggles
- Bind to SPC hdP
This new variable replace dotspacemacs-delete-orphan-packages
It defines the behaviour of Spacemacs when downloading packages.
Possible values are `used', `used-but-keep-unused' and `all'.
- `used' will download only explicitly used packages and remove any
unused packages as well as their dependencies.
- `used-but-keep-unused' will download only the used packages but won't
delete them if they become unused.
- `all' will download all the packages regardless if they are used or
not and packages won't be deleted by Spacemacs.
Default value is `used`.
The new layer file `layers.el` is used to declared additional layers.
It is like the sibling of packages.el except that for now it does not
take a list (can do this in a futur commit).
The new order for file loading is the following:
layers.el > packages.el > funcs.el > config.el > keybindings.el
Since packages.el relies on some undefined stuff encapsulated
in init functions, it is not meant to be byte compiled. OTOH funcs.el
(where lies most of the computation added by a package config) should
be compilable.
Since we load packages.el very early it is not possible to use
`configuration-layer/package-usedp` in funcs.el.
This commit also fixes the tests.
Change the semantic of the files for a better control over the
configuration (like being able to use package-usedp function to
guard package configuration and function definition).
This is a big change!
The list of packages of the layer must now be placed in config.el
packages.el only contains pre-init, init and post-init functions
Now both packages.el and funcs.el can use
configuration-layer/package-usedp which is much more powerful than
just configuration-layer/layer-usedp.
Also merging into one file the layer variable and the list of packages
make sense (in this case config.el).
It also means that we can quickly load all the packages declared in
all layer for helm and ivy sources by just loading the config.el file.
Expect some regressions introduced by this change, like the helm
and ivy sources, they will be fixed in other commits.
The purpose of `projectile-find-test-file` is not obvious
and it is not applicable to all languages.
Actually running the tests seems like a more useful and intuitive binding.
New section Special Mentions, first mentions attributed to:
StreakyCobra
justbur
CestDiego
JAremko
Rename Special section to Special Titles
Give The Librarian special title to JAremko