Commit Graph

35 Commits

Author SHA1 Message Date
06ed5ade3f refactor!(tree-sitter): add +tree-sitter flag
BREAKING CHANGE: break the global nature of the tree sitter
module by adding a +tree-sitter flag to every applicable module

In the background this hooks turn-on-tree-sitter-mode
to the major-mode-hook of the language.
This may also solve the eager loading of tree sitter
2022-05-22 21:26:00 +01:00
a7753dd058 Rename Groovy REPL command
+java/groovy-open-repl -> +java/open-groovy-repl: the old name's format
can't be found via `+eval-open-repl`
2021-04-16 23:22:30 +07:00
a776664ebc Don't load lsp-java/dap-java if +eglot
Relevant to #3999
2020-10-14 01:40:11 -04:00
849ca9b79f Fix typo: Groovy_SDK -> Groovy_JDK 2020-05-07 01:19:57 +09:00
c3d22346ad Set the docsets for Groovy 2020-05-06 23:50:45 +09:00
3e7624cfc0 Add Groovy REPL support 2020-05-06 23:49:05 +09:00
06d5d5e6c0 General refactors, reformatting & comment revision 2020-04-23 23:56:17 -04: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
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
eb4450e99c lang/java: remove finished TODO 2019-02-27 21:49:11 -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
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
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
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
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
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
bac73ec938 Replace warn => warn! 2018-02-14 07:46:38 -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
6be89e1df6 [breaking] lang/java: rewrite & new submodules #157
Split into two submodules: +eclim & +meghanada. These must be explicitly
included in lang/java's module flags in init.el.
2017-10-03 02:56:02 +02:00
ce36760e63 Refactor lang/java + auto-install meghanada server
Also enables eldoc and add meghanada jump handler.

Addresses #157
2017-07-19 00:25:05 +02:00
c7254e7bdc Major optimization refactor, across the board
+ enable lexical-scope everywhere (lexical-binding = t): ~5-10% faster
  startup; ~5-20% general boost
+ reduce consing, function calls & garbage collection by preferring
  cl-loop & dolist over lambda closures (for mapc[ar], add-hook, and
  various cl-lib filter/map/reduce functions) -- where possible
+ prefer functions with dedicated opcodes, like assq (see byte-defop's
  in bytecomp.el for more)
+ prefer pcase & cond (faster) over cl-case
+ general refactor for code readability
+ ensure naming & style conventions are adhered to
+ appease byte-compiler by marking unused variables with underscore
+ defer minor mode activation to after-init, emacs-startup or
  window-setup hooks; a customization opportunity for users + ensures
  custom functionality won't interfere with startup.
2017-06-09 00:47:45 +02:00
10ea06b661 General cleanup + refactor 2017-05-25 20:12:43 +02:00
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
7a972e50c3 lang/java: remove meghanada-install-server (does this on meghanada-mode already) 2017-03-20 21:15:18 -04:00
923d4585fa Extract make clean/clean-cache into elisp; new doom-etc-dir for non-volatile temp files 2017-03-16 23:38:22 -04:00
4356f894fd General cleanup + refactor 2017-02-28 12:12:18 -05:00
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
e14e25ecb4 Update modules/lang/* 2017-02-20 00:26:08 -05:00
f453b3cee1 Reorganize modules 2017-02-20 00:23:03 -05:00