Commit Graph

27 Commits

Author SHA1 Message Date
ad6a3d0f33 refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
d58d084774 tweak(:lang,:tools): start eglot/lsp-mode later
To ensure lsp/eglot settings have precedence over local servers (e.g.
cider and lookup handlers).

Ref: clojure-emacs/cider#3170
2022-03-30 17:32:47 +02:00
a46f741a89 feat(crystal): add spec keybinds
Adds test running shortcuts similar to :lang ruby's.
2021-12-15 22:32:21 +01:00
443370b4d7 feat(crystal): add +lsp flag and support
Since lsp-crystal is provided by lsp-mode.
2021-07-31 04:35:49 -04:00
e6417172cb Bump :tools eval
emacsorphanage/quickrun@c6ce1f3 -> emacsorphanage/quickrun@ce7383c

Crystal support was added to quickrun upstream.
2020-08-06 00:39:43 -04:00
12094788d7 Fix references to :tools fly{spell,check} 2020-01-14 03:04:26 -05:00
e1edbcb3d9 Remove dtrt-indent entries for crystal, rust & scala
They were merged upstream in jscheid/dtrt-indent/pull/49
2019-10-19 15:01:37 -04:00
4a1c781fab lang/crystal: add ameba linter support 2019-10-19 14:54:31 -04: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
69ed1a4a99 feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
c3b39be4ab lang/crystal: improve dtrt-indent support 2018-09-20 15:43:42 -04:00
c58077810d General refactor of modules
General code and comment improvements.

Also, removed the :desc's for csv-mode because map! is currently unable
to set which-key descriptions mode-locally, and should be avoided for
anything but global keybinds. This will be fixed when General is
introduced into Doom.
2018-09-09 09:58:20 -04:00
4c4a35ae86 Minor reformatting
It's no big deal. Really.
2018-06-23 22:22:42 +02: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
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
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
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
74c8b1d113 Rewrite doctor; move warn! blocks out in doctor.el files 2018-03-12 13:32:01 -04:00
bac73ec938 Replace warn => warn! 2018-02-14 07:46:38 -05:00
24bf471f55 lang/crystal: add :lookup definitions/references support 2018-02-11 03:16:03 -05:00
a2feac51b2 lang/crystal: add inf-crystal 2018-02-06 02:23:30 -05:00
59deb20b3b lang/crystal: crystal-mode & flycheck-crystal
+ Add flycheck integration for the Crystal language, powered by
  flycheck-crystal.
+ Use the ELPA source for crystal-mode. The former QUELPA soruce
  (dotmilk's fork) is no longer maintained.
2017-12-08 00:07:27 -05: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
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