New layer variable `dotspacemacs-mode-line-themes`:
Set the theme for the Spaceline. Supported themes are `spacemacs',
`all-the-icons', `custom', `vim-powerline' and `vanilla'. The first three
are spaceline themes. `vanilla' is default Emacs mode-line. `custom' is a
user defined themes, refer to the DOCUMENTATION.org for more info on how
to create your own spaceline theme."
See DOCUMENTATION.org changes for more info.
This commit adds support for `spaceline-all-the-icons` package.
The keybindings to `rtags-select-other-window', `rtags-select' and
`rtags-bury-or-delete' should only take effect when `rtags-mode-map' is
active, instead of being activate for every buffer in evil normal state.
Had to create dummy init functions at some places since the owner of a package
is the last layer that defines the init function of a package. And a package
can be installed only if it has an owner.
Fix errors that were introduced into the rcirc and slack layers by
commit fea035f413.
Change the header for the slack layer's funcs.el to refer to the correct
layer.
Change the custom layout definition for rcirc to use the correct name
and binding for the layout and the correct invocation for rcirc.
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.
`SPC b H` is available, for opening or selecting the help buffer (if it
exists). This makes it much easier to open the help buffer, than having
to open the buffer list (`SPC b b`), then typing one or more characters,
to select the help buffer, and finally pressing `RET`.
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.
A fix for #10091. The default behavour for which-key is for
'which-key-idle-delay' to affect both the initial trigger and subsequent
actions. By setting 'which-key-idle-secondary-delay' to something non-nil,
that delay acts over the subsequent actions instead.
The which-key wiki recommends setting it to a 'non-zero value', as zero could
cause issues, so instead set it to 0.01.
- 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
abo-abo/swiper@4f57b5a9 removed the counsel--git-dir variable. Code
that used that variable is now expected to use (ivy-state-directory
ivy-last) instead. Update the code to reflect this change.
Signed-off-by: Chirantan Ekbote <chirantan@chromium.org>
When a layer doesn't have a package, its name was added to the candidate list as
a symbol instead of a string, breaking actions such as
layer-action-open-packages which expect a string.
When ivy is used, the default org-set-tags will only complete for the
first tag, and any additional tags must be typed manually. counsel
provides a replacement function to fix this.
Unfortunately, we can't just alias org-set-tags because it is used in
other places, so we must change C-c C-c using a hook.
See https://github.com/syl20bnr/spacemacs/issues/6918
Like is has been done for evil-cleverparens and lisp dialects.
It means that the mode-line lighter is now a plain squared G and that the
toggle key bindings is now under `SPC , T g` instead of the global `SPC t G`.
- Move rtags key bindings under `SPC m g` prefix
- Document rtags support and key bindings in README.org
- attempt to implement gtags fallback using
https://github.com/Andersbakken/rtags#fall-back-to-other-taggers
- make c-c++ layer dependend on gtags layer (gtags layer is automatically
installed when the c-c++ layer is used)
- sort packages config in packages.el
- use a dolist instead of a function to define rtags key bindings
Resolve#10041
The spacemacs/clang-format-buffer function doesn't exist. It should be replaced
with clang-format-buffer. This error was introduced in 01ddc98cef.
Problem
-------
If the symbol is not resolved due to a missing import there is no automatic way
in the Python layer to import it.
Solution
--------
Use 'importmagic' package.
Pressing `SPC m r f` at point that requires an import will suggest a list of
possible options.
Delete layer evil-cleverparens and move the package to spacemacs-evil layer.
The feature is called "Safe structurral editing" for lisp dialects. Support for
it is added via pre-init functions in each of the concerned layer and proper
documentation is added to their README.org files.
This also removes the recently added package evil-smartparens. The goal is
to choose the best package for evil safe structural editing. For now we use
evil-cleverparens as we supported it first, if evil-smartparens is shown to be
a better package we will be able to switch to it.
Convention for major mode specific toggles is to put them under SPC m T prefix.
Used `n` instead of `>` because there is no unicode squared symbol with `>`.
Also use the new generated function to register the hooks.
This is more dwim in the sense that the normal deleting commands now behave more
like paredit, i.e. region deletion is adjusted to always keep the pairs
balanced.
This change makes the c-c++ layer configure company-c-headers to search for and
list completion alternatives according to the priority list found in 'man gcc'.
If supported, the default system include paths are also fetched from gcc's
configuration instead of being hard coded to "/usr/include" and
"/usr/local/include". This also remedies the problem where the C++ standard
library headers does not show up as completion alternatives without manual
addition of include paths (see #4493, #8655).
Solve part of #7628. Additionally, #7629 is no longer needed.
Add support for formatting lines, functions, and buffers with clang-format. Each
function produces a clear message on success.
The README was updated to reflect the usage of the new key bindings. References
to binding clang-format to the tab key were removed.
- Change nameless prefix to > instead of default :
- Change toggle to SPC m >
- Set nameless separator to nil in order to make it work with any type or separator
- Add diminish unicode ⧁
- Define some default global aliases for Spacemacs source code
- Rename layer variable emacs-lisp-nameless-mode to emacs-lisp-hide-namespace-prefix
- Make variable nameless-current-name safe as a local variable for string values
- Set nameless prefix for core-configuration-layer.el
Fix issue #9981: rcirc /reconnect command reverts to default port.
rcirc has included a built-in /reconnect command since Emacs 25.1, which
makes the rcirc-reconnect package shipped with the Spacemacs rcirc layer
superfluous.
Modify the rcirc layer's initialization not to load rcirc-reconnect, and
delete rcirc-reconnect from the layer's local packages.
The `helm-split-window-in-side-p` variable has been renamed to:
`helm-split-window-inside-p` here: 8b5df59a14
This caused the following variable `helm-always-two-windows` to become enabled.
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>
Add new packages `mvn` and `maven-test-mode`.
Move `gradle-mode` configuration from groovy layer to java layer
New prefix commands `SPC m m` for maven and `SPC m l` for gradle.
Make maven and gradle commands available in java-mode.
Update documentation.
Some elfeed commands can operate on a number of entries, based on the active
selection. When selecting entries with evil (visual state), the bindings for
these commands are shadowed by visual state bindings, and can't be accessed.
To fix this, the affected elfeed bindings are explicitly defined for visual
state.
The Frame delete bindings SPC F c and C, are inconsistent with the delete window
and buffer bindings, that use: d and D
Changed the dired-other-frame binding from d to O
Add the key binding: t
to open helm-themes, without having to use the arrow up key.
Reorder/rename: cycles backward and cycles forward
to: next and previous
Next is listed first, because it's the most common action, and it matches the
order in other transient states.
Change the t argument in the call to spacemacs/cycle-spacemacs-theme, to the
symbol 'backward, to make it clear what the argument does.
Add documentation for the Themes Transient State bindings.
As described in issue #9464, this package was removed from melpa for
not having a GPL compatible license and is causing an error every time
spacemacs starts.
Continuation of commit 8c3cf7c3ae
Fix docs for "Fish shell and ansi-term" and explicitly enable `truncate-lines`.
I was using the suggested hook as well as `(setq-default truncate-lines t)`,
so my fish shell was acting funny because `truncate-lines` was being disabled
rather than enabled.
Original Commit List
- update cycle-spacemacs-theme function to work backward with universal arg
- add a transient-state hydra to cycle through the modes
- move the transient-state definition in the +distribution spacemacs-base
- refactor using hydra syntax for expression as command
- modified cycle-theme to handle negative command argument
- add keybing for helm-themes in the transient-state
As described in issue #9464, this package was removed from melpa for
not having a GPL compatible license and is causing an error every time
spacemacs starts.
Apply idiomatic way of configuring org-babel for the cfengine engine.
Remove the documentation about how to configure it since Spacemacs does it
automatically.
Resolves https://github.com/syl20bnr/spacemacs/issues/9663
Tested to work on a created-from-scratch spacemacs-base config created with
Emacs-style, ivy preferences.
I just added below to dotspacemacs-configuration-layers
(org :variables
org-enable-hugo-support t)
After this PR, C-c C-e in an Org file shows the Hugo export options.
There is a space in the buffer name of undo-tree. The popwin did not display right and the function `undo-tree-visualizer-quit` also seems not work well until I correct the buffer name.
Motivation: so layers with their own evil states (e.g. treemacs) can also
contain their own cursor configuration
Example usage: `(spacemacs/add-evil-cursor "treemacs" "RoyalBlue1" '(hbar . 0))`
Layer READMEs don't list the configuration of the package so this commit removes
the mentions of treemacs package readme.
Reformat the documentation of layer variables
Reformat key bindings in table
Respect 80 chars max per line.
In perspective transient state. b and l keys in the docstring have no
corresponding functions declared whenever both helm and ivy layers are not
used.
Add two private variables to fix the issue:
- spacemacs--persp-display-buffers-func
- spacemacs--persp-display-perspectives-func
These variables are set to the correct functions by the helm and ivy layers via
a use-package hook.
Default is `ignore` function so b and l does nothing if both helm and ivy layers
are not used, TODO: we should find a better default function.
Shadowing is now control by layer property ':can-shadow' only.
can-shadow is a commutative relation, if layer1 can shadow layer2 then layer2
can shadow layer1.
the shadow operator is a binary operator accepting two layer names, it is not
commutative and the order of the operands is determined by the order of the
layers in the dotfile (like the ownership stealing mechanism).
If ':can-shadow' is set explicity to nil in the dotfile then the layer won't
shadow any layer.
For instance to install both ivy and helm layer:
(setq dotspacemacs-configuration-layers
'(
ivy
(helm :can-shadow nil)
)
note that due to the commutative relation the above example can also be
written (in this case, ':can-shadow' should be read ':can-be-shawdowed'):
(setq dotspacemacs-configuration-layers
'(
(ivy :can-shadow nil)
helm
)
Layers can now declare in their layers.el file that they shadow one or more
layers using the following functions:
- configuration-layer/shadow-layers
- configuration-layer/shadow-layer
Those function are commutative so:
(configuration-layer/shadow-layer 'layer1 'layer2)
is the same as
(configuration-layer/shadow-layer 'layer2 'layer1)
and means that
layer1 shadows layer2
and
layer2 shadows layer1
The typical use-case is helm and ivy layers. Helm shadows the ivy layer and
Ivy shadows the helm layer.
Shadowing is sensitive to the order of declaration of layers in the dotfile,
for instance:
(setq dotspacemacs-configuration-layers '(
helm
ivy
))
means that ivy shadows helm so helm layer is effectively ignored,
whereas
(setq dotspacemacs-configuration-layers '(
ivy
helm
))
means that helm shadows ivy so ivy layer is effectively ignored.
This mechanism can be turned off using the :can-shadow keyword:
(setq dotspacemacs-configuration-layers '(
ivy
(helm :can-shadow nil)
))
means that both ivy and helm layers will be installed (not recommended in this
case)
Note that the `:can-shadow` mechanism will be fully implemented in a next
commit.
This message is shown when Spacemacs starts:
../../Users/Username/AppData/Roaming/.emacs.d/layers/+spacemacs/spacemacs-purpose/local/spacemacs-purpose-popwin/spacemacs-purpose-popwin.el: Obsolete name arg "pupo" to constructor purpose-conf
The name argument, seems to only be needed for Emacs <= 24.3, according to this
line in the emacs-purpose package:
;; the name arg ("purpose-x-code1") is necessary for Emacs 24.3 and older
source:
00ddafcf48/window-purpose-x.el (L71)
The minimum version supported by Spacemacs is 24.4.
dotspacemacs-directory-snippets-dir contains a path to a directory with yas
snippets in ~/.spacemacs.d (or arbitrary picked dotspacemacs direcotry).
However, while it's not always present (user has to create it manually)
it is always checked while yas is loaded which generates errors.
This diffs forces checking whether the assumed path exists before adding
it to the yas-snippet-dirs.
When `evil-search-module` is set to:
evil-search:
Then `/` search highlights are cleared by pressing: `SPC s c`,
and `C-s` highlights are cleared with `:noh`.
isearch:
Then `/` highlights are cleared with `M-x evil-ex-nohighlight`,
and `C-s` highlights are cleared with both `SPC s c` and `:noh`.
| ~SPC D c~ | open docker containers buffer =*docker-containers*= |
| ~L~ | open log popup for a running container |
| ~L~ | open the log |
| ~SPC b d~ | kill the buffer |
|--------------------+------------------------------------------------------|
| Observed behaviour | the =scratch= buffer is shown |
| Expected behaviour | return to =*docker-containers*= buffer |