Commit Graph

12 Commits

Author SHA1 Message Date
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