Commit Graph

27 Commits

Author SHA1 Message Date
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
d59405b282 Minor comment revision & refactors 2019-07-23 00:30:45 +02:00
7c9e96da87 General module refactor 2019-03-02 02:04:11 -05:00
69ed1a4a99 feature/{syntax-checker,spellcheck} -> tools/fly{check,spell} 2019-02-22 00:25:30 -05:00
d6cb0ec5f5 General cleanup & minor refactoring 2018-12-22 04:25:15 -05:00
c2bce8cee4 lang/elixir: src_block{,_end} commented out 2018-12-06 17:09:00 +11:00
1dc3e5289b lang/elixir: add pretty-symbols 2018-12-06 17:05:50 +11:00
3a23ff56cd General formatting & minor refactors 2018-09-02 17:20:19 +02:00
92cfcf3627 lang/elixir: conditionally install flycheck-credo
And register flycheck-credo after elixir-mode loads.
2018-09-01 16:17:52 +02:00
f30a210428 Add flycheck-credo for lang/elixir 2018-08-31 11:28:28 +02:00
cba5270a7c Fix sp-elixir-skip-def-p void-function error #712 2018-06-25 20:19:33 +02:00
8a4f15b01c Refactor smartparens default rules
Move them to config/default, but move single-lang-specific ones to their
respective modules.
2018-06-25 15:54:38 +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
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
8cab2f19fd Remove redundant config & auto-mode-alist entries
Much of this config is done in package autoloads, and now that
auto-mode-alist is cached in doom-package-alist (after reading autoload
files), we can save some space by removing redundant config.
2018-05-14 20:48:14 +02:00
dc33c72d19 Refactor removal of default smartparens rules for certain modes 2018-04-18 18:29:48 -04:00
8c0a4cfbef lang/elixir: refactor smartparens+use-package config 2018-03-27 19:42:56 -04:00
84e98f1bee Add REPL definition for elixir-mode. 2018-03-26 20:19:48 +02:00
42cee2e046 Update :jump => :lookup 2018-01-05 23:57:48 -05:00
47da56b221 lang/elixir: simplify alchemisy-company :after property 2017-12-18 13:15:09 -05:00
682ff5500a lang/elixir: refactor; fix smartparens & alchemist integration
Fixes #294
2017-12-18 13:14:52 -05:00
d7eb095fbd support exs extensions as well 2017-06-28 01:32:14 -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
f80a2d6707 Added elixir lang support 2017-05-24 15:00:52 +03:00