Commit graph

72 commits

Author SHA1 Message Date
Keith Pinson
a973da57ee [scala] remove long-deprecated Ensime integration
According to its website, the Ensime project has been shut down since 2019. We
have been supporting both Ensime and Metals for [a year and a
half](https://github.com/syl20bnr/spacemacs/pull/12234#issuecomment-524916394).
Ensime's GitHub repositories, including its Emacs integration, are archived.
Meanwhile, Metals has been developed actively, regularly releasing new versions.
It has stabilized significantly, and supports an increasingly full set of
features. Scala 3 is just around the corner, and the community is poised to make
the transition smoothly and relatively quickly. Metals supports it already,
whereas of course Ensime does not and never will. In fact, Scala 2 has had
several import minor versions released since Ensime died. Now that it's 2021,
it's time to cut the baggage we are carrying around for Ensime.
2021-01-19 21:45:40 +01:00
Keith Pinson
667914e5fa [scala] provide an easy way to a small SBT buffer at frame bottom
This feels like the natural place to put it, though we could also extend this
with other values in the future. I defaulted this behavior to off in order to
not impact folks' current setup.
2021-01-11 22:54:58 +01:00
Bjarke Vad Andersen
0e9edda361 [Scala] Add lsp-metals
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.
2020-06-11 00:43:12 +02:00
Keith Pinson
f5fddc4256 [scala] drop support for Unicode arrows, now deprecated in Scala
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`.
2020-06-07 12:51:10 +02:00
Maximilian Wolff
1fd90fc1dc
Update instructions for dap integration and update existing layers
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.
2020-05-16 23:40:38 +02:00
Rodolfo Hansen
7854e57efb
Add support for DAP and lsp-treeview in scala layer
This is squash commit including below commits:

* Add support for DAP and lsp-treeview in scala layer
* Address notes from code review.
2020-04-03 18:00:45 +02:00
Maximilian Wolff
1e5cdfeedc
[scala] Avoid depending on abandoned ensime backend
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.
2020-03-12 23:59:31 +01:00
Rodolfo Hansen
2d154bec8e [scala] sbt-supershell kills sbt-mode 2019-11-28 18:41:08 +01:00
Rodolfo Hansen
9155c0b65e Lsp-scala is deprecated in favor of lsp itself 2019-09-22 21:38:18 +02:00
smile13241324
cf15de9f20 [java] Make lsp the default backend and drop eclim support 2019-09-18 21:21:55 +02:00
Teo Klestrup Röijezon
4bf5b7be7b Moved Ensime support to the Scala layer, removed Java support 2019-09-18 20:46:53 +02:00
Rodolfo Hansen
e2d9e32e92 Add lsp-scala and metals as a language backend for scala 2019-08-26 17:50:07 +02:00
duianto
ee811f7b13 Unify packages list parentheses style
problem:
some layer packages lists have the open and closing parentheses on the same line
as the first and last listed package, but most seem to have them on a separate
lines.

solution:
put the open and close parentheses on separate lines, except for lists with only
a single package, they are written on the same line as the variable name and
parentheses.

fix the lists indentation
2018-11-21 21:35:38 +00:00
syl20bnr
ebe4c60264 Revert "Defer packages by default using use-package-always-defer"
This reverts commit 29c78ce841 and all other fixes
that have been made afterwards.

The motivation is that use-package is seen by many as a replacement for
`require`. Is use-package always defer the loading of packages then is breaks
this use case, this does not respect POLA so even if it was making Spacemacs
loading faster (up to 3s faster on some startup on my machine) we just cannot
use it, it would be irresponsible. Spacemacs should be easy to use, loading
performance will come with time but it is not a priority.
2018-03-03 23:40:10 -05:00
syl20bnr
29c78ce841 Defer packages by default using use-package-always-defer
Warning now `:defer t` is implied, to force a package to load `:demand t` is
now necessary.
2018-02-27 23:32:52 -05:00
syl20bnr
326965d4ce Happy New Year 2018! 2018-01-04 02:00:25 -05:00
Robbert van der Helm
c61ae1a1c1 Add ivy support to the gtags layer
It would be much better to have a single function for each layer that
initializes ggtags, helm-gtags and counsel-gtags for a mode.
2017-12-17 22:03:01 -05:00
syl20bnr
e2e532bb49 core: change <function>p to <function>-p suffixes for consistency
Also defined aliases for backward compatibility with `usedp` functions.
2017-07-02 10:09:39 -04:00
Joao Azevedo
81aed5a423 Allow customizing if ENSIME should print types at point
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.
2017-05-14 13:07:09 -04:00
Andre Silva
ed8772fb93 scala: fix flyspell setup 2017-03-27 13:14:28 +01:00
syl20bnr
f45ce1a88e syntax-checking: rename function add-flycheck-hook to enable-flycheck
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.
2017-03-19 12:40:36 -04:00
syl20bnr
dd85084826 java: multiple backends support
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)
2017-03-19 12:40:36 -04:00
syl20bnr
40b996edff java: delete ensime layer and import it into java layer
Make scala layer depends on java layer.
2017-03-19 12:40:36 -04:00
Tor Hedin Brønner
dcba84bff4 Move initialization code to ensime layer 2017-03-19 12:40:36 -04:00
Tor Hedin Brønner
a5d6171c28 Move keybinding setup to the ensime layer 2017-03-19 12:40:36 -04:00
Tor Hedin Brønner
5199ddbfcf Rename moved scala functions
Functions under the ensime layer should start with `ensime/'
2017-03-19 12:40:36 -04:00
Tor Hedin Brønner
ab0ec8a777 Move ensime to it's own layer 2017-03-19 12:40:36 -04:00
syl20bnr
87cd00eac7 conventions: update debug conventions
Step in and Step out are now, i and o respectively.
Inspect a value is now v.
Next step is now s.

These new conventions better fit evilificiation.
2017-02-12 13:02:55 -05:00
syl20bnr
fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
Dennis Brakhane
a13471447f
Update ensime variable name
user-emacs-ensime-directory was renamed to ensime-startup-dirname
2016-11-12 14:58:17 +02:00
yanchengyang
9e52974e90 remove invalid keybindings of ensime 2016-10-17 13:22:10 +02:00
syl20bnr
ffc312b2b1 scala: move SPC m b h to SPC m b .
Per convention for transient states
2016-10-03 00:23:15 -04:00
syl20bnr
9066d073b2 Fix (void-variable spacemacs-jump-handlers-....)
Move the variable definitions to config.el and eval-after-load the
key binding on SPC m g g.
2016-09-04 22:31:47 -04:00
syl20bnr
c6a6c41d92 Replace hooks by regular list for jump lists
Hook semantic is to be used with run-hooks API and run all hooks
sequentially, jump list semantic is different since the running
functions are not guaranteed to be executed so we prefer using regular
list API to manage jump-lists.
2016-09-04 12:28:40 -04:00
Eivind Fonn
b8ca74e4b3 scala: fix sbt-hydra config and move to “bh” 2016-08-22 21:32:38 +02:00
Danny Navarro
3263860669 scala: add SPC m x for sbt-hydra
sbt-hydra:hydra renamed to sbt-hydra in key binding.
2016-08-22 21:22:31 +02:00
Eivind Fonn
5a869764dd Further improve gtags layer
- Add option to disable by default
- Use local-vars hook to allow per-project enable/disable
- Don’t enable helm-gtags-mode (no need)
- Move emacs bindings from helm-gtags-mode-map to ggtags-mode-map
2016-08-22 15:11:25 +02:00
Eivind Fonn
928983da47 Refactor jump to definition
This commit defines:

- spacemacs-default-jump-handlers: a list of functions that can jump to
  definition in ALL modes.

- spacemacs-jump-handlers-MODE: a list of functions that can jump to
  definition in MODE.

- spacemacs-jump-handlers: a buffer-local list of functions that can
  jump to definition. This is made up of the values of the two previous
  variables whenever a given major mode is activated.

- spacemacs/jump-to-definition: a function that tries each function in
  spacemacs-jump-handlers in order, and stops when one of them takes us
  somewhere new.

- spacemacs|define-jump-handlers: a macro that
  * defines spacemacs-jump-handlers-MODE, possibly filled with initial
    functions
  * defines a function that is added to the hook of the given MODE
  * binds “SPC m g g” of that MODE to spacemacs/jump-to-definition

This is an attempt to harmonize all the different approaches to jumping.
Specifically,

- Existing intelligent jump packages that work for only a single mode
  should go to the beginning of spacemacs-jump-handlers-MODE. E.g.
  anaconda for python, ensime for scala, etc.

- Packages like gtags that work for several modes (but potentially not
  all) and which is dumber than the intelligent jumpers should go the
  the END of spacemacs-jump-handlers-MODE.

- Packages like dumb-jump that work for all modes should go to
  spacemacs-default-jump-handlers.

In all cases the order of the jump handlers in each list should be from
most to least intelligent.

Fixes #6619
2016-08-22 15:08:25 +02:00
Diego Alvarez
80f8c84d64 Improve documentation for scalastyle 2016-07-25 14:09:22 +09:00
Christian E. Hopps
b22702bc9e Expand gtags use to many more languages 2016-07-17 17:31:59 +02:00
syl20bnr
136e1ee237 scala: defer ensime package and add note for scala-mode-hook 2016-07-05 00:23:16 -04:00
Diego Alvarez
e677682d1a Remove unnecessary command
as this upstream commit is already doing it:
706aa5e40b
2016-07-05 00:23:16 -04:00
Tony Lotts
768371b6fb Load Scala for org-babel 2016-07-05 00:23:16 -04:00
syl20bnr
7ca7f2827a scala: change back key bindings to SPC m h
For printing types, those key bindings are standard in spacemacs.
2016-06-05 00:44:51 -04:00
Diego Alvarez
ed1c3d2d35 Using new upstream commands
- Improve copy to clipboard
- changed and added a few commands keymap
2016-06-05 00:38:29 -04:00
Jean-Martin Archer
71c731aaf6 Use scala-mode instead of scala-mode-2 which is deprecated 2016-05-29 22:53:19 -04:00
Diego Alvarez
9cb0c1e109 Use new command to generate config
Old command doesn't exist anymore
2016-05-27 00:32:05 -04:00
Eivind Fonn
3a6db330a8 scala: Remove superfluous variable 2016-05-06 13:35:10 +02:00
tintin
eabd3b859b Add java-doc-style config to scala layer 2016-05-06 13:32:03 +02:00
syl20bnr
99d9993171 Scala: fix ensime-typecheck-current-file to ensime-typecheck-current-buffer 2016-04-04 21:52:45 -04:00