* Bind typescript-format to "==" or "=" depending on backend
This fixes a problem when using 'lsp backend: the lsp layer binds its own
formatting functions under "=" as a prefix. The spacemacs/typescript-format
function which the typescript layer defines has advantages over these, mainly
it respects the typescript-fmt-tool variable (uses the formatting tool that
theuser specified).
This patch solves this by keybinding leader+"==" to the function when
typescript-backend is set to 'lsp and binding to leader+"=" in any other case.
* Fix an accidentally deleted keybinding in table in documentation
* use getter for backend variable
Co-authored-by: nanashi0x74 <rian.lindenberger@mpq.se>
Fsharp-mode has recently undergone some major changes. FSAutocomplete is
no longer distributed with Fsharp-mode. Instead Eglot is used a language
server that pulls in FSAutocomplete. To get auto-completion working
again eglot-fsharp has to be required and an instance of Eglot has to be
started once an F# file is opened.
New command added to CIDER in version 0.26 to evaluate the list around the
current point, different to evaluate sexp around point which also evaluates
symbols.
https://github.com/clojure-emacs/cider/pull/2881
* [markdown] Anchor auto-mode-alist entries
A file named foo.mkd.patch should use diff-mode, not markdown-mode.
* [markdown] Simplify regexp in mode specifiers
Putting k in brackets here has no effect.
tab is reserved by the auto-completion layer and
shall never be overwriten in a layer. This moves
emmet-expand to a similar binding which was
originally used by emmet for non evil users.
This treats evil and non evil users alike and
avoid conflicts with company key bindings.
Still a layer changing the meaning of tab is
a bad idea, this key is reserved for auto-completion-layer.
We should add an alternative binding for it but this commit
focuses on removing the conflicts with company popup scrolling
first.
When the corrupted `elc` file is detected
`cider-jack-in-lein-plugin` has a nil value
value added already which causes `cider` to fail.
This commit removes such a row in that case.
It seems to happen from time to time that sayid is not
properly compiled after the installation. In this case
the variable `sayid-version` is `nil` causing
nRepl to fail.
This commit tries to work around this problem by
reinstalling the package if this corruption is detected.
This normally fixes the issue described in #13906.
Microsoft has released pyright language server for python. It boasts better
performance than the old Microsoft language server for python. This commit adds
supports for pyright language server in python layer
* Switch from nabero's ron mode to my own custom ron-mode (hosted on MELPA)
* Replace depreciated perl6-mode withraku-mode
* Remember to update the init function
* Add RTags shortcuts for trees and dead functions
The change will add 3 shortcuts for dependency, references trees and for finding dead functions.
* Additions of some key bindings
We should always define the 2 flycheck initialization functions:
Spacemacs will call them as needed only when enabling syntax checking.
Previously flycheck wasn't getting activated at all.
Only activate `flycheck-ocaml` when a `.merlin` file is present.
It would work when there isn't but there is a high chance that you will
get a lot of errors displayed because it could not find any of the used
modules (`.merlin` specifies module paths).
OCaml projects usually do have a `.merlin` file
(either hand crafted or generated by the build system).
Signed-off-by: Edwin Török <edwin@etorok.net>
lang/ocaml: add merlin-eldoc and merlin-imenu support
This displays the type and documentation of thing under point
and highlights occurrences automatically when idle. Could be achieved by appropriate use of
keyboard shortcuts already set up by this module.
However `merlin-eldoc` can also display the expected type of function call parameters,
which merlin itself wouldn't.
`merlin-imenu` allows jumping to top level modules/functions/etc. bound
by default to `SPC j i`.
Signed-off-by: Edwin Török <edwin@etorok.net>
lang/ocaml: add merlin-iedit multiple cursor refactoring
bound to `, r e`.
Signed-off-by: Edwin Török <edwin@etorok.net>
fixup! lang/ocaml: add merlin-iedit multiple cursor refactoring
fixup! lang/ocaml: fix flycheck-ocaml activation
fixup! lang/ocaml: add merlin-eldoc and merlin-imenu support
biblio-/core is pulled in by multiple packages in this
layer already and their package declarations was empty.
Users can access the functionality biblio offers
from helm-bibtex.
The spacemacs analogue of cider-load-buffer-and-switch-to-repl-buffer
doesn't accept an argument to set the namespace while you are switching
to the repl buffer. This adds support for an argument, invokable with
the universal argument, for setting up the namespace as well. This will
eliminate an extra `(in-ns ...)` or `, s n` call as long as you invoke
`, s B` prefixed by the universal argument: `SPC u , s B`.
Missing parentheses around:
"\\.ron\\'" . ron-mode
in the line:
:mode "\\.ron\\'" . ron-mode
Updated the rust readme to mention the .ron support.
And added a changelog.develop entry.
* [ESS] Fix: remove obsolete variables in ESS
- use ess-offset-continued to replace the obsolete variables (from ESS 15.04):
ess-first-continued-statement-offset
ess-continued-statement-offset
- remove ess-expression-offset
no such variable now
* [ESS] fix: keep ess-default-style instead of ess-style
- keep the original ess-default-style instead of ess-style
since ess-default-style will be obsolete till ESS 19.04
while current ESS version is 18.10
`literate-haskell-mode` was renamed to `haskell-literate-mode` in this commit:
7ccb1ab0cc
Even though a deprecated alias was added, it broke Spacemacs' keybindings, which
were still all bound w.r.t. the old name.
README.org
Buffer formatting, first paragraph
The apostrophes before: yapf and black
caused the org emphasis verbatim equal signs to be visible.
config.el
python-formatter variable docstring
An apostrophe instead of a backtick, before the possible value: lsp
caused it to be shown with the default docstring color.
After using Java mode, Gradle keybindings infect or even clobber keybindings of
any subsequently used major-mode. For example, the critical Agda major mode
keybinding of `l` as `agda2-load` gets with a Gradle menu!
The cause, found by @duianto, is that `emacs-gradle-mode` sets itself to a
[global](e4d665d578/gradle-mode.el (L176-L183))
minor mode. The docs for `define-minor-mode` say about `:global:`
> If non-nil specifies that the minor mode is not meant to be
> buffer-local, so don't make the variable MODE buffer-local.
> By default, the mode is buffer-local.
I don't know why `gradle-mode` is doing this; presumably there is some reason or
need for it. But the author of that package hasn't been on GitHub since 2017,
and the last update of the package itself is from early 2015.
To seal the deal, `gradle-mode` hasn't been working anyway (at least, I've never
got it to work). I've been running Gradle by launching a terminal within Emacs.
Fixes#13750.
Add key bindings to refactor namespace forms for existing functions in CIDER.
"ran" 'clojure-insert-ns-form
"raN" 'clojure-insert-ns-form-at-point
"run" 'clojure-update-ns
A few of the layer's keybindings are shadowed when using the LSP backend:
- `F` - format buffer using stylish
- `hh` - lookup on Hoogle
- `gi` - navigate to imports
These are useful shortcuts to keep, so when the LSP backend is in use they are
rebound like this:
- `F` -> `S`
- `hh` -> `hg`
- `gi` -> `gl`
- `hH` -> `hG` (not one that is shadowed, but rebound to bind external and local
Hoogle lookups to similir shortcuts)
Popwin automatically configures pupo purposes
if properly configured. While I was checking
the existing configs I have found that the
settings will be ignored if the config is not
done via a post-config hook.
A quick search revealed a lot of popwin configs
which never had any effect.
This commit fixes these and with this also
restores the missing pupo configs.
spacemacs/go-run-test-current-function() previously failed when point was
anywhere but at the end of the line on the first line of the test function to
run.
Fuel mode is responsible to connect to a Factor instance. This change extends
the Factor layer to handle a graphical listener process, to which fuel can
connect afterwards.
A major motivation is also to make it easier to develop with different Factor
versions, which can be specified with (project-/directory-specific) variables.
When starting a Factor listener in a certain location this way, the elisp code
for fuel/factor mode is reloaded from that location.