Commit graph

52 commits

Author SHA1 Message Date
Henrik Lissner
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
Henrik Lissner
0b48575c14
Remove def-hydra! macro alias
Causes byte-compilation issues and the alias is unnecessary.
2018-05-24 22:03:19 +02:00
Henrik Lissner
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
Henrik Lissner
f8fa07d668
Move magit from features/version-control to new tools/magit module 2018-03-14 18:33:26 -04:00
Henrik Lissner
1aa108ce02
feature/version-control: load magit autoloads #446
This prevents void-function issues with magit.
2018-03-07 03:24:35 -05:00
Henrik Lissner
963c809c70
feature/version-control: fix git-gutter-fringe not loading
Due to the new policy on package-initialize, git-gutter-fringe wouldn't
autoload properly (since we try to fool Emacs into loading it when
git-gutter-mode is called).
2018-02-28 17:57:30 -05:00
Henrik Lissner
400c7cbfa4
feature/version-control: update magit popup rule (due to upstream changes)
The leading asterix in magit buffers is sometimes omitted. This change
is experimental.
2018-02-11 04:43:34 -05:00
Henrik Lissner
9b41423537
feature/version-control: fix git-timemachine headerline
On first invokation of git-timemachine the headerline isn't visible
until you jump to another revision. This fix ensures it's visible from
the start.
2018-02-07 02:27:09 -05:00
Henrik Lissner
5210ee5f7e
feature/version-control: remove -git flag
As much as possible, I'd prefer flags to be additive rather than
subtractive. Meaning, specifying a flag should add features, rather than
disable them; simply as a general Doom convention.
2018-01-30 21:21:34 -05:00
Henrik Lissner
01b4a59f84
feature/version-control: don't manage magit popups 2018-01-09 17:44:39 -05:00
Henrik Lissner
3cbddbfd88
Generalize +evil-esc-hook into doom-escape-hook
This lets vanilla Emacs users in on having a universal "escape" key.
2018-01-06 02:38:39 -05:00
Henrik Lissner
91357a3e5d
💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
Henrik Lissner
961a55e764
Activate insert-mode in git-commit-mode #282 2017-12-20 22:10:07 -05:00
Henrik Lissner
dec16e46c7
feature/version-control: add byte-compile cookie to +git 2017-12-16 12:28:06 -05:00
Henrik Lissner
52be654cc4
General/minor refactor 2017-09-24 20:49:36 +02:00
Henrik Lissner
597bfb1a3c
Move feature/hydra into core-keybinds 2017-09-24 17:10:47 +02:00
Henrik Lissner
91783e0695
General refactor & cleanup 2017-09-15 14:37:20 +02:00
Henrik Lissner
91ff3afcd6
Autoload defhydra, remove unnecessary requires 2017-07-19 00:25:05 +02:00
Benjamin Andresen
02eccbe6c5 Cut: feature/version-control: git-gutter:clear is obsolete 2017-07-16 04:53:09 +02:00
Benjamin Andresen
3ffe496f79 Add: feature/version-control: make git-gutter hydra prettier 2017-07-16 04:53:09 +02:00
Benjamin Andresen
f4b68936a3 Add: feature/hydra: added git-gutter hydra 2017-07-16 04:52:57 +02:00
Henrik Lissner
41e8752d8f Fix git-gutter reactivating on ESC #114 2017-06-18 23:09:59 +02:00
Henrik Lissner
ec23f1f06b
Fix typo (missing package name in after! block) 2017-06-10 22:15:39 +02:00
Henrik Lissner
df4ce8616d
feature/version-control: refactor 2017-06-10 11:54:47 +02:00
Henrik Lissner
ea128027e9
Remove evil-magit; use emacs mode for magit (#102) 2017-06-10 11:54:37 +02:00
Henrik Lissner
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
Henrik Lissner
fbe782df22 Heavily redesign keybinding design
+ SPC and SPC m as leader/localleader (spacemacs-ey)
+ Move all custom keybindings to private +bindings.el file
+ Redesign+rearrange keybindings
2017-05-28 02:48:20 +02:00
Henrik Lissner
85751c519b Refactor +evil-esc-hook 2017-05-25 12:22:05 +02:00
Henrik Lissner
a6c4aace90 Better magit+shackle integration 2017-05-17 18:27:02 +02:00
Henrik Lissner
b03f2cbf48 General refactor & cleanup + update TODO 2017-05-15 20:44:25 +02:00
Henrik Lissner
25fa4e019c General refactor & cleanup
+ refactor package management
+ core-editor: describe ediff
+ core-popups: alphabetized hack blocks
+ ui/doom-modeline: refactor buffer path fn
+ feature/version-control/+git: autoload magit-blame
2017-05-14 09:56:32 +02:00
Henrik Lissner
cce294fcf6 feature/evil: refactor evil-force-normal-state advice into +evil-esc-hook 2017-05-07 19:12:48 +02:00
Henrik Lissner
ea083c91d9 feature/version-control: replace browse-at-remote with git-link 2017-05-07 00:49:18 +02:00
Henrik Lissner
6efaf8987f Merge branch 'master' into feature-add-git-timemachine 2017-04-27 18:08:33 -04:00
Henrik Lissner
74372b71ec feature/version-control: show revision info in header-line rather than minibuffer 2017-04-27 15:50:06 -04:00
Bryan Gilbert
f4b9a5986e require magit-blame when loading git-timemachine 2017-04-27 14:46:22 -04:00
Bryan Gilbert
814287b118 add git-timemachine 2017-04-27 13:21:49 -04:00
Henrik Lissner
0e8ee249ac feature/version-control: fix +vcs/git-browse{,-issues} commands 2017-04-22 21:27:54 -04:00
Henrik Lissner
0e7254d312 General cleanup + refactor 2017-04-17 02:20:07 -04:00
Henrik Lissner
5ae94b765c PRAISE BE TO THE BYTE COMPILER FOR THY SHARP QUOTES 2017-04-17 02:17:10 -04:00
Henrik Lissner
bedde0a435 feature/version-control: disable git-gutter in remote buffers 2017-04-16 11:57:33 -04:00
Henrik Lissner
c472b2360e feature/version-control: don't disable evil-snipe in magit; it should do that itself 2017-04-02 23:07:46 -04:00
Henrik Lissner
3e63d2d23b Reduce def-package magic; explicitly use :when property 2017-03-19 22:47:50 -04:00
Henrik Lissner
33c88d4f82 Revert macros to ...! name convention (elisp doesn't like @...) 2017-02-23 00:06:12 -05:00
Henrik Lissner
2f75a81716 Update modules/feature/version-control 2017-02-20 00:26:08 -05:00
Henrik Lissner
5ee7aeae97 Move git-gutter config from ui/doom to feature/version-control 2017-02-20 00:26:07 -05:00
Henrik Lissner
cf927acc07 @use-package => @def-package 2017-02-20 00:26:06 -05:00
Henrik Lissner
6c06aa0ce7 Macros now prefixed with @, instead of suffixed with ! 2017-02-20 00:26:06 -05:00
Henrik Lissner
f053980e85 Refactor def-setting!/set!; now evaluates its arguments on set! 2017-02-20 00:26:05 -05:00
Henrik Lissner
ffa1ce14cd def-popup! => set! :popup 2017-02-20 00:23:08 -05:00