Commit graph

64 commits

Author SHA1 Message Date
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
Alexander Kjeldaas
adfccb147b Added gradle instructions. 2017-12-17 18:58:17 -05:00
syl20bnr
4c7bd2fde1 java: make java layer depend on groovy layer 2017-12-17 18:45:46 -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
Joao Azevedo
d947556406 Add ENSIME jump handlers to the proper modes
Move scala handler to scala layer
2017-12-17 15:24:47 -05:00
smile13241324
1df1a06d5b Fix documentation for java, major-modes and purescript layer 2017-12-03 17:55:27 +02:00
syl20bnr
8a5771559e core: change scope of elpa stable variables
make them public when they are used outside of core-configuration-layer.el
make them private when they are used only on this file.
2017-11-01 23:23:34 -04: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
JAremko
06301b2212 Improve exporting/testing 2017-08-18 20:50:21 +03: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
Joao Azevedo
61737e6d79 Replace usage of ensime-print-type-at-point by ensime-type-at-point
The `ensime-print-type-at-point` method was recently renamed to
`ensime-type-at-point`. This fixes the method call.
2017-06-21 10:03:00 +02:00
Dela Anthonio
2c2d7fe038 java: Add eclim-java-new keybinding
This commit addresses #8987.
2017-06-12 12:21:05 +02:00
Diego Alvarez
dfa18dafc3 Make ensime use stable version as unstable is for ensime devs 2017-05-24 12:22:20 +02:00
JAremko
6c5a0b2b14 update docs to the new toc-org format 2017-05-22 18:35:37 +03:00
WillianPaiva
e1e091eee8 add a keybind for the function eclim-java-run-run 2017-05-18 23:12:56 -04:00
Robert (Robby) O'Connor
097f341eac Fix typo in java layer README 2017-05-18 18:53:08 +02:00
syl20bnr
bff206af37 Fix last documentation errors
Should be good now :-)
2017-05-14 23:05:26 -04:00
syl20bnr
8ece2fd1f2 Fix documentation error reported by Travis 2017-05-14 22:56:42 -04:00
Diego Alvarez
6a55eba49b evilify ensime search in insert/normal mode 2017-05-14 13:44:44 -04:00
JAremko
c1e4556882 Format and cleanup docs. Fix links. 2017-04-28 23:29:14 -04:00
syl20bnr
7554affd49 Remove additional CUSTOM_IDs from docs 2017-04-17 19:36:38 -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
Tor Hedin Brønner
6885863e8b java: Update ensime documentation 2017-03-26 13:31:17 -04:00
syl20bnr
c9d332fbf1 java: refactor documentation to put meghanada first 2017-03-19 13:24:05 -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
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
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
Romanos Skiadas
fa16fa90e0 Fix eclim documentation in Java layer
`eclim-eclipse-dirs` is a list, not a string.
2016-10-23 19:44:35 +02: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
2f4b05ddf5 Fix java layer after eclim package refactor 2016-08-30 16:03:19 +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 Berrocal
219d891475 Update emacs-eclim package name
I think MELPA has an `old-names` back
[compatibility](https://github.com/melpa/melpa/issues/4159) measure for
cases like this, but for now it isn't working. And it's breaking all new
installs that use the java layer.
2016-08-18 21:12:15 +02:00
Eivind Fonn
269916e908 Shorter lines in java/README.org 2016-08-05 21:18:32 +02:00
Ellis Kenyo
229ef0c05c Update the Java layer to support eclimd
Signed-off-by: Ellis Kenyo <elken@mykolab.com>
2016-08-05 21:15:58 +02:00
Christian E. Hopps
b22702bc9e Expand gtags use to many more languages 2016-07-17 17:31:59 +02:00
syl20bnr
07852abad5 Format documenation files with doc-fmt tool 2016-04-12 23:31:38 -04:00