The function `clojure-toggle-keyword-string` will convert a string to a keyword,
or keyword to a string.
The keybinding is added under the Clojure refactor menu, in the
"cycle/clean/convert" section.
`SPC m r c :`
As this is a `clojure-mode` function, it is defined in the clojure-mode
refactoring keybinding section of packages.el.
Currently, when a tsx file is edited, the typescript layer puts it into web
mode so we can properly edit/format the html that's inside. However, with this
you lose the awesome ", g g" keybinding which takes you to a definition of
the current function/variable. You also lose the ", g u" keybinding which
gives you all references of current function/variable. This PR adds
all the tide bindings that are in typescript mode into web mode while using the typescript layer.
NOTE:
I must add ("gg" tide-jump-to-definition) to the webList because spacemacs-jump-handlers-web-mode does not exist.
Using the header below is now deprecated in React.
```js
/** @jsx React.DOM */
```
However, there are situations where I have to use the *.js extension, and need to tell my text editor that the file has JSX.
I suggest switching to JSX mode if it detects a header starting with `@jsx`. Then I'll be able to do the following without breaking react.
```js
/** @jsx */
This is similar to the `Ctrl+Shift+T` keybinding found in major browsers, and
helps when accidentally killing a buffer (i.e. fat-fingering `SPC b d` when
meaning to press `SPC b s`).
Only buffers that resolve to existing files will be considered, and stored in a
stack which is pushed to and popped from on buffer kill.
`SPC m h h` is conventional key binding to show documentation for thing under
point. It is called by `spacemacs/evil-smart-doc-lookup`, so this change makes
`K` in normal state work as expected.
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)
This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.
This commit also fixes:
- configuration-layer/describe-package now shows which post-init and pre-init
functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
configuration-layer/discover-layers. Previously, this led to all layers being
recreated after e.g. `SPC h SPC`, without any of the dotfile information.
Since this information is now necessary for
configuration-layer/describe-package, it’s important that we don’t clear the
indexed layers when invoking this function.
Problem:
Creating a new workspace from the workspaces transient state, requires that one
first looks for the next available workspace number, and then presses that
number key.
Solution:
Add the keys: `c` and `C` to create a new workspace. Lowercase exits the state
and uppercase keeps it open.
Notes:
This matches the behaviour of 0..9, which exits the state, and C-0..C-9, which
keeps it open.
This is the last key/command, from the C-c C-w eyebrowse key bindings, that was
missing from the workspaces transient state.
This happens when connecting to gitter via irc.gitter.im, for instance.
It turns out that channels are named like #syl20bnr/spacemacs. For the
logging to work, we need to create the directory #syl20bnr first.
Problem:
Two which-key functions doc-strings, state that they are obsolete:
(which-key-declare-prefixes KEY-SEQUENCE REPLACEMENT &rest MORE)
This function is obsolete since 2016-10-05;
use ‘which-key-add-key-based-replacements’ instead.
(which-key-declare-prefixes-for-mode MODE KEY-SEQUENCE REPLACEMENT &rest MORE)
This function is obsolete since 2016-10-05;
use ‘which-key-add-major-mode-key-based-replacements’ instead.
Solution:
Replace the obsolete functions.
Searching with `SPC /` through the .emacs.d folder, didn't find any other
occurrences of these functions.
Problem:
The insert link key binding `, i l` shows:
Wrong type argument: commandp, markdown-insert-link
Cause:
The markdown-mode package has renamed the `markdown-insert-link` function to:
`markdown-insert-inline-link-dwim`.
Solution:
Rename the key bindings function name.
Rename documentation to match the function name.
- bind spacemacs-layouts/non-restricted-buffer-list to SPC b B instead
of SPC B b
- rename buffer listing functions in which-key to be more explicit
PR title:
bindings: non-restricted-buffer-list-* to SPC B b instead of SPC B b
PR message:
I don't know what was the thought behind this, but `spacemacs-layouts/non-restricted-buffers-list-*` was alone in its `SPC B` prefix and `SPC b B` was almost free, only used in one layer that I would be surprised if it was widely used (`ibuffer`).
I also renamed buffers listing functions in `which-key` to be clearer for the user. Indeed, I find that names like `helm-mini` are pretty obscure and kind of defeat the purpose of `which-key` and `spacemacs-layouts-non-restricted-buffer-list-blah` was so long that it couldn't even be displayed.
Now the user can choose between `list-buffers` or `global-list-buffers` for listing buffers.
Group together the which-key entries that call the same command:
k and - becomes k,-
u and _ becomes u,_
Declare a prefix name for SPC x i, this changes the SPC x entry:
from: "i -> +prefix"
to: "i -> +inflection".
Capitalize the transient state title, so that it matches the other TS titles.
Sort the code and documentation key bindings alphabetically.
- Move find-hy-executable to funcs.el and rename
- Don’t set hy-executable (not needed by anything)
- Setup hy only once at startup (allow user to override settings, see #5988)
- Use setup-hy in advice instead of post-activate-hook (works with many more
commands)
- Setup checkers pyenv change, too
- Guard checker setup function for possibly missing flycheck
- Combine all setup functions into one
Hy is typically installed on a python virtual environment, not globally. When
that is the case, init-hy-mode doesn't set any leader keys for hy since it
can't find the hy executable on the path. When a virtual environment is
activated, init-hy-mode is run again to see if it can find a hy executable
and setup the leader keys for hy.
The `swift-mode` REPL bindings have been updated to use a different
naming convention (e.g. a prefix of `swift-mode:` in the CL style).
Typing `, s s` would trigger this error:
```
command-execute: Wrong type argument: commandp, swift-mode-run-repl
```
This change fixes up the command names so that they are usable again
from the leader key.
Text:
- Rewrite, add missing words, etc.
- Remove the begin and end verse block lines, but kept the verse block text,
because Github doesn's show text in .org verse blocks.
- Change _after_ to *after*, because Github doesn't show underscores in .org
files.
- Add the Colemak, Dvorak and Workman layouts vim movement key bindings, and the
key bindings for the lost (overwritten) keys.
- Fix the image link to the workman layout image, it was missing the square
brackets.
- Link replaced: The workmanlayout.com domain name seems to have been lost.
Google Chrome warns "Your connection is not private", and the advanced
information states that the security certificate is from a "just host" domain.
The most stable replacement link seems to be the workman section on the
keyboard layout wikipedia page.
- Indicate the images that have been modified, as suggested by the CC BY-SA
Attribution section.
Images:
- Add the dvorak simplified layout.
- Fix the programmer dvorak layout, the transparent key faces made it almost
invisible when viewed in Spacemacs with a dark background.
- Rename images for type, consistency, and most common usage:
use logo instead of layout for logo names, and use layout for all layout
images, instead of keymap for some and layout for others. Layout is the most
common name, wikipedia even redirects keymap to the keyboard layout page.
- Reduce their width to 640px, so that they fit within column 80.
* restore these functions' signatures to those of their stock evil
counterparts (evil-paste-{before,after}), allowing
`evil-mc-execute-evil-paste` to paste at each cursor when there
are multiple instead of pasting at only one cursor
* retain these functions' ability to directly take a register as
input when called interactively
* regression was caused by bfb565eea9
problem:
The keyboard layouts main image, is displayed as a black rectangle, when the
readme.org file, it's opened in Spacemacs. This seems to be because there's an
issue with the transparency when a .png is saved with indexed colors.
When the transparency issue is fixed, by re-saving it as a non-indexed
(grayscale or RGB) image. Then there still is an issue, with themes that have a
dark background, i.e. spacemacs-dark. The black keys become almost invisible.
solution:
Add a 1px gray border, around the keys.
Looks like pass is trying to use variable which isn't available for some time,
at least there are no other packages using it.
`completing-read` should be universal for all completing needs I hope.
Old version worked only for method 'ssh' and did not work at all if
user was not specified (e.g. /ssh:hostname:/path). Since the symbol '@' was
required in a filename.
Commands and key bindings found via `alchemist-refcard` command.
I've tried to adhere to Spacemacs conventions but where I couldn't find relevant
conventions, I followed Alchemist's key bindings.
Also, delete alchemist-refcard - approved by @syl20bnr at
https://github.com/syl20bnr/spacemacs/pull/8746#issuecomment-301326850
If dotspacemacs-auto-generate-layout-names is non-nil, and the user
tries to open a layout in a position that doesn't yet have a layout,
then create a new layout with an automatically generated name.
Problem:
The current rainbow-mode screenshot, is from an older version. It shows white
text on light colors. This makes it hard to read the color codes. The old
screenshot hides the fact that issue has been solved.
Solution:
This updates the screenshot, to show it's current behaviour. Where the text
color is either white or black, depending on if the luminance is greater than
0.5 of 1.0.
org-mu4e was already handled in the mu4e layer which is the correct place for
this.
Added notmuch to mu4e layer, maybe not the right place for this but for now
it is OK.
* Make RET and TAB (C-m and C-i) perform the same actions as <return>
and <tab> so the maps work in the terminal.
* Catch <return> in workspaces transient state so that it exits without
executing a command (like already done for layouts).
* Add "workspace w/helm/ivy" to docstring, mirroring the layouts
docstring.
* layers/+lang/python/funcs.el (spacemacs/anaconda-view-forward-and-push):
Added helper function to go forward and hit RET
* layers/+lang/python/packages.el (python/init-anaconda-mode):
- use new evilification macro
- use helper function to go ahead and push button when hitting `RET`
- Add `C-j`, `C-k` for easy navigation in anaconda-view-mode when multiple
references are displayed. Doesn't conflict with normal `hjkl` navigation in
other views of `anaconda-view-mode`
Fix#7538Fix#5737
Problem:
Spacemacs rewrites the evil-mc-mode-line variable, to remove the evil-mc mode
line text, when there's only one cursor. The rewrite blocks the recent evil-mc
updates, that made the multi cursor, mode line text, more readable.
Solution:
Use the new evil-mc-one-cursor-show-mode-line-text variable, to only hide the
mode line text, when there's one cursor. This unblocks the current, and any
future updates, that the evil-mc package makes to the mode line text.
Currently the ocaml layer requires opam in order to work. However
opam is only really required for an easy installation of the
required ocaml binaries. The only place where opam is used
instead is to add the merlin files of the merlin installed
via opam instead of the merlin files from melp.
This commit introduces a fallback if opam is not installed but
ocamlmerlin is installed, since the melpa package of merlin
is already installed through packages.