* 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.
AUCTeX is weird: It reports major-mode as latex-mode (since TeX-latex-mode is
applied as an :override advice on the basic built-in latex-mode), but its mode
hook is LaTeX-mode-hook, not latex-mode-hook (which is only run by the built-in
latex-mode). Since bind-map uses the value of major-mode, we must pass
latex-mode to spacemacs|define-jump-handlers. But then
spacemacs//init-jump-handlers-latex-mode gets added to latex-mode-hook, which
never gets run. So we must manualy add it to LaTeX-mode-hook.
[latex] Use dumb-jump as primary jump handler
Otherwise, the default is used, which prioritizes evil-goto-definition over
dumb-jump-go. Dumb Jump tends to Just Work, while evil-goto-definition doesn't
handle LaTeX very well, at least not without a TAGS table.
[latex] Update CHANGELOG.develop
Having an explicit dependency on lsp-treemacs for post-init-lsp-treemacs is no
longer necessary in the Scala layer, as lsp-metals superseeds it.
Removed lsp-metals-treeview-enable as it no longer exists.
This is a squash commit, it includes:
* Add go run and go test command variables
* Update go README for go-run-command and go-test-command
* Update CHANGELOG
As per the README, `SPC m s B' should put the REPL buffer in insert state, but
the keybinding as defined puts the racket file itself into insert state, not the
REPL. This means that on returning to the racket file buffer, the cursor is
left in insert state, which means it is easy to accidentally add unwanted text
into the file.
To fix this, a `with-current-buffer' wraps the `evil-insert-state', so that
insert state is enabled in the REPL buffer, not the file being edited.
The first time this is run, `racket-run-and-switch-to-repl' is asynchronous of
`evil-insert-state', so trying to get the Racket REPL buffer will error. To fix
this problem, we wrap the `with-current-buffer' with a check to determine that
the Racket REPL buffer is live. The first time the Racket REPL buffer is
created, the contents will not run, since the Racket REPL buffer will not yet be
live. This is fine, since we enter the REPL in insert state automagically.
This change does not need to be done to `spacemacs/racket-send-last-sexp-focus',
`spacemacs/racket-send-definition-focus', or
`spacemacs/racket-send-region-focus' since these functions follow all of their
racket-send functions with `(racket-repl)' before calling `evil-insert-state'.
flycheck-mix has been removed by the package author as being
obsolete with proper lsp and alchemist support. Therefore
the layer also has been cleared of it as it cannot longer
be found on Melpa.
As of Scala 2.13, Unicode arrows are deprecated:
* https://github.com/scala/scala/pull/7540
* https://github.com/scala/scala-dev/issues/585
* https://github.com/scala/bug/issues/11210
Using one will give a deprecation warnings like so:
> The unicode arrow `⇒` is deprecated, use `=>` instead. If you still wish to
> display it as one character, consider using a font with programming ligatures
> such as Fira Code.
As such the Scala layer's version slick capability to replace ASCII arrows with
Unicode ones is no longer useful, and I have removed it.
Based on my tests it doesn't seem that there is a need for a more graceful way
to deprecate this: i.e. nothing fails if there is extra junk in `:variables`.
Before the decision which linter to run before golangci-lint has been
taken by the layer. However this can also directly be done by the
checkers.
Also golangci-lint did run even when the previous checker still reported
errors. With this it is only called if the previous checker is satisfied.
All thanks goes to Tommi Komulainen.
Flycheck-golangci was not properly conigured which resulted in
not replacing disabled standard linters like go-test.
In addition there seems to be an issue in the current golangci
build causing the linter to fail. In this case spacemacs now
shows at least basic errors from go-build. When they are fixed
the linter should be able to work normally again.
A BEGIN_SRC block in the documents had no language specified
which would break CI.
I have also changed the eldoc setup to run each time the mode is
entered instead of only in the initially loaded buffer.
The previous way of adding dap to a layer did add the mode
unconditionally to `spacemacs--dap-supported-modes` causing
dap bindings to be added also when no lsp backend was used.
racket-xp-mode is an optional minor mode that enhances the racket-mode to
explain and explore Racket code. The racket-xp-mode is started with a mode-hook
on racket-mode. Deprecated racket-mode functions are replaced with their
racket-xp-mode versions. The remaining racket-xp-mode functions are added to
keybindings as per Spacemacs conventions.
Also add the racket-mode directory to .gitignore.
Also adjusted the tags to match the folders the layers
are in. I have also updated the binding for imenu mentioned
in protobuf layer and adapted the kubernetes tags to register
as tool instead of as os.