Commit graph

175 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
8aa7772e4e
tools/lsp: prevent ~/.emacs.d/lsp-cache creation #1587
And prefix lsp folders with "lsp-".
2019-07-23 16:51:57 +02:00
Henrik Lissner
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
Henrik Lissner
951a414ca4
tools/lsp: disable unneeded sideline/eldoc features 2019-07-22 02:37:47 +02:00
Henrik Lissner
060ede0e2e
General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
5cabbef6ef
tools/lsp: fix company-lsp not being enabled
Due to a load-order issue between company and lsp.
2019-07-05 23:42:06 +02:00
Henrik Lissner
eb42f95777
tools/lsp: noop lsp! if used more than once 2019-07-05 19:08:11 +02:00
Henrik Lissner
7df4e252fd
tools/lsp: refactor out dash 2019-06-30 13:20:46 +02:00
Henrik Lissner
8de5e98905
tools/lsp: fix #1524 2019-06-30 12:16:03 +02:00
Henrik Lissner
2f268e80bb
tools/lsp: fall back to lsp-find-{definitions,references} #1521
When lsp-ui-mode is disabled.
2019-06-29 01:36:24 +02:00
Henrik Lissner
a9ca62070c
tools/lsp: reduce lsp's self-configuring eagerness
The original `lsp' initializes too much, too quickly. Things like
flycheck, company, and yasnippet. Doom's modules already handle these
just fine, so we advice it to leave it to us to handle. I intentionally
avoid disabling lsp-auto-configure because doing so is much more
destructive than I'd like.

This update prevents lsp-ui-mode from being auto-enabled on lsp-mode.
You can now (remove-hook 'lsp-mode-hook #'lsp-ui-mode) to disable
lsp-ui.

This update also adds these two hooks:

+ +lsp|init-company (on `lsp-mode-hook')
+ +lsp|init-ui-flycheck-or-flymake (on `lsp-ui-mode-hook')
2019-06-29 01:36:24 +02:00
Henrik Lissner
2214c3175e
Minor tweaks across the board 2019-05-21 00:34:32 -04:00
Henrik Lissner
87899124ab
Disable lsp-ui-doc by default
In the interest of performance and simplicity. lsp-ui-doc is redundant
with +lookup/documentation and eldoc (which are less imposing than
lsp-ui-doc's childframe).

Also sets lsp-groovy-server-install-dir.
2019-05-17 02:05:33 -04:00
Henrik Lissner
96ca04d488
Set lsp lookup handlers rather than remapping them
Now that the lookup module has beter deferred handler support.
2019-05-03 20:03:32 -04:00
Henrik Lissner
d811f58ed2
+lookup/documentation -> lsp-describe-thing-at-point
More reliable in lsp-mode
2019-04-19 20:55:44 -04:00
Henrik Lissner
e7e1383b08
tools/lsp: replace lookup commands w/ lsp-ui-peek 2019-04-16 20:56:52 -04:00
Henrik Lissner
f9b6f6746f
General, minor refactor/reformatting 2019-04-08 23:03:19 -04:00
Henrik Lissner
ffe297bc7f
lang/haskell: rewrite README + minor refactor
- Documents lsp-haskell
- Use hie-wrapper on MacOS
- Update tools/lsp README to include :lang haskell
- Mention cabal-new-repl setting (#1140)
2019-04-07 16:46:59 -04:00
Henrik Lissner
fa95984427
tools/lsp: add basic README 2019-04-06 01:37:11 -04:00
Henrik Lissner
eb3c569e1d
Replace +lsp|init with lsp! autodef 2019-03-02 01:34:19 -05:00
Henrik Lissner
94a57f695e
Fix LSP restart prompt when killing Emacs 2019-02-28 13:50:59 -05:00
Henrik Lissner
5ee4f03ce7
tools/lsp: no prompt for project root & autokill servers 2019-02-26 22:57:34 -05:00
Henrik Lissner
5e24c93d4c
tools/lsp: move lsp-session-file to doom-etc-dir 2019-02-24 13:52:02 -05:00
Henrik Lissner
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