This is necessary as we use hack-local-variables-hook to setup the backends,
at this time it is too late to setup hooks, we need to call the function right
away.
Add these keywords to macro spacemacs|add-company-backends
:append-hooks controls wether we add the hooks to major mode hook variable
:call-hooks conrols wether we execute the created hooks function right away
Basically for multiple backends setup we want to pass :append-hooks to nil and
:call-hooks to t.
Reverting a buffer could put multiple entries of the same backend in the buffer
local `company-backends` variable.
This is due to the fact that we mutate `company-backends-xxxx-mode` variable
with:
(setq ,backends-var-name
(mapcar 'spacemacs//show-snippets-in-company
,backends-var-name)))
Solution is to add a new variable that won't be mutated when we add the support
for snippets.
When multiple modes where provided to macro spacemacs|add-company-backends along
with variables, only the first mode was taken into account as the `variables`
variable was nil after the first interation on `modes`.
This commit switches the keybindings for `xclipboard-copy` and `xclipboard-paste` to `SPC x y` and
`SPC x p` respectively, as it appears these were incorrectly assigned the other way around.
The X clipboard allows a user to copy and paste content between different X
windows, e.g. copying text from Chrome into a Terminal. Copy/pasting with the X
clipboard it well supported in GUI Emacs, but not so well in terminal Emacs
(i.e `emacs -nw` or `emacsclient -t`) without resorting to using the mouse,
since terminal Emacs has no awareness of X. There are several incomplete Elisp
solutions out that work for the most part, but may not have cross-platform
support, or may fail over SSH with X forwarding or within a `tmux` session.
This layer adds support for OSX, Linux, Windows, and Cygwin using the relevant
binary on each system. For example on Linux, it uses `xsel` or `xclip` to
interface with the clipboard, depending which one is available. It also adds
support for ssh'ing into a different OS with X forwarding via `ssh -Y hostname`,
and copy/pasting to and from a remote terminal Emacs. It also supports an edge
case of continuing to work in an Emacs instance running inside a `tmux` session
which may have been started by a different ssh session, which relies on
explicitly reseting the `$DISPLAY` environment variable before calling the
relevant binary.
Yank code inspired by https://github.com/tmux-plugins/tmux-yank.
Fix#4662.
Tried to add xclip support but removed it since it freezes.
We have key bindings to create two and three column
window layers.
This commit makes available a key binding to return to
the default spacemacs window layer, the single column one.
This idea is to have the spacemacs-base distribution only configure defaults for
built-in packages. Those buit-in packages are now configured in the new layer
spacemacs-defaults.
Additionally some other packages of spacemacs-base have been dispatched to
better suiting spacemacs layers.
Projectile has been moved to the new layer spacemacs-project
- Move the following packages to bootsrap distributio layer:
- exec-path-from-shell
- evil-evilified-state
- holy-mode
- hybrid-mode
- spacemacs-theme
- ace-window has been moved to spacemacs-navigation
- centered-buffer-mode has been moved to spacemacs-editing-visual
- pcre2el has been moved to spacemacs-editing
- evil-escape and evil-visualstar have been moved to spacemacs-evil
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.
It appears that 29c78ce changed `:defer t` to be the default for
use-package, and that previously the `treemacs` and
`treemacs-projectile` packages in treemacs/packages.el specified `:defer
t`, but *not* `treemacs-evil`. Restoring `:demand t` (previously the
default) to `treemacs-evil` appears to fix#10422.
Problem
---
`C-j` and `C-k` key bindings don't work in eshell buffers except the first one.
Solution
---
`eshell-mode-map` is buffer-local, so key bindings have to be defined in a hook
function.
Problem
---
For basic toggling a checkbox (and adding / removing one with `SPC u`) for list
item at point one can use `,,`. However, there is no spacemacs key binding for
more advanced checkbox editing command `org-toggle-checkbox`.
Compare `C-c C-c` to `C-c C-x C-b` at https://orgmode.org/manual/Checkboxes.html
Solution
---
Add `SPC m T c` key binding for `org-toggle-checkbox`.
Bind org-clock-goto to `SPC aokg`
Useful for jumping to recent clocks (via SPC u SPC aokg), otherwise it jumps to
the current or last clocked in clock
Signed-off-by: William Casarin <jb55@jb55.com>
Currently ruby-send-to-buffer function is not assigned to any key
it is useful to be able to send the the buffer directly to the ruby
console.
It assigns SPC-msb to ruby-send-to-buffer function
Fix readme.org
Update with some minor changes
I added quickrun package to execute python script with ease.
It is owned by lsp-python since no one is using this great package in other layers.
Fix readme
function cmake-ide-setup just setup hooks. Hooks are just variables so they
can be setup without loading the whole package. For this reason we prefer to
not call cmake-ide-setup and setup the hooks ourselves.
clojurescript-mode, clojurec-mode and clojurex-mode are used for .cljs, .cljc
and cljx files respectively, which should always be balanced and thus have safe
structural editing enabled.
Before the commit 4b111f7701 it was possible to create new perspectives from projects not available on the list.
It would be possible to provide a path to a project that has not been open previously by emacs, and have the perspective created. Now that a match is required, it is not possible anymore, as the path provided is not one of the possible matches on the list.
This commit changes the behavior back to allow accessing projects that have not been visited before. Without this change, one needs to open a specific project first, using `C-x C-e` or `SPC f f` and then switch to the layout.
Before some time the additional evil-org bindings were available
in all three evil modes. However due to a bug in evil-org this
seems to have been changed. The bug is fixed now and
I have restored the old insert mode bindings by setting
evil-org-use-additional-insert to true during package
initialization
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
Fix#10177
counsel-projectile has updated custom actions mechanism[1] and
counsel-projectile-switch-project-actions is no more defined
Also,
- moved counsel-projectile into spacemacs-layouts from ivy layer as
perspective/layout based project switching depends on it instead of swiper
- removed swiper from spacemacs-layouts
[1] a4e9a34d7f
Added:
- Information about incompatibility of vim-empty-lines and spell-checking
inside org-mode.
- Features section to Description section (to comply with standard).
- Section how to enable multi-dictionary for hunspell.
Use `counsel-projectile-switch-project-action` instead of
`projectile-switch-project-by-name`, to match the additional actions available
via `counsel-projectile-switch-project` (SPC p p).
Auto completion menu triggers too frequently in react-mode, for example, the
completion menu will pop up right after user finishes typing a javascript
statement.
The root cause is that the 'company-minimum-prefix-length variable has been set
to 0 in "html" layer, which is used by "react" layer.
Overriding this variable to 2, as defined in "auto-completion" layer, will
resolve this issue.
Fixes bug: pylookup fails silently on 404. For instance, on
`./pylookup -u https://matplotlib.org/` it first looks up
'https://matplotlib.org/genindex-all.html', gets a 404 response,
but instead of moving to the next candidate url, it builds an empty
index.
Cause of bug: urllib.urlopen doesn't give an error on 404.
This fixes bug #9866.
Tested to work with documentation of Python 2.6, Python 2.7, Python 3.4,
Python 3.5, Python 3.6, and latest stable releases for SciPy, NumPy,
Matplotlib, and Flask.