java layer: convert README to org

This commit is contained in:
syl20bnr 2015-07-04 00:55:38 -04:00
parent b5e2e3773d
commit b19c3faf91
3 changed files with 149 additions and 166 deletions

View File

@ -1,165 +0,0 @@
# Java contribution layer for Spacemacs
## Description
This layer adds support for the Java language using the [Eclim](http://eclim.org)
client/server.
## Layer Installation
<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc/generate-toc again -->
**Table of Contents**
- [Java contribution layer for Spacemacs](#java-contribution-layer-for-spacemacs)
- [Description](#description)
- [Layer Installation](#layer-installation)
- [Eclim](#eclim)
- [Installation](#installation)
- [Usage](#usage)
- [Key bindings](#key-bindings)
- [Eclim key bindings in java-mode](#eclim-key-bindings-in-java-mode)
- [Project management](#project-management)
- [Maven](#maven)
- [Goto](#goto)
- [Refactoring](#refactoring)
- [Documentation, Find](#documentation-find)
- [Problems](#problems)
- [Tests](#tests)
- [Eclim keybindings in problems buffer](#eclim-keybindings-in-problems-buffer)
- [Eclim keybindings in projects buffer](#eclim-keybindings-in-projects-buffer)
<!-- markdown-toc end -->
Add this layer to your `~/.spacemacs`.
```elisp
(setq-default dotspacemacs-configuration-layers '(java))
```
and also in `~/.spacemacs` set eclipse and eclim paths:
```elisp
(custom-set-variables
'(eclim-eclipse-dirs '("~/opt/eclipse"))
'(eclim-executable "~/opt/eclipse/eclim"))
```
## Eclim
[Eclim]() provides the ability to access Eclipse code editing features (code completion, searching, code validation, and many more) via the command line or a local network connection, allowing those features to be integrated with your favorite editor.
### Installation
For installation check [official page](http://eclim.org/install.html#download)
### Usage
Currently you have to have eclimd already started. This layer doesn't try to control eclimd in no way although there's that option in `emacs-eclim` itself.
This layer uses `company` as a completion framework. If you want to use `auto-complete` I encourage you to make it configurable.
## Key bindings
### Eclim key bindings in java-mode
#### Project management
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m p j</kbd> | Information about project
<kbd>SPC m p o</kbd> | Open project
<kbd>SPC m p b</kbd> | Build project
<kbd>SPC m p d</kbd> | Delete project
<kbd>SPC m p g</kbd> | Open file in current project
<kbd>SPC m p i</kbd> | Import project
<kbd>SPC m p c</kbd> | Create project
<kbd>SPC m p k</kbd> | Close project
<kbd>SPC m p s</kbd> | Open project management buffer
<kbd>SPC m p u</kbd> | Update project
#### Maven
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m m p</kbd> | Run one already goal from list
<kbd>SPC m m R</kbd> | Run one maven goal
<kbd>SPC m m r</kbd> | Run maven goals
<kbd>SPC m m t</kbd> | Run maven test
<kbd>SPC m m i</kbd> | Run maven clean install
<kbd>SPC m m I</kbd> | Run maven install
#### Goto
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m g g</kbd> or <kbd> M-.</kbd> | go to declaration
<kbd>M-,</kbd> | jump back from go to declaration/definition
<kbd>SPC m g t</kbd> | go to type definition
#### Refactoring
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m r f</kbd> | Format file
<kbd>SPC m r r</kbd> | Rename symbol
<kbd>SPC m r i</kbd> | optimize imports
#### Documentation, Find
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m h h</kbd> | show documentation for symbol at point
<kbd>SPC m h u</kbd> | show usages for symbol at point
<kbd>SPC m f f</kbd> | general find in project
#### Problems
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m e o</kbd> | open buffer with problems
<kbd>SPC m e b</kbd> | open buffer with problems
<kbd>SPC m e a</kbd> | set all problems for next/prev action
<kbd>SPC m e e</kbd> | set only errors for next/prev action
<kbd>SPC m e w</kbd> | set warnings for next/prev action
<kbd>SPC m e f</kbd> | set only current file for next/prev action
<kbd>SPC m e n</kbd> | set all problems for next/prev action
<kbd>SPC m e n</kbd> | go to next problem
<kbd>SPC m e p</kbd> | go to previous problem
<kbd>SPC m e c</kbd> | show options with problem corrections
#### Tests
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>SPC m t t</kbd> | run JUnit tests for current method or current file or project
<kbd>SPC m t T</kbd> | run maven test phase
### Eclim keybindings in problems buffer
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>a</kbd> | show all problems
<kbd>e</kbd> | show only errors
<kbd>g</kbd> | refresh problems
<kbd>q</kbd> | quit
<kbd>w</kbd> | show only warnings
<kbd>f</kbd> | show problems only for current file
<kbd>RET</kbd> | go to problem place
### Eclim keybindings in projects buffer
Key Binding | Description
----------------------|------------------------------------------------------------
<kbd>N</kbd> | create new project
<kbd>m</kbd> | mark current project
<kbd>M</kbd> | mark all projects
<kbd>u</kbd> | unmark current project
<kbd>U</kbd> | unmark all projects
<kbd>o</kbd> | open project
<kbd>c</kbd> | go to problem place
<kbd>i</kbd> | info about current project
<kbd>I</kbd> | import existing project into the workspace
<kbd>RET</kbd> | go to current project
<kbd>D</kbd> | delete project
<kbd>p</kbd> | update project
<kbd>g</kbd> | refresh buffer
<kbd>R</kbd> | rename current project
<kbd>q</kbd> | quit

View File

@ -0,0 +1,147 @@
#+TITLE: Java contribution layer for Spacemacs
* Table of Contents :TOC@4:
- [[#description][Description]]
- [[#layer-installation][Layer Installation]]
- [[#layer][Layer]]
- [[#eclim][Eclim]]
- [[#installation][Installation]]
- [[#usage][Usage]]
- [[#key-bindings][Key bindings]]
- [[#java-mode][Java-mode]]
- [[#project-management][Project management]]
- [[#maven][Maven]]
- [[#goto][Goto]]
- [[#refactoring][Refactoring]]
- [[#documentation-find][Documentation, Find]]
- [[#problems][Problems]]
- [[#tests][Tests]]
- [[#problems-buffer][Problems buffer]]
- [[#projects-buffer][Projects buffer]]
* Description
This layer adds support for the Java language using the [[http://eclim.org][Eclim]] client/server.
* Layer Installation
** Layer
Add this layer to your =~/.spacemacs=.
#+BEGIN_SRC elisp
(setq-default dotspacemacs-configuration-layers '(java))
#+END_SRC
** Eclim
Eclim provides the ability to access Eclipse features such as code completion,
searching, code validation, and many more.
*** Installation
For installation check the [[http://eclim.org/install.html#download][official page]].
Then set the =Eclipse= and =Eclim= paths in =dotspacemacs/config=,
for instance:
#+BEGIN_SRC elisp
(setq eclim-eclipse-dirs '("~/opt/eclipse")
'(eclim-executable "~/opt/eclipse/eclim"))
#+END_SRC
*** Usage
Currently you have to have =eclimd= already started.
This layer doesn't try to control =eclimd= in no way although there's that
option in =emacs-eclim= itself.
* Key bindings
** Java-mode
*** Project management
| Key Binding | Description |
|-------------+--------------------------------|
| ~SPC m p b~ | Build project |
| ~SPC m p c~ | Create project |
| ~SPC m p d~ | Delete project |
| ~SPC m p g~ | Open file in current project |
| ~SPC m p i~ | Import project |
| ~SPC m p j~ | Information about project |
| ~SPC m p k~ | Close project |
| ~SPC m p o~ | Open project |
| ~SPC m p s~ | Open project management buffer |
| ~SPC m p u~ | Update project |
*** Maven
| Key Binding | Description |
|-------------+--------------------------------|
| ~SPC m m i~ | Run maven clean install |
| ~SPC m m I~ | Run maven install |
| ~SPC m m p~ | Run one already goal from list |
| ~SPC m m r~ | Run maven goals |
| ~SPC m m R~ | Run one maven goal |
| ~SPC m m t~ | Run maven test |
*** Goto
| Key Binding | Description |
|-------------+---------------------------------------------|
| ~M-,~ | jump back from go to declaration/definition |
| ~SPC m g g~ | go to declaration |
| ~SPC m g t~ | go to type definition |
*** Refactoring
| Key Binding | Description |
|-------------+------------------|
| ~SPC m r i~ | optimize imports |
| ~SPC m r f~ | Format file |
| ~SPC m r r~ | Rename symbol |
*** Documentation, Find
| Key Binding | Description |
|-------------+----------------------------------------|
| ~SPC m f f~ | general find in project |
| ~SPC m h h~ | show documentation for symbol at point |
| ~SPC m h u~ | show usages for symbol at point |
*** Problems
| Key Binding | Description |
|-------------+--------------------------------------------|
| ~SPC m e a~ | set all problems for next/prev action |
| ~SPC m e b~ | open buffer with problems |
| ~SPC m e c~ | show options with problem corrections |
| ~SPC m e e~ | set only errors for next/prev action |
| ~SPC m e f~ | set only current file for next/prev action |
| ~SPC m e n~ | go to next problem |
| ~SPC m e o~ | open buffer with problems |
| ~SPC m e p~ | go to previous problem |
| ~SPC m e w~ | set warnings for next/prev action |
*** Tests
| Key Binding | Description |
|-------------+---------------------------------------------------------------|
| ~SPC m t t~ | run JUnit tests for current method or current file or project |
** Problems buffer
| Key Binding | Description |
|-------------+-------------------------------------|
| ~RET~ | go to problem place |
| ~a~ | show all problems |
| ~e~ | show only errors |
| ~f~ | show problems only for current file |
| ~g~ | refresh problems |
| ~q~ | quit |
| ~w~ | show only warnings |
** Projects buffer
| Key Binding | Description |
|-------------+--------------------------------------------|
| ~RET~ | go to current project |
| ~c~ | go to problem place |
| ~D~ | delete project |
| ~g~ | refresh buffer |
| ~i~ | info about current project |
| ~I~ | import existing project into the workspace |
| ~m~ | mark current project |
| ~M~ | mark all projects |
| ~N~ | create new project |
| ~o~ | open project |
| ~p~ | update project |
| ~q~ | quit |
| ~R~ | rename current project |
| ~u~ | unmark current project |
| ~U~ | unmark all projects |

View File

@ -78,8 +78,9 @@
"mep" 'eclim-problems-previous-same-window
"mew" 'eclim-problems-show-warnings
"mff" 'eclim-java-find-generic
"mgg" 'eclim-java-find-declaration
"mgn" 'eclim-java-find-generic
"mgt" 'eclim-java-find-type
"mrc" 'eclim-java-constructor