Commit graph

63 commits

Author SHA1 Message Date
duianto d2d5a649ab [java] Add SPC m a prefix name: actionable 2020-01-04 15:50:22 +01:00
duianto 4c7e1954c5 [java] Fix key binding: SPC m m t C-a
SPC m m t C-a was bound to SPC m m t C - a
2020-01-04 15:47:24 +01:00
Ivan Yonchovski 3771759ddb [java][lsp] Minor cleanup in lsp-java
- Fixed setting dap-java shortcuts - ATM the shortcuts were not enabled due to
the fact that dap-mode configuration was overriding them since it was running
after this piece of code
- removed configuration code about lsp-java since it was either about
missing properties or about setting defaults already set by lsp-mode/lsp-java
(e. g. lsp-eldoc-render-all is now nil by default)
2020-01-04 12:27:11 +01:00
Ivan Yonchovski 31a3449fca Add /** */ smartparens pair for java 2019-11-28 18:14:37 +01:00
Ivan Yonchovski 38838cce9a Fix handling of java-backend
- Without this line the lsp-java package won't be enabled when java-backend is
nil and lsp layer is present
2019-11-20 18:12:48 +01:00
syl20bnr 1e278a3cb9 Fix bad value for :requires, list is mandatory when multiple symbols
Also remove unecessary required packages for lsp-java package.
2019-11-09 09:41:40 -05:00
syl20bnr 9606dd344e [dap] Refactor configuration dap config in layers
* use local-vars-hook coupled to setup function for dap
* define new private layer variable `spacemacs--dap-supported-modes` to
  configure key bindings. This allows to move the key bindings definition from
  `funcs.el` to `packages.el`
* remove duplication of DAP key bindings in READMEs by pointing to the dap layer
  documentation
* alphabetically sort package configuration
2019-09-30 00:34:26 -04:00
syl20bnr 2b70cd5f45 [java] Remove unconfigured eldoc package 2019-09-30 00:34:26 -04:00
smile13241324 e17008ec2f [java] Fix broken "pu" binding to update user/project settings
"pu" for lsp backends called a lsp-java function which has
been deactivated in the `lsp-java` package. Replaced it with
the closest match from the same package, updating the
project settings instead.
2019-09-18 22:13:24 +02:00
smile13241324 6de34e8b2d [java] Fix various issue introduced by dropping ensime support 2019-09-18 22:00:05 +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
Ivan Yonchovski 23df5aa55e [java] Sync java lsp backend with latest lsp-java functionality
- new keybinds for the new functionality
2019-05-20 20:26:14 +02:00
Ivan Yonchovski 03e6bc0691 [java] init backends conditionally
- otherwise there are shortcut collisions
2019-04-15 21:20:32 +02:00
Seong Yong-ju cb75920bb7 Add missing key prefixes for java-mode, gradle-mode 2019-04-10 22:48:21 +02:00
Ivan Yonchovski f346ae0683 Fix java/python/javascript/rust lsp backends 2018-12-22 12:51:05 +02:00
Ivan Yonchovski fc2d220b5e dap-layer implementation
- I had some issues related to finding the corresponding shortcuts for each of
the commands and I am looking for suggestions for improvements.

- updated the lsp-java readme since the server installation is now automatic. If
you already have jdt server installation, please run lsp-java-update-server
which will download the related dap-mode related stuff.

- Make sure that you have latest melpa versions of lsp-java, lsp-ui and dap-mode
since several issues related to the java integration were fixed lately.

- dap-mode is pretty young package and it is not extensively tested

- dap-hydra which will be used as a transient state for the breakpoints and
debugging, in general, is not synched with the shortcuts in the layer. I will sync
them once there is agreement on the shortcuts configuration. Also, I have not
updated lsp-java README.org with the corresponding shortcuts for the same
reason.

- The debug integration with the python lsp layer will be implemented in
separate PR.

- There will be few more functions that are going to be added to the dap-mode at
some point and they would require shortcuts too:
* suspend/kill thread I guess - "m d t s" "m d t k"?
* watches - "m d l w"
* exception breakpoints - I have to figure out how it will look like on emacs
  side.
* goto point "m d H"?
2018-11-25 23:03:08 +00:00
kyoncho 862d873fa8 LSP Java backend for the Java layer
Fixes #10654

Added new backend for the Java.
2018-08-21 20:36:06 +01:00
gdkrmr 4af499588a fix java layer 2018-08-09 23:02:16 +01:00
syl20bnr 3f47bf8e11 Move major specific error key bindings to SPC m E prefix
Also add a convention for it.
2018-08-09 23:02:16 +01:00
Bjarke Vad Andersen ebd8bffbad scala/java: Remove broken ensime key bindings and fix yanking types 2018-07-10 23:45:33 +03:00
Miciah Masters e0b751bee3 Avoid non-idempotent use of push in init code
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).
2018-06-05 22:17:13 -04:00
Michael Rohleder 24ca355b6a add org-babel support for some of the more popular languages. (#10738)
* add org-babel support for some of the more popular languages.
* alphabetical sorted package names.
* removed blank lines at EOF.
2018-05-30 09:07:21 -04: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
EMayej Bee 971719f55c fix(java): typo 2018-03-04 10:28:12 +08:00
syl20bnr 3731d0d3fc Move major specific error key bindings to SPC m E prefix
Also add a convention for it.
2018-03-03 16:45:00 -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 17fc89f9e7 java: improve maven and gradle support (also for groovy)
Add new packages `mvn` and `maven-test-mode`.
Move `gradle-mode` configuration from groovy layer to java layer
New prefix commands `SPC m m` for maven and `SPC m l` for gradle.
Make maven and gradle commands available in java-mode.
Update documentation.
2017-12-17 18:45:46 -05:00
syl20bnr a496401e1f Move groovy configuration to its own layer and improve it
Enable company, org babel and repl.
2017-08-28 13:49:09 -04:00
Dela Anthonio 7e57b1f341 java: Add missing key bindings to README 2017-07-10 09:38:44 +02:00
Eivind Fonn f4b53d2a4f Rename :depends to :requires 2017-07-03 09:54:53 +02: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
Eivind Fonn 08561d8631 core: implement :depends for package declarations
This replaces the older pattern
:toggle (configuration-layer/package-usedp ..)

This implementation ensures that :disabled-for honors dependent packages, i.e.
if package a depends on package b, which is owned by layer c, and layer c is
disabled for layer d, then neither package a nor b will be configured for layer
d. Previously, this was only true for package a, but not b.

This commit also fixes:

- configuration-layer/describe-package now shows which post-init and pre-init
  functions are disabled, if any
- Does not recreate all layer objects unconditionally when calling
  configuration-layer/discover-layers. Previously, this led to all layers being
  recreated after e.g. `SPC h SPC`, without any of the dotfile information.
  Since this information is now necessary for
  configuration-layer/describe-package, it’s important that we don’t clear the
  indexed layers when invoking this function.
2017-06-22 11:53:05 +02:00
Eivind Fonn 4178a3de6e Add defalias for ensime-type-at-point 2017-06-21 10:07:55 +02:00
Dela Anthonio 2c2d7fe038 java: Add eclim-java-new keybinding
This commit addresses #8987.
2017-06-12 12:21:05 +02:00
WillianPaiva e1e091eee8 add a keybind for the function eclim-java-run-run 2017-05-18 23:12:56 -04:00
Diego Alvarez 6a55eba49b evilify ensime search in insert/normal mode 2017-05-14 13:44:44 -04:00
Robert O'Connor df6333d55c When using the meghanada backend with java, there is a small typo
In the compile prefix, there is a typo.
2017-04-16 11:14:59 -04:00
syl20bnr f86c55f499 Remove SPC m e bindings since Flycheck is not integrated
Use the general key bindings SPC e e, SPC e n, SPC e p, SPC e l...

SPC m e e is now for error correction.
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 04790f515d java: move command prefixes definition to funcs.el 2017-03-19 12:40:36 -04:00
syl20bnr c552c35a77 java: add groovy and gradle packages 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 824356b679 Enable ensime completions properly for java 2017-03-19 12:40:36 -04:00
Tor Hedin Brønner 9aa4bde282 Add ensime support to java
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.
2017-03-19 12:40:36 -04:00
syl20bnr 3072e72773 Replace use-package :diminish by spacemacs|hide-lighter 2017-02-13 08:38:37 -05:00
syl20bnr fb27ede558 Bump year in copyright headers
Happy New Year 2017!
2017-01-05 23:08:17 -05:00
syl20bnr 74fdbb6795 Refactor and simplify company backends declaration
Enabling a company backend for a specific mode was a tedious tasks with code
scattered at different locations, one for local variable definitions, one for
company hook function definitions and another where the backends were pushed to
the local variables (which was problematic, since we ended up pushing the same
backends over and over again with `SPC f e R`, pushes have been replaced by
add-to-list calls in the new macro).

All these steps are now put together at one place with the new macro
spacemacs|add-company-backends, check its docstring for more info on its
arguments.

This macro also allows to define arbitrary buffer local variables to tune
company for specific modes (similar to layer variables via a keyword :variables)

The code related to company backends management has been moved to the
auto-completion layer in the funcs.el file. A nice side effect of this move is
that it enforces correct encapsulation of company backends related code. We can
now easily detect if there is some configuration leakage when the
auto-completion layer is not used. But we loose macro expansion at file loading
time (not sue it is a big concern though).

The function spacemacs|enable-auto-complete was never used so it has been
deleted which led to the deletion of the now empty file core-auto-completion.el.

The example in LAYERS.org regarding auto-completion is now out of date and has
been deleted. An example to setup auto-completion is provided in the README.org
file of the auto-completion layer.
2017-01-02 00:39:04 -05:00