Commit Graph

114 Commits

Author SHA1 Message Date
57e019e62e Remove unnecessary dap-mode dependency
Only needed this when I was auto loading the jt lens. This should also
be conditional on the debugger module being enabled.
2020-05-06 07:52:33 +01:00
75305f095f Fix lsp-jt-root in case someone wants to experiment with java-test 2020-05-06 07:47:04 +01:00
642efaf2b4 Move hook into use-package, remove update-lsp-server 2020-05-06 07:43:38 +01:00
eb738d9e3a Remove jt stuff 2020-05-05 16:31:14 +01:00
72eaf530cf Make some improvements to java +lsp
This is a first pass at making `+lsp` more functional:

* Fix lsp not starting automatically when opening java-mode buffers.
Placing it in the lsp-java hook does not work.
* Enable the code lens for test classes.
* Add a keybinding/function to easily update the eclipse LSP server.
* Add a keybinding to bring up the lsp-jt-browser (the treemacs based
browser that lists all the project tests).
* Fix root path for lsp-jt.

There are still a lot of rough edges here, and I don't think it's quite
usable yet, mostly due to issues around the java test mode (lsp-jt). The other
functionality all seems to work well though.
2020-05-05 13:23:15 +01:00
8cc8033a06 First draft for java documentation (#2713)
* Added template and description for module flags

Because +lsp and +meghanada are mutually exclusive I thought I would
create a separate section for each feature and add descriptions what
they each offer. So far only +lsp is done.

* First draft for java documentation

The second plugin +meghanada is explained as well as some instructions
how to install JDK 11 and OpenJDK 11.

* Do requested edits to README

* Regenerate TOC in readme

* Reformat README

Co-authored-by: Henrik Lissner <accounts@v0.io>
2020-04-29 00:05:13 -04:00
06d5d5e6c0 General refactors, reformatting & comment revision 2020-04-23 23:56:17 -04:00
83b6f74d11 Minor refactors & reformatting 2020-03-27 21:39:27 -04:00
0fa93a089f Bump :lang
Alexander-Miller/company-shell@HEAD -> Alexander-Miller/company-shell@52f3bf2
FStarLang/fstar-mode.el@HEAD -> FStarLang/fstar-mode.el@aaaf256
JuliaEditorSupport/julia-emacs@5238f9a -> JuliaEditorSupport/julia-emacs@1c122f1
Kungsgeten/org-brain@6b7fced -> Kungsgeten/org-brain@cae8e22
OVYA/php-cs-fixer@6540006 -> OVYA/php-cs-fixer@95eace9
ProofGeneral/PG@2a17093 -> ProofGeneral/PG@9196749
aaronjensen/eslintd-fix@98c669e -> aaronjensen/eslintd-fix@0c43114
abicky/nodejs-repl.el@8b90948 -> abicky/nodejs-repl.el@6fad7d7
abo-abo/org-download@3c48102 -> abo-abo/org-download@b96fd7b
agda/agda@74d9fd5 -> agda/agda@ff9173e
alf/ob-restclient.el@c5c22e6 -> alf/ob-restclient.el@f7449b2
ananthakumaran/tide@1878a09 -> ananthakumaran/tide@3b45610
bastibe/org-journal@9d40f62 -> bastibe/org-journal@664c08e
brotzeit/rustic@373f5a1 -> brotzeit/rustic@61032ea
clojure-emacs/cider@7437c67 -> clojure-emacs/cider@52dcc60
clojure-emacs/clj-refactor.el@e24ba62 -> clojure-emacs/clj-refactor.el@92d3723
cpitclaudel/company-coq@6e8bc2e -> cpitclaudel/company-coq@f9dba9d
cython/cython@f6bf6aa -> cython/cython@48dc1f0
defunkt/coffee-mode@86ab8aa -> defunkt/coffee-mode@35a41c7
dgutov/robe@8190cb7 -> dgutov/robe@68503b3
diml/utop@7c99d8c -> diml/utop@30c77ce
dzop/emacs-jupyter@d4b06c5 -> dzop/emacs-jupyter@de7af25
emacs-ess/ESS@a2be8cb -> emacs-ess/ESS@625041a
emacs-lsp/lsp-haskell@6d481f9 -> emacs-lsp/lsp-haskell@582fa27
emacs-lsp/lsp-java@dbeeee9 -> emacs-lsp/lsp-java@6efb741
emacs-php/php-mode@cade4ce -> emacs-php/php-mode@b5d9988
emacs-php/phpactor.el@5ccf65d -> emacs-php/phpactor.el@31fe2ea
emacs-php/phpactor.el@5ccf65d) -> emacs-php/phpactor.el@31fe2ea)
emacs-straight/csv-mode@fbf942e -> emacs-straight/csv-mode@6353374
emacs-straight/org-mode@0a8faec -> emacs-straight/org-mode@ba68555
emacs-typescript/typescript.el@a0f2c3e -> emacs-typescript/typescript.el@102587e
emacsorphanage/gnuplot@a406143 -> emacsorphanage/gnuplot@f0001c3
erlang/otp@c15eb5f -> erlang/otp@3065fbf
factor/factor@a62ea78 -> factor/factor@497d649
felipeochoa/rjsx-mode@014c760 -> felipeochoa/rjsx-mode@0061587
fxbois/web-mode@d1b6660 -> fxbois/web-mode@b0bb4ab
greghendershott/racket-mode@5f396fa -> greghendershott/racket-mode@bd4c8cf
haskell/haskell-mode@4a87d72 -> haskell/haskell-mode@7032966
jaor/geiser@645e477 -> jaor/geiser@83ad875
joaotavora/sly@cfecd21 -> joaotavora/sly@1382bda
jorgenschaefer/emacs-buttercup@178c795 -> jorgenschaefer/emacs-buttercup@b360e35
leanprover/lean-mode@f26e40d -> leanprover/lean-mode@65b55b1
leanprover/lean-mode@f26e40d -> leanprover/lean-mode@65b55b1
ledger/ledger-mode@a514953 -> ledger/ledger-mode@7d78645
mgyucht/jsonnet-mode@2b90b4e -> mgyucht/jsonnet-mode@d8b486c
necaris/conda.el@814439d -> necaris/conda.el@335474e
nonsequitur/inf-ruby@e4ae089 -> nonsequitur/inf-ruby@41e5ed3
ocaml-ppx/ocamlformat@dba4487 -> ocaml-ppx/ocamlformat@5282e04
ocaml/dune@f3df7ab -> ocaml/dune@1944d0f
ocaml/merlin@f6954e9 -> ocaml/merlin@37e38e4
polymode/poly-R@0443c89 -> polymode/poly-R@51ffeb6
polymode/polymode@3eab3c9 -> polymode/polymode@44265e3
purcell/flycheck-ledger@2065bea -> purcell/flycheck-ledger@628e25b
purescript-emacs/psc-ide-emacs@2a93944 -> purescript-emacs/psc-ide-emacs@7fc2b84
s-kostyaev/ivy-erlang-complete@7d60ed1 -> s-kostyaev/ivy-erlang-complete@c443dba
seagle0128/grip-mode@1a61bb7 -> seagle0128/grip-mode@9615c47
skeeto/skewer-mode@123215d -> skeeto/skewer-mode@e5bed35
tpapp/julia-repl@b11a572 -> tpapp/julia-repl@5fa04de
wwwjfy/emacs-fish@688c82d -> wwwjfy/emacs-fish@db257db
xuchunyang/elisp-demos@bec206b -> xuchunyang/elisp-demos@0d74766
yjwen/org-reveal@0d947cb -> yjwen/org-reveal@ea8b502
2020-03-27 16:57:56 -04:00
83072d5440 Load lsp-java sooner
So its server appears in M-x lsp-install-server
2020-03-06 20:38:34 -05:00
a9402cfb55 Fix #2373: bring back package pinning
This needs some serious refactoring...
2020-01-25 19:02:00 -05:00
4cc14389e8 PIN ALL THE PACKAGES 2020-01-14 22:32:11 -05:00
12094788d7 Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
1c7ba9d2cb Set the directory for the Java LSP workspace 2019-12-26 14:31:51 +02:00
0ec0ff5ecb Minor refactors; unbind F1 from company active map 2019-12-13 14:25:30 -05:00
996188250b Minor refactors & comment revision 2019-12-06 17:16:34 -05:00
9b25582be1 Reduce list of root files projectile searches for
And define them on a per-module basis. This reduces the number of file
checks it performs, particularly for non-project files.

Might help #1317
2019-10-19 22:22:49 -04:00
051bceb0a8 Refactor localleader keybinds #1270
Introduces a select few of the localleader keybind standards proposed in
issue #1270, corrects a few typos and introduces more localleader
keybinds in general.

Co-authored-by: yuhan0 <>
2019-10-04 22:04:47 -04:00
a3e262c7ac 💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
76cacb5bfe 💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
7c9e9a3446 Move lsp! to local-vars hooks
- Set lsp-java-server-install-dir
- Use lsp! instead of lsp in lang/cc
2019-07-07 01:58:08 +02:00
90922caad0 lang/java: remove vestigial function call
Reported by @ztlevi
2019-05-03 19:44:38 -04:00
c399c07694 Add :tools lsp checks for +lsp flag
Also:
- Reorganizes some :lang modules' packages.el file.
- Adds setuptools check in lang/python
- Adds javac check in lang/java
- Removes the depends-on! macro
2019-04-24 18:16:05 -04:00
eb3c569e1d Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
eb4450e99c lang/java: remove finished TODO 2019-02-27 21:49:11 -05:00
69ed1a4a99 feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
cb923eadcc Add basic LSP support
Still needs to be documented, but includes support for the following
languages:

+ C/C++/ObjC
+ Go
+ Java
+ Javascript
+ OCaml
+ PHP
+ Python
+ Ruby
+ Scala
+ Swift
+ HTML/CSS

Relevant to #460, #716, #1186
2019-02-21 19:13:35 -05:00
99e916348a lang/java: fix java namespace resolution #1098
Now uses slightly more sophisticated namespace resolution when
populating the *.java file template.
2019-01-21 17:39:39 -05:00
3f195614d9 Normalize :leader/:localleader keybinds
Evil states no longer apply to them. Also removes x-alt-keysym.
2018-12-23 23:54:27 -05:00
06cf518af8 lang/java: set meghanada-use-* vars earlier
Fixes a race condition where certain features ended up enabled too late
for the first buffer.
2018-10-06 20:44:25 -04:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
84abac6b69 Remove def-menu!; use :localleader keys instead
def-menu was clumsy. We could use a better UI for refactoring commands,
but they should be available via localleader keybinds in any case.
2018-09-09 09:58:18 -04:00
e05d7cfee0 Change flycheck initialization strategy
Initialize it globally and turn it off where needed, instead of enabling
it on demand. Also fixes void-function: flycheck-mode errors when
:feature syntax-checker is disabled. This is experimental.

Indirectly fixes #710
2018-06-22 01:49:20 +02:00
435c940af9 Remove unused setting :company-dict-minor-mode 2018-06-16 00:40:37 +02:00
4d017ae19e Replace :yas-minor-mode with set-yas-minor-mode! 2018-06-15 18:03:50 +02:00
c0251aacee Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
588359cc5f Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
1a452b6842 💥 Change first arg of load! macro
load!'s first argument is no longer a symbol (that will cause
void-variable errors now) to save on unnecessary interning and simplify
compile-time logic. It accepts any valid form that evaluates to a string
now.

If you use load!, you need to change its argument to a string!

e.g. (load! +my-module) => (load! "+my-module")
2018-05-27 12:52:28 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
4ee0b5ba6d New macros file-exists-p! & project-file-exists-p!
The latter replaces the doom-project-has! macro
2018-05-24 21:15:17 +02:00
6b573bc66b Refactor :lang auto-mode-alist entries 2018-05-07 19:26:31 +02:00
d67496e007 Fix vestigial references to warn! macro
This macro was removed some time ago (and moved to doom-doctor). Where
necessary, these warnings have been moved to that module's doctor.el
file.
2018-04-28 03:49:46 -04:00
135ebd925f Enable global-eldoc-mode; less work for me! 2018-04-23 00:34:03 -04:00
bac73ec938 Replace warn => warn! 2018-02-14 07:46:38 -05:00
42cee2e046 Update :jump => :lookup 2018-01-05 23:57:48 -05:00
a74218f490 lang/java: remove redundant server-install code + minor refactor
meghanada-mode already auto-installs the server. It doesn't need our
help.
2017-12-22 15:17:07 -05:00
fe02905d22 lang/java: don't install meghanada when compiling 2017-12-17 00:03:45 -05:00
b14198dedf Extend byte-compile ;;;###if support to other elisp files 2017-12-10 16:57:51 -05:00
9d81bc5a8b Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00