Ensime seems to be finally dead, as ensime-mode is not longer
available on melpa. The same applies to ob-scala the package
which delivered scala support for org babel.
I have changed the layers default to metals and took care that
ensime is not tried to be installed until it is really selected
as a package.
In addition I have also fixed some smaller issues in the layer
which caused ensime specific settings to be forced even when
metals was selected as a backend.
I have also removed the not longer existing org-babel support
for scala as it requires ob-scala which in turn is based on ensime.
See https://github.com/hvesalai/emacs-scala-mode/issues/155 for details.
Update the version of metals referenced in the metals installation
instructions, so that an old version of the metals binary doesn't get installed
by accident.
Replace push with add-to-list in layer init functions and related code.
Modify spacemacs|add-toggle to check for and update an existing toggle in
spacemacs-toggles and only create a new toggle if none already existed.
Replace a conditional push onto erc-packages with use of :toggle.
When initializing which-key, set which-key-replacement-alist to its default
or customized setting before adding all the Spacemacs replacements. We
want to keep the stock replacements but avoid adding duplicates of the
Spacemacs replacements.
Replace the emacs-lisp-mode-hook lambda with a named function to avoid
adding duplicate hooks (which can add duplicate definitions of the
evil-surround pair).
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)