Commit Graph

2420 Commits

Author SHA1 Message Date
Henrik Lissner
a19a64b16b
Complain if using Emacs <25
More helpful than advice-add errors.
2018-05-19 18:01:54 +02:00
Henrik Lissner
fa37d7b05e
Refactor core initialization process
A vastly simpler bootstrap process.

Also load core libs in core-lib (duh)
2018-05-19 16:42:48 +02:00
Henrik Lissner
59f510e85f
Add four new functions for keywords & file collection 2018-05-19 16:32:12 +02:00
Henrik Lissner
f16aa539c7
Fix window is not a live frame error #596 2018-05-18 22:06:10 +02:00
Henrik Lissner
ee386f8461
Fix wrong-number-of-args error when installing packages
The fourth argument of map-put is an Emacs 26+ only feature.
2018-05-18 18:47:19 +02:00
Henrik Lissner
3d0745c3ec
Add automatic indentation-detection (experimental)
Editorconfig is given precedence. If it successfully sets an
indent_style or indent_size for the current buffer, automatic
indentation detection will be disabled.
2018-05-18 01:28:41 +02:00
Henrik Lissner
80adb9c1f6
General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
Henrik Lissner
50401f6c09
Minor refactor of package management api 2018-05-18 01:11:20 +02:00
Henrik Lissner
7aecb85c34
Reverse order of operations for doom//reload-packages 2018-05-18 01:10:05 +02:00
Henrik Lissner
340aa0449c
Rewrite & optimize autoload generation logic
Now includes package autoloads (which allows us to shed some fat from
various module configs, but that'll come later).
2018-05-18 01:09:14 +02:00
Henrik Lissner
82f9fb7027
Optimize package management commands
Effectively halving run time on package install, update and autoremove
commands.
2018-05-18 01:08:28 +02:00
Henrik Lissner
e2f99a8c24
Load core-lib sooner 2018-05-17 22:44:20 +02:00
Henrik Lissner
cea750fc55
Rename doom|ansi-color-apply => doom|compilation-ansi-color-apply 2018-05-17 17:29:23 +02:00
Henrik Lissner
b01893bef2
Disable whitespace-mode in childframes 2018-05-17 17:29:07 +02:00
Henrik Lissner
51cc1e8908
No fringes in minibuffer or which-key buffers 2018-05-17 17:28:44 +02:00
Henrik Lissner
4f9cb60e07
Start server sooner 2018-05-17 15:29:54 +02:00
Henrik Lissner
02e4c15b8e
Move avy/ace-link from core-editor to core-ui 2018-05-17 15:29:29 +02:00
Henrik Lissner
3853fdbf8d
Fix doom|protect-visible-buffers protecting temporary buffers 2018-05-17 15:16:28 +02:00
Henrik Lissner
49d431ee4e
Trigger switch-buffer hooks on pop-to-buffer 2018-05-17 12:11:34 +02:00
Henrik Lissner
4fba57e954
Fix trapped-in-prompt cursor issue in minibuffer 2018-05-17 12:11:19 +02:00
Henrik Lissner
9b0dbe20b0
doom//refresh-packages -> doom//reload-packages (consistency) 2018-05-16 18:26:56 +02:00
Henrik Lissner
a1e49d174a
Exclude {packages,doctor}.el from make compile
These two files shouldn't be byte-compiled. Until now it was expected
that you'd include a no-byte-compile: t header in these files. This is
more convenient.
2018-05-16 18:13:07 +02:00
Henrik Lissner
673d3ed147
Prevent duplicate entries in doom-auto-minor-mode-alist 2018-05-16 13:14:46 +02:00
Henrik Lissner
262b2f957b
Fix associate! not enabling minor modes for :files/:modes/:when
Fixes #585
2018-05-16 13:14:46 +02:00
Henrik Lissner
377e8a7b3c
Refactor doom-initialize; error handling for faulty autoloads 2018-05-16 10:50:01 +02:00
Henrik Lissner
3e6d7f174a
Optimize make autoloads & improve path expansion
Make autoloads will expand the include paths of Doom autoload cookies.
This fixes an issue where paths were expanded to include a file
extension, bypassing the benefits of byte-compilation.
2018-05-16 10:50:01 +02:00
Henrik Lissner
b4a7e5348a
Autoload smartparens commands
Turns out I *do* need these!
2018-05-16 00:58:04 +02:00
Henrik Lissner
980f5e470b
Fix edge case where package autoloads would break startup
Particularly in the case of gh loading eieio and marshal.
2018-05-16 00:57:31 +02:00
Henrik Lissner
e7a1e0b4a2
Improve interactive package management support 2018-05-16 00:11:14 +02:00
Henrik Lissner
595109209a
Fix doom//reload & optimize make all task 2018-05-16 00:11:14 +02:00
Henrik Lissner
1e004a5638
Change undo-tree deferral to before switch buffer 2018-05-16 00:11:14 +02:00
Henrik Lissner
9aa346f185
Make packages! accept list of package names (non lists)
This convenience macro lets you specify multiple packages with one
block, e.g.

  (packages! rtags ivy-rtags glsl-mode)

Each entry can be a full recipe.

  (packages! (rtags :disable t) (glsl-mode :recipe (...)))
2018-05-16 00:11:14 +02:00
Henrik Lissner
0dfe1bc3d5
Allow chained package!'s
This allows users to disable one master package, thus disabling all its
children. e.g. Disable irony, then irony-eldoc, flycheck-irony,
company-irony and company-irony-c-headers will be disabled too.
2018-05-16 00:11:14 +02:00
Henrik Lissner
09ecce0073
Fix package! :disable not disabling packages 2018-05-16 00:11:14 +02:00
Henrik Lissner
b6813393d8
Remove custom helpful pretty-printer; default is superior 2018-05-16 00:11:14 +02:00
Henrik Lissner
4734d55edc
Revert smartparens deferral until first before-switch-buffer 2018-05-15 22:19:37 +02:00
Henrik Lissner
18e6a6b1db
Include package autoloads in doom-autoloads-file
This offloads some of the work Doom has to do creating
`doom-packages-file` onto `make autoloads`. This closely mimics the
package-quickstart-refresh functionality in Emacs 27+, but is more
specialized.

This means package autoloads are now loaded on every startup.

Many :mode, :interpreter, and :commands declarations in def-package!
blocks are made redundant by this and will be cleaned up soon.
2018-05-15 22:17:43 +02:00
Henrik Lissner
8428a7a4ef
Autoload smartparens library 2018-05-15 22:07:44 +02:00
Henrik Lissner
7c97fd3c73
Load smartparens a little sooner (fix sp-with-modes error) 2018-05-15 21:52:09 +02:00
Henrik Lissner
12013b4ad4
Cache interpreter-mode-alist in doom-packages-file too 2018-05-15 21:49:51 +02:00
Henrik Lissner
c36e127ec5
Rethink core package deferral hooks
Ensure they are available exactly when they can be useful, but no
sooner.
2018-05-15 21:49:51 +02:00
Henrik Lissner
97b8c04dbb
def-package!: specify id for deferred-load transient hooks
Makes them easier to identify in hook lists.
2018-05-15 21:49:51 +02:00
Henrik Lissner
6b8520d189
Change add-transient-hook! to take hook suffix as 2nd arg
By default, transient hooks are defined as doom-transient-hook-N, where
N is a counter. This makes debugging them difficult.

Now, you may specify an id for the second argument. e.g.

  (add-transient-hook! 'find-file-hook load-evil (require 'evil))

Will define doom|transient-hook-load-evil, which is easier to debug and
remove, if necessary.
2018-05-15 21:49:51 +02:00
Henrik Lissner
af079e5f6f
Remove unused doom-deferred-packages variable 2018-05-15 21:49:51 +02:00
Liu, Joey
86b6fab18e Add: ace-link-mu4e autoload 2018-05-15 09:30:21 -04:00
Henrik Lissner
70d0ce4528
Fix error when def-package-hook! was used anywhere 2018-05-15 11:23:44 +02:00
Henrik Lissner
032203ef99
hscroll-margin = 2
So that moving to the ends of a sentence don't sometimes leave the
cursor beyond the edge of the screen in GUI Emacs.
2018-05-15 10:54:45 +02:00
Henrik Lissner
a6c6686628
Enable global-undo-tree-mode after setting variables 2018-05-15 10:54:45 +02:00
Henrik Lissner
94f9e43f25
Rewrite :defer semantics
:defer now supports a hook, a cons cell with (SYMBOL . INTEGER) where
SYMBOL is a hook and INTEGER is a number of idle seconds before the
package is autoloaded, or just the integer (as per the default behavior
of :defer).

Also fixes an issue where switch-buffer-deffered packages (like
smartparens) wouldn't load.
2018-05-15 10:54:45 +02:00
Henrik Lissner
1320d83834
Fix doom/info displaying nil module flags 2018-05-15 03:15:45 +02:00