- 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.
SQL, by convention, uses upper-case keywords, although lower-case works just as
well. As humans, the separation between upper-case and lower-case helps scan and
parse the code much more quickly.
Clojure layer attempted to provide `C-j` and `C-k` keybindings
to the cider-repl-mode but there was a bug.
This fixes the bug and adds those keybindings to the documentation.
Mark up code that is mentioned in the documentation of some readmes.
In the case of “long options”, like for example `--with-emacs`, this is not just
cosmetic. On GitHub, Org files are apparently rendered in such a way that
strings like `--` in non-verbatim text (i.e. not verbatim-quoted nor
code-quoted) is transformed to `–` (EN DASH U+2013). So the string:
… --with-emacs option:
Will show up like this:
… –with-emacs option:
Also mark up nearby not-marked-up code mentions. But this pattern was what was
searched for, so this mostly changes the abovementioned kind of thing.
By convention, code markup (`~`) is reserved for keybindings in Org-based
documentation in Spacemacs. Verbatim markup (`=`) is reserved for code and
other code-like things. So change several readmes to reflect this convention.
Use verbatim markup for things like (non-exhaustive list):
- Emacs Lisp functions, modes, buffers, etc.
- Environment variables
- Directory paths
- Code in general
ADD:
- layers/+lang/go/config.el Added new variable `go-use-test-args` to allow
specifying additional arguments being passed to `go test.
CHANGE:
- layers/+lang/go/packages.el Updated `go-run-tests` to automatically concat
the new variable `go-use-test-args` to args passed to `go test`.
Most people won't take the time to write their own per-theme colors,
so having high-quality defaults matters more than anything else.
These defaults are carefully balanced statistical averages of all colors
suitable for both light and dark themes, and perfected to work for 90% of
all themes.
It's the BEST out-of-the-box experience we can offer without forcing
all users to write their own individual per-theme optimizations
for ALL of their themes...
It isn't enough to just update the variables! We must also refresh the "font
locking" (syntax highlighting) in all buffers that have rainbow-identifiers-mode
currently active, so that they instantly re-paint with their per-theme values.
Otherwise we get stuck with an ugly mishmash of old colors and a new theme.
This change loops through all buffers and marks matching ones for re-painting,
starting with the current buffer first so that the user sees quick results!
Added support for 9 new themes, and updated the defaults
for some old definitions to much more closely match the "spirit"
of each theme's individual intended brightness
and saturation level.
Now reverts lightness and saturation to the user's fallback defaults.
A suggested future improvement: Revert to whatever would be used
for the current theme, so that it is a true "reset". Such a change
would require decoupling the sat&light code in "colors//tweak-theme-colors".
Why?
- 'r' is free binding - not used anywhere for org related modes
- refiling is quite common activity if you use org heavily, so moving it for
easy access makes sense
Move check into function, and add to local-vars hook instead of the mode hook.
This makes the variable changeable at runtime and also as part of local vars.
Comment the code and group the keys/commands based on the
which-key section they appear in.
Reduce the width of the listed keys:
By removing spaces around the two dots `..` in the key sequences, and
by removing the modifier keys before the last number in a sequence.
Update the renamed select-window-[1-9] command name, to the new
winum-select-window-[1-9] name.
Combine keys that call the same command.
This is a follow-up commit after #8155 has been merged. It applies the same
changes to code of the `ivy` layer. It is not part of #8155 because there was
no `ivy` layer when that PR was submitted.
Add two new functions: `spacemacs/transient-state-register-add-bindings`
and `spacemacs/transient-state-register-remove-bindings` to prevent layer
authors and end users from dealing with the underlying variables' subtleties.
The various string-match calls in this function were obviosly written with that
in mind.
This also fixes the case where the compilation buffer contains the output of
`cargo test`, which includes "0 failed". Previously, this was treated as an
error, now it's not.
Addresses #8297 for the tsfmt backend. However, does not fix tide issue, and
automatic major mode formatting (`SPC m =`) does not work in TSX files as they
are opened in web mode.
- Remove echo of regexp
- Use = instead of equalp
- Use use-region-p instead of checking line numbers
- Use when/unless instead of if
- Use point-at-{eol,bol} instead of point
js-doc provides an alternative function for generating function doc comments
that makes use of Yasnippet to easily jump between the comment sections/tags.
This commit enables use of that function, if Yasnippet package is active.
The login is required for most jupyter installs these days.
change ipython command keybinding for open from 'n' to 'o'
Unless I'm violating some Spacemacs convention using 'o' for 'open'
seems to the right choice instead of 'n'. Better mnemonics, IMO.
Problem: There are two projectile spacemacs/set-leader-keys sections,
next to each other.
Solution: Combine and sort the keys alphabetically with lower case
before upper case. A quick search showed that order in a lot of
other set-leader-key sections.
Madoko is a fast markdown processor with a special .mdk extension
from microsoft research. emacs should use markdown-mode to render
a .mdk file as markdown file.
"Sayid (siy EED) is a tool for debugging and profiling clojure code."
(https://bpiel.github.io/sayid/) it allows viewing the results of each line of
code in a clojure function, without editing the code at all.
This commit evilifies the plugin and adds its commands to the "debug" submenu
of the main clojure mode menu.
Before, `org-mu4e` would be loaded when mu4e was. However, as an extension to
org mode, not mu4e, it should be loaded when org mode is.
This commit also adds similar support for notmuch.
Sometime in the past editorconfig layer has been deleted.
Commit: 5887344.
Related PR: #1526.
Explanation was that layer was so simple that everything you need to get
editorconfig to work is just add it to dotspacemacs-additional-packages.
However it's not quite true.
- (editorconfig-mode t) should be performed manually.
- it looks ugly in modeline.
If we don't use the default docksets, helm-dash will not work smoothly
unless we set the `dash-helm-dash-docset-path' variable when we import
the dash layer(actually, the default dash docset path is always
"~/Library/Application Support/Dash/DocSets").
problem: currently, viewing a file at a specific branch/commit, requires one to
type the magit-find-file command, at the M-x prompt
solution: SPC g f f is available and consistent with the SPC f f key binding
If you install your node bins in places outside of the system path, you
need to add those locations to the exec path before packages are loaded
or else spacemacs won't recognize them as existing when it initializes
the layers.
The purpose of this PR is to set the default for ⌘ to `hyper' and to provide the
function `kbd-mac-command` to replace `kbd' when defining keybindings for ⌘ in
case someone decides to explicitly set osx-command-as to `super' or `alt'.
There are problems setting osx-command-as to `alt' and `super',
so we use `hyper' as a default instead because, for example:
- Using `alt': Command-x or Command-m inserts, respectively: × µ
- Using `super': Control-Command-f produces keycode: <C-s-268632078>
Setting to `hyper' seems to avoid both types of the above problems.
Also, while it is possible, it is not recommended to set to `meta'
since standard OSX shortcuts would overshadow important keys such
as M-x.
Two other small changes include:
- Commenting out the code that defines <C-s-268632078> (C-s-f) since it is
unnecessary if we use `hyper' as the default; and if we really want to use
`super' then we should figure out how to solve the weird keycode issue.
- add keybinding for ⌘` (Command-backtick) to `other-window'.
Emacs usually swallows this keystroke, so other-window basically restores
the default behavior that most Mac OSX users would expect.