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
* 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
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`.
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.
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.
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.
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.
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.
For now realug is used only to C and C++ so it makes more sense to add it to
the c-c++ layer for now.
Later if we can generalize the support of realgud for other languages and we
can start a debugger layer.
The `scala-enable-eldoc` variable should be used to determine whether or not
ENSIME should print types at point. This makes sure that the hook is only set if
the variable is non-nil.
Dolists for `spacemacs/set-leader-keys-for-major-mode' were using
'emacs-lisp-mode instead of the loop variable 'mode'. Hopefully using the loop
variable was the intention.
I also updated the redundant bindings for `edebug-mode-map' and
`edebug-eval-mode-map' to use `dolist'. It probably makes more sense to put the
whole thing after :bindings rather than around it, but I wasn't sure if that
might break something.
used `:pre-config` instead `:post-init`, otherwise `slime-company` won't be
initialized because `common-lisp/init-slime-company` is called after
`common-lisp/init-slime`, and `:post-init` probably won't make effect.
Fixes#8796
Added a Spacemacs style keybinding for the function cider-eval-defun-to-comment
This function evaluates and expression and displays the result as a comment
on the following line.
The CIDER keybinding is `C-C M-;` so the Spacemacs binding uses the `;`
convention, which is also the general character for comments in Emacs.
As this is an evaluation function, the keybinding is placed under the evaluation
part of the major mode menu.
Included documentation in the README.org file
According to official elm-format documentation there is elm-format-on-save option. I've added it to layer documentation and introduced "On save usage" section which now contains info about elm format on save and imports sort on save.
- Use compilation-start to get highlighting of compilation or runtime errors.
- Configure output window in popwin and window-purpose (so that it can be closed
with C-g for example).
- Configurable buffer name.
Indentation in the elm layer was confusing to me at first so I thought it would be a good idea to add a note. I stole the section from elm-modes docs: https://github.com/jcollard/elm-mode#indentation
Some slime commands such as `,load-system` do not work without `slime-asdf`
being loaded. Since ASDF is the main system definition facility used by lisp
programs, I think this functionality should be available by default.
This change updates the `packages.el` file to support automatically enabling
flycheck when opening a protobuf file. This is accomplished by adding `flycheck`
to the list of packages, as well as defining a `post-init-flycheck()` function.
I've tested that this works with spacemacs `0.200.7@25.1.1`.
SPC m g C is only used in Clojure whereas SPC m g c is used in various layers.
This is simpler to just move create tags to SPC m g C and move the clojure
bindings to SPC m g c (since it is not used in the clojure layer).
1. Make it possible to exclude the package (fix the go and rust layers).
2. Import variables all at once (avoid spawning multiple login shells).
3. Import variables early (during the "pre" package loading stage).
4. Centralize the platform check by using a package toggle in the
`spacemacs-base`.
5. Avoid importing already defined variables (except `PATH`/`MANPATH`).
Relates to #8537.
TODO: We can probably trim the platform list to macos only.
spacemacs/add-flycheck-hook was not really hooking anything, change the name
to better reflect what it does.
Also changed the push for a add-to-list to avoid duplicates.
Define multiple dispatch functions for each service:
- spacemacs//java-setup-backend
- spacemacs//java-setup-auto-completion
- spacemacs//java-setup-syntax-checking
- spacemacs//java-setup-spell-checking
- spacemacs//java-setup-eldoc
java: replace ensime-configure-keybindings function by a variable
It's not convenient to have key bindings in funcs.el file, instead of relying
on a function we define a private layer variable java--ensime-modes which
can be updated by other layers using a :pre-config use-package hook.
java: refactor key bindings
- define key bindings for meghanada back-end
- move ensime key bindings documentation from scala layer to java layer
- change SPC m d for daemon to SPC m D (since SPC m d is reserved for debugging)
New variable `java-backend' controls whether to use eclim, by default,
or ensime.
The setup is identical to scala and as such there's some functionality
included that still isn't supported in java.
- delete some diminish expressions which are not related to PG and user
spacemacs|hide-lighter instead of spacemacs|diminish
- move company related configuration to the correct place
- move setq expressions to :init blocks to allow users to easily change them
As it make evil to error when the delq form is written the customize file,
instead we call the set method manually and it works fine.
Would be better and more future proof to curry the set function into a named
function of 0 arity for evil-intercept-maps custom setting.
README:
- add `SPC m` prefixes to follow the style of the other READMEs
- Sort key bindings alphabetically
Key bindings changes made to be more mnemocnic and/or to better fit the other
key bindings of other layers:
- SPC m p b --> SPC m p p (show prover process buffer)
- SPC m p c --> SPC m p i (interrupt prover process)
- SPC m p x --> SPC m p q (quit prover process, maybe SPC m p k for kill would
be better ?)
- SPC m a p --> SPC m a a to print query
- SPC m a n p --> SPC m a A to print query showing all
- SPC m a i p --> SPC m a i i to print query showing implicits
- Ask showing all bindings use the same keys as regular Ask but the last key
is capitalized, example: SPC m a b (ask about) and SPC m a B (ask about
showing all)
- Ask showing implicits are still on SPC m a i (we could also use Control key,
for instance SPC m a b (ask about) and SPC m a C-b (ask about show implicit),
it depends on how frequent showing implicits are used).
- SPC m g . --> SPC m g l (go to end of Locked command)
- SPC m g d --> SPC m g g (using the jump handlers facility of Spacemacs)
- SPC m g a --> SPC m g s (to go to start of command)
There was no flycheck-credo package in the layer.
Although it was described in documentation, how to install credo.
This commit fixes documentation and adds flycheck-credo package.
Cycle collection type was recently removed from `clj-refactor` as the
feature was migrated and rewritten in `clojure-mode`. The new feature
lets the user convert a collection into a specific collection type
instead of cycling through them.
To added shortcuts correspond to the shortcuts of this feature in
`clojure-mode` and placed in the refactor submenu.
https://github.com/syl20bnr/spacemacs/issues/8043
"Go to definition" should go to the definition - meaning, where the function is defined in the source code.
I am for changing the default keybinding to `slime-edit-definition` because it fulfills this - allows the user to see the source code for a given function.
`slime-inspect-definition` does not open the source code - it opens the SLIME inspector with the function **object** open in the inspector. While the function **object** contains some valuable data, it does not contain the *definition* itself - which is what the user wants in this case.
This fixes an issue where default jump handler, like dump-jump-go runs
in sync and omnisharp-go-to-definition is not able to actually go to
definition until it completes thus slowing down the completion process.
A similar issue (for C++) was fixed in syl20bnr/spacemacs#6904