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.